annotate SimoleonUITests/SimoleonUITests.swift @ 106:599fe95307f6

Fixes minor bugs
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Wed, 04 Aug 2021 21:33:52 +0100
parents e3e6dfd7fdbf
children 587924519d3b
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 {
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
11 var screnshotEndingName = ""
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 override func setUpWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 // Put setup code here. This method is called before the invocation of each test method in the class.
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
15 if UIDevice.current.userInterfaceIdiom == .pad {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
16 XCUIDevice.shared.orientation = .landscapeLeft
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
17 screnshotEndingName = "-force_landscapeleft"
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
18 }
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
19
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
20 let app = XCUIApplication()
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
21 setupSnapshot(app)
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
22 app.launch()
0
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 is usually best to stop immediately when a failure occurs.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 continueAfterFailure = false
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 // 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
28 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 override func tearDownWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 // 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
32 }
44
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
33
93
529feb1fc8d5 Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 90
diff changeset
34 // MARK: - Automate screenshots
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
35 func testLaunch() {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
36 if UIDevice.current.userInterfaceIdiom == .pad {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
37 XCUIApplication().tables.buttons.firstMatch.tap()
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
38 }
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
39
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
40 snapshot("1Launch\(screnshotEndingName)")
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
41 }
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
42
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
43 func testCurrencySelector() {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
44 if UIDevice.current.userInterfaceIdiom == .pad {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
45 XCUIApplication().tables.buttons.firstMatch.tap()
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
46 }
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
47
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
48 XCUIApplication().scrollViews.buttons.firstMatch.tap()
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
49 snapshot("2CurrencySelector\(screnshotEndingName)")
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
50
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
51 XCUIApplication().tables.buttons.element(boundBy: 6).tap()
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
52 let conversionTextfield = XCUIApplication().textFields.firstMatch
93
529feb1fc8d5 Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 90
diff changeset
53 conversionTextfield.tap()
529feb1fc8d5 Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 90
diff changeset
54 for _ in (0..<4) {
529feb1fc8d5 Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 90
diff changeset
55 conversionTextfield.typeText(XCUIKeyboardKey.delete.rawValue)
529feb1fc8d5 Added UI Tests for capture screenshots
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 90
diff changeset
56 }
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
57
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
58 conversionTextfield.typeText("\n")
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
59
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
60 snapshot("3Amount\(screnshotEndingName)")
96
fa994172c050 Breaked in parts UI Tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 93
diff changeset
61 }
fa994172c050 Breaked in parts UI Tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 93
diff changeset
62
fa994172c050 Breaked in parts UI Tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 93
diff changeset
63 func testFavorites() throws {
fa994172c050 Breaked in parts UI Tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 93
diff changeset
64 // Go to favorites
99
1d661f15adab Fixes UI Testing bugs on iPad
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 96
diff changeset
65 if UIDevice.current.userInterfaceIdiom == .pad {
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
66 XCUIApplication().tables.buttons.element(boundBy: 1).tap()
99
1d661f15adab Fixes UI Testing bugs on iPad
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 96
diff changeset
67 } else {
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
68 XCUIApplication().tabBars.buttons.element(boundBy: 1).tap()
99
1d661f15adab Fixes UI Testing bugs on iPad
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 96
diff changeset
69 }
1d661f15adab Fixes UI Testing bugs on iPad
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 96
diff changeset
70
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
71 snapshot("4Favorites\(screnshotEndingName)")
44
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
72 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
73
106
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
74 // func testLaunchPerformance() throws {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
75 // if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
76 // // This measures how long it takes to launch your application.
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
77 // measure(metrics: [XCTApplicationLaunchMetric()]) {
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
78 // XCUIApplication().launch()
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
79 // }
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
80 // }
599fe95307f6 Fixes minor bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 100
diff changeset
81 // }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
82 }