-
-
Notifications
You must be signed in to change notification settings - Fork 241
/
Copy pathtab-view.e2e-spec.ts
98 lines (86 loc) · 3.29 KB
/
tab-view.e2e-spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import { AppiumDriver, createDriver, nsCapabilities } from "nativescript-dev-appium";
import { Screen } from "./screen"
import {
testPlayerNavigated,
testTeamNavigated,
testPlayerNextNavigated,
testTeamNextNavigated,
} from "./shared.e2e-spec"
describe("tab-view:", async function () {
let driver: AppiumDriver;
let screen: Screen;
before(async function () {
nsCapabilities.testReporter.context = this;
driver = await createDriver();
screen = new Screen(driver);
});
after(async function () {
await driver.quit();
console.log("Quit driver!");
});
afterEach(async function () {
if (this.currentTest.state === "failed") {
await driver.logTestArtifacts(this.currentTest.title);
}
});
it("loaded home component and lists", async function () {
await screen.navigateToHomePage();
await screen.loadedHome();
await screen.loadedPlayersList();
await screen.loadedTeamList();
});
it("loaded tabs component, Players List and Teams List pages", async function () {
await screen.navigateToTabsPage();
await screen.loadedTabs();
await screen.loadedPlayersList();
await gotoTeamsTab(driver);
await screen.loadedTeamList();
await gotoPlayersTab(driver);
await screen.loadedPlayersList();
});
it("should navigate Player One/Team One then back separately", async function () {
this.retries(2);
await testPlayerNavigated(screen, screen.playerOne);
await gotoTeamsTab(driver);
await testTeamNavigated(screen, screen.teamOne);
await backTeams(driver);
await screen.loadedTeamList();
await gotoPlayersTab(driver);
await backPlayers(driver);
await screen.loadedPlayersList();
});
it("should navigate Player One/Team One then next Player/Team then back", async function () {
await testPlayerNavigated(screen, screen.playerOne);
await testPlayerNextNavigated(screen, screen.playerTwo);
await gotoTeamsTab(driver);
await testTeamNavigated(screen, screen.teamOne);
await testTeamNextNavigated(screen, screen.teamTwo);
await gotoPlayersTab(driver);
await backPlayers(driver);
await screen.loadedPlayerDetails(screen.playerOne);
await gotoTeamsTab(driver);
await backTeams(driver);
await screen.loadedTeamDetails(screen.teamOne);
await backTeams(driver);
await screen.loadedTeamList();
await gotoPlayersTab(driver);
await backPlayers(driver);
await screen.loadedPlayersList();
});
});
async function gotoPlayersTab(driver: AppiumDriver) {
const btnTabPlayers = await driver.findElementByAutomationText("Players Tab");
await btnTabPlayers.tap();
}
async function gotoTeamsTab(driver: AppiumDriver) {
const btnTabTeams = await driver.findElementByAutomationText("Teams Tab");
await btnTabTeams.tap();
}
async function backTeams(driver: AppiumDriver) {
const btnBackTeams = await driver.findElementByAutomationText("Back-Teams");
await btnBackTeams.tap();
}
async function backPlayers(driver: AppiumDriver) {
const btnBackPlayers = await driver.findElementByAutomationText("Back-Players");
await btnBackPlayers.tap();
}