annotate SimoleonUITests/SimoleonUITests.swift @ 138:081f0857af51

Fix test crashing
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Mon, 16 Aug 2021 19:10:25 +0100
parents edc8719905fe
children 4271fb5f69e2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // SimoleonUITests.swift
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // SimoleonUITests
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 08/07/2021.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import XCTest
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 class SimoleonUITests: XCTestCase {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 override func setUpWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 // Put setup code here. This method is called before the invocation of each test method in the class.
132
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
14 if UIDevice.current.userInterfaceIdiom == .pad {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
15 XCUIDevice.shared.orientation = .landscapeLeft
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
16 }
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
17
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
18 let app = XCUIApplication()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
19 app.launch()
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 // In UI tests it is usually best to stop immediately when a failure occurs.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 continueAfterFailure = false
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 override func tearDownWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 // Put teardown code here. This method is called after the invocation of each test method in the class.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 }
132
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
30
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
31 func testTabBar() throws {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
32 let app = XCUIApplication()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
33 if UIDevice.current.userInterfaceIdiom == .pad {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
34 app.tables["Sidebar"].buttons["NavigateToConversion"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
35 XCTAssertTrue(app.staticTexts["Convert"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
36
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
37 app.tables["Sidebar"].buttons["NavigateToFavorites"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
38 XCTAssertTrue(app.staticTexts["Favorites"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
39
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
40 app.tables["Sidebar"].buttons["NavigateToSettings"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
41 XCTAssertTrue(app.staticTexts["Settings"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
42 } else {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
43 app.tabBars.buttons.element(boundBy: 0).tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
44 XCTAssertTrue(app.staticTexts["Convert"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
45
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
46 app.tabBars.buttons.element(boundBy: 1).tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
47 XCTAssertTrue(app.staticTexts["Favorites"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
48
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
49 app.tabBars.buttons.element(boundBy: 2).tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
50 XCTAssertTrue(app.staticTexts["Settings"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
51
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
52 }
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
53 }
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
54
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
55 func testCurrencySelector() throws {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
56 let app = XCUIApplication()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
57 app.scrollViews.buttons["OpenCurrencySelector"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
58
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
59 let currencySearchBar = app.textFields["CurrencySearchBar"]
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
60 currencySearchBar.tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
61 currencySearchBar.typeText("USD/BTC")
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
62 app.tables.buttons["From USD to BTC"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
63 }
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
64
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
65 func testCoreData() throws {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
66 let app = XCUIApplication()
138
081f0857af51 Fix test crashing
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 137
diff changeset
67 app.scrollViews.buttons["AddToFavorites"].tap()
132
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
68
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
69 if UIDevice.current.userInterfaceIdiom == .pad {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
70 app.tables["Sidebar"].buttons["NavigateToFavorites"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
71 } else {
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
72 app.tabBars.buttons.element(boundBy: 1).tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
73 }
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
74
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
75 XCTAssertTrue(app.tables.buttons["From USD to GBP"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
76
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
77 let favoriteList = app.tables
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
78 favoriteList.buttons["From USD to GBP"].swipeLeft()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
79 favoriteList.buttons["Delete"].tap()
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
80 XCTAssertFalse(app.tables.buttons["From USD to GBP"].exists)
9439c76e6590 Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 109
diff changeset
81 }
109
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
82
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
83 func testLaunchPerformance() throws {
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
84 if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
85 // This measures how long it takes to launch your application.
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
86 measure(metrics: [XCTApplicationLaunchMetric()]) {
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
87 XCUIApplication().launch()
587924519d3b Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 106
diff changeset
88 }
93
529feb1fc8d5 Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 90
diff changeset
89 }
96
fa994172c050 Breaked in parts UI Tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 93
diff changeset
90 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
91 }