Mercurial > public > simoleon
annotate SimoleonUITests/SimoleonUITests.swift @ 132:9439c76e6590
Add tests
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 16 Aug 2021 18:22:46 +0100 |
parents | 587924519d3b |
children | edc8719905fe |
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.launchArguments += ["-AppleLocale", "en_US"] |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
20 app.launch() |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
22 // 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
|
23 continueAfterFailure = false |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
25 // 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
|
26 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
27 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
28 override func tearDownWithError() throws { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
29 // 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
|
30 } |
132
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
31 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
32 func testTabBar() throws { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
33 let app = XCUIApplication() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
34 if UIDevice.current.userInterfaceIdiom == .pad { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
35 app.tables["Sidebar"].buttons["NavigateToConversion"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
36 XCTAssertTrue(app.staticTexts["Convert"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
37 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
38 app.tables["Sidebar"].buttons["NavigateToFavorites"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
39 XCTAssertTrue(app.staticTexts["Favorites"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
40 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
41 app.tables["Sidebar"].buttons["NavigateToSettings"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
42 XCTAssertTrue(app.staticTexts["Settings"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
43 } else { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
44 app.tabBars.buttons.element(boundBy: 0).tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
45 XCTAssertTrue(app.staticTexts["Convert"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
46 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
47 app.tabBars.buttons.element(boundBy: 1).tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
48 XCTAssertTrue(app.staticTexts["Favorites"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
49 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
50 app.tabBars.buttons.element(boundBy: 2).tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
51 XCTAssertTrue(app.staticTexts["Settings"].exists) |
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 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
56 func testCurrencySelector() throws { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
57 let app = XCUIApplication() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
58 app.scrollViews.buttons["OpenCurrencySelector"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
59 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
60 let currencySearchBar = app.textFields["CurrencySearchBar"] |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
61 currencySearchBar.tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
62 currencySearchBar.typeText("USD/BTC") |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
63 app.tables.buttons["From USD to BTC"].tap() |
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 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
66 func testCoreData() throws { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
67 let app = XCUIApplication() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
68 app.scrollViews.buttons["favorite"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
69 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
70 if UIDevice.current.userInterfaceIdiom == .pad { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
71 app.tables["Sidebar"].buttons["NavigateToFavorites"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
72 } else { |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
73 app.tabBars.buttons.element(boundBy: 1).tap() |
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 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
76 XCTAssertTrue(app.tables.buttons["From USD to GBP"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
77 |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
78 let favoriteList = app.tables |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
79 favoriteList.buttons["From USD to GBP"].swipeLeft() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
80 favoriteList.buttons["Delete"].tap() |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
81 XCTAssertFalse(app.tables.buttons["From USD to GBP"].exists) |
9439c76e6590
Add tests
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
82 } |
109
587924519d3b
Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
83 |
587924519d3b
Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
84 func testLaunchPerformance() throws { |
587924519d3b
Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
85 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
|
86 // 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
|
87 measure(metrics: [XCTApplicationLaunchMetric()]) { |
587924519d3b
Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
88 XCUIApplication().launch() |
587924519d3b
Reestructured schemes and targets
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
89 } |
93
529feb1fc8d5
Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
90
diff
changeset
|
90 } |
96
fa994172c050
Breaked in parts UI Tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
93
diff
changeset
|
91 } |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
92 } |