annotate SimoleonAppPreview/SimoleonAppPreview.swift @ 144:4271fb5f69e2

Add Scheme for automating App Preview
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 17 Aug 2021 22:15:48 +0100
parents
children 23395b98a921
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
144
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // SimoleonAppPreview.swift
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // SimoleonAppPreview
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 17/8/21.
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import XCTest
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 class SimoleonAppPreview: XCTestCase {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 override func setUpWithError() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 // This method is called before the invocation of each test method in the class.
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 if UIDevice.current.userInterfaceIdiom == .pad {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 XCUIDevice.shared.orientation = .landscapeLeft
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 // In UI tests it is usually best to stop immediately when a failure occurs.
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 continueAfterFailure = false
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 override func tearDownWithError() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 // This method is called after the invocation of each test method in the class.
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 func recordInteraction(of app: XCUIApplication) {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 app.launch()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 // Write amount in textfield
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 app.textFields["ConversionTextField"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 app.keys["4"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32 app.keys["5"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 app.keys["0"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 app.keys["0"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 app.keys["0"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
36
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
37 // Tap done to dismiss keyboard
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
38 app.navigationBars.buttons.element(boundBy: 0).tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
39
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
40 // Open currency selector and select USD/BTC
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
41 app.scrollViews.buttons["OpenCurrencySelector"].tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
42 let currencySearchBar = app.textFields["CurrencySearchBar"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
43 currencySearchBar.tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
44 currencySearchBar.typeText("Usd/btc\n")
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
45 sleep(1)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
46 app.tables.buttons.firstMatch.tap()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
47 sleep(2)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
48 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
49
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
50 func testUSEnglish() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
51 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
52 app.launchArguments += ["-AppleLanguages", "(en-US)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
53 app.launchArguments += ["-AppleLocale", "\"en-US\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
54 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
55 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
56
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
57 func testSpanish() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
58 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
59 app.launchArguments += ["-AppleLanguages", "(es-ES)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
60 app.launchArguments += ["-AppleLocale", "\"es-ES\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
61 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
62 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
63
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
64 func testGBEnglish() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
65 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
66 app.launchArguments += ["-AppleLanguages", "(en-GB)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
67 app.launchArguments += ["-AppleLocale", "\"en-GB\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
68 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
69 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
70
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
71 func testGerman() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
72 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
73 app.launchArguments += ["-AppleLanguages", "(de-DE)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
74 app.launchArguments += ["-AppleLocale", "\"de-DE\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
75 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
76 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
77
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
78 func testFrench() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
79 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
80 app.launchArguments += ["-AppleLanguages", "(fr-FR)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
81 app.launchArguments += ["-AppleLocale", "\"fr-FR\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
82 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
83 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
84
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
85 func testPortuguese() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
86 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
87 app.launchArguments += ["-AppleLanguages", "(pt-PT)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
88 app.launchArguments += ["-AppleLocale", "\"pt-PT\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
89 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
90 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
91
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
92 func testDutch() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
93 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
94 app.launchArguments += ["-AppleLanguages", "(nl-NL)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
95 app.launchArguments += ["-AppleLocale", "\"nl-NL\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
96 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
97 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
98
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
99 func testItalian() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
100 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
101 app.launchArguments += ["-AppleLanguages", "(it-IT)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
102 app.launchArguments += ["-AppleLocale", "\"it-IT\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
103 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
104 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
105
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
106 func testRussian() throws {
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
107 let app = XCUIApplication()
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
108 app.launchArguments += ["-AppleLanguages", "(ru-RU)"]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
109 app.launchArguments += ["-AppleLocale", "\"ru-RU\""]
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
110 recordInteraction(of: app)
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
111 }
4271fb5f69e2 Add Scheme for automating App Preview
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
112 }