-
Notifications
You must be signed in to change notification settings - Fork 103
/
Copy path_TestDependencies.ps1
70 lines (63 loc) · 2.34 KB
/
_TestDependencies.ps1
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
Function Get-DefaultParams() {
if ($null -eq $Global:DefaultBrowser) { $Global:DefaultBrowser = 'Firefox' }
if ($null -eq $env:SITE_URL) { $env:SITE_URL = 'http://tailspin-spacegame-web.azurewebsites.net' }
if ($null -eq $Global:HeadlessOnly) { $Global:HeadlessOnly = $False }
}
Get-DefaultParams
Function Get-TestCasesSettings() {
$HeadlessState = if ($Global:HeadlessOnly) { 'Headless' } else { 'Maximized' }
return @{
'NewEdge' = @{
DefaultOptions = @{State = $HeadlessState }
PrivateOptions = @{
PrivateBrowsing = $true
State = $HeadlessState
}
# InPrivateLabel = 'InPrivate'
} # broken after build 79 of web driver#>
'Chrome' = @{
PrivateOptions = @{
PrivateBrowsing = $true
State = $HeadlessState
}
DefaultOptions = @{State = $HeadlessState }
HeadlessOptions = @{State = 'Headless' }
}
'Firefox' = @{
PrivateOptions = @{
PrivateBrowsing = $true
State = $HeadlessState
}
DefaultOptions = @{State = $HeadlessState }
HeadlessOptions = @{State = 'Headless' }
}
'MSEdge' = @{
DefaultOptions = @{State = $HeadlessState }
PrivateOptions = @{PrivateBrowsing = $true }
}
'InternetExplorer' = @{
DefaultOptions = @{ImplicitWait = 30 }
PrivateOptions = @{ImplicitWait = 30 }
}
}
}
function Build-StringFromHash {
param ($Hash)
$(foreach ($k in $Hash.Keys) { "$K`:$($hash[$K])" }) -join '; '
}
function Get-ModalTestCases() {
return @(
@{Name = 'Download Page'
linkXPath = '/html/body/div/div/section[2]/div[2]/a'
modalXPath = '//*[@id="pretend-modal"]/div/div'
},
@{Name = 'Screen Image'
linkXPath = '/html/body/div/div/section[3]/div/ul/li[1]/a'
modalXPath = '/html/body/div[1]/div/div[2]'
},
@{Name = 'Top Player'
linkXPath = '/html/body/div/div/section[4]/div/div/div[1]/div[2]/div[2]/div/a/div'
modalXPath = '//*[@id="profile-modal-1"]/div/div'
}
)
}