-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathstep.yml
255 lines (233 loc) · 10.2 KB
/
step.yml
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
#
# A couple of useful guides & docs:
#
# - Main Bitrise CLI docs: https://github.com/bitrise-io/bitrise/tree/master/_docs
# - Step Development Guideline: https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md
# - Bitrise.yml format spec: https://github.com/bitrise-io/bitrise/blob/master/_docs/bitrise-yml-format-spec.md
# - Bitrise docs: http://devcenter.bitrise.io/
# - Bitrise CLI guides: http://devcenter.bitrise.io/bitrise-cli/
title: |-
BrowserStack App Automate - XCUITest
summary: |
Run your XCUITest tests on BrowserStack App Automate
description: |
Run your XCUITest tests on BrowserStack App Automate. This step collects the built IPA from `$BITRISE_IPA_PATH` and test suite from `$BITRISE_BUNDLE_PATH` Environment Variables
website: https://github.com/browserstack/browserstack-bitrise-xcui-step
source_code_url: https://github.com/browserstack/browserstack-bitrise-xcui-step
support_url: https://github.com/browserstack/browserstack-bitrise-xcui-step/issues
host_os_tags:
- osx-10.10
- ubuntu-16.04
# If this step should be available only for certain project types
# just uncomment this `project_type_tags` section and include all the
# project types supported by the step. If the step can be used for all
# project types then you can just remove this section.
# If no `project_type_tags` specified (or specified as an empty array)
# that means the step can be used for any project type.
# You can find more information about project type tags in the Step Development Guideline:
# https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md
#
project_type_tags:
- ios
# - ios
# - macos
# - xamarin
# - react-native
# - cordova
# - ionic
# Type tags are used for categorizing steps, for easier step discovery in Step Libraries.
# You can find more information about type tags in the Step Development Guideline:
# https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md
type_tags:
- test
is_requires_admin_user: true
is_always_run: false
is_skippable: false
run_if: ''
deps:
brew:
- name: git
- name: wget
apt_get:
- name: git
- name: wget
toolkit:
go:
package_name: github.com/browserstack/browserstack-bitrise-xcui-step
inputs:
# Auth inputs
- browserstack_username:
opts:
title: 'BrowserStack username'
summary: 'Username for the BrowserStack account'
is_required: true
is_sensitive: true
description: 'Username of the BrowserStack account'
- browserstack_accesskey:
opts:
title: 'BrowserStack accesskey'
summary: 'Accesskey for the BrowserStack account'
is_required: true
is_sensitive: true
description: 'Access Key of the BrowserStack account'
# IPA's
- app_ipa_path: $BITRISE_IPA_PATH
opts:
title: 'iOS app under test'
summary: 'Path to the app (.ipa) file'
is_expand: true
is_required: true
description: 'Path of the app (.ipa) file'
- xcui_test_suite: $BITRISE_TEST_BUNDLE_PATH
opts:
title: 'XCUI test suite'
summary: 'Path of the output bundle file'
is_expand: true
is_required: true
description: 'Path of the output bundle (.app) file. Add either the $BITRISE_TEST_BUNDLE_PATH (generated from the "Xcode Build for testing for iOS" step) or the absolute path of the output bundle file'
# Devices
- devices_list:
opts:
title: 'Devices'
summary: "Name of one or more device-OS combination in new line from the [device list](https://www.browserstack.com/list-of-browsers-and-platforms/app_automate)."
description: |
Name of one or more device-OS combination in new line
For example:
`iPhone 11-13`
`iPhone XS-15`
[View supported device-OS combinations](https://www.browserstack.com/list-of-browsers-and-platforms/app_automate)
is_expand: true
is_required: true
# Debug logs inputs
- instrumentation_logs: "true"
opts:
title: 'Instrumentation logs'
summary: 'Generate instrumentation logs of the test session'
description: 'Instrumentation logs are a comprehensive record of your XCUITest test executions that helps you identify all the steps executed in the test.'
value_options:
- "true"
- "false"
category: 'Debug logs'
- network_logs: "false"
opts:
title: 'Network Logs'
summary: 'Generate network logs of your XCUI test sessions to capture network traffic, latency, etc.'
description: 'Network logs captures the network traffic, latency, HTTP requests and responses in the HAR (HTTP Archive) format. '
value_options:
- "true"
- "false"
category: 'Debug logs'
- device_logs: "false"
opts:
title: 'Device Logs'
summary: 'Generate device logs'
description: 'Device logs are system logs specific to your application generated by iOS device'
value_options:
- "true"
- "false"
category: 'Debug logs'
- debug_screenshots: "false"
opts:
title: 'Capture Screenshots'
summary: 'Capture the screenshots of the test execution'
description: 'Screenshots makes it easier to identify the exact step in your test where the failure occurred, especially any layout or design-related issues.'
value_options:
- "true"
- "false"
category: 'Debug logs'
- video_recording: "true"
opts:
title: 'Video recording'
summary: 'Record video of the test execution'
description: 'Video recording helps you view the entire test execution and helps debug any failed test.'
value_options:
- "true"
- "false"
category: 'Debug logs'
# project inputs
- project:
opts:
title: 'Project name'
summary: 'Project name of the tests.'
description: 'A project name helps you group multiple XCUITest test executions under a single project.'
category: 'Test Configuration'
- project_notify_url:
opts:
title: 'Notify project status'
summary: 'A callback URL to enable BrowserStack notify about completion of build under a given project.'
description: |
A callback URL helps you enable BrowserStack notify you upon the completion of all builds under a given project. You will receive a callback if no new builds triggered for 5 minutes and all existing builds have completed their execution.
This parameter requires that the **Project name** parameter also be set.
category: 'Test Configuration'
- use_local: "false"
opts:
title: 'Local testing'
summary: 'Enable local testing to retrieve app data hosted on local/private servers'
description: 'Enable local testing to retrieve app data hosted on local/private servers'
value_options:
- "true"
- "false"
category: 'Test Configuration'
- use_test_sharding:
opts:
title: 'Test sharding'
summary: 'Test sharding splits and run test cases into different group called shards. This behaviour is helpful when your test-suite has a large number of test cases. [Learn more.](https://www.browserstack.com/docs/app-automate/xcuitest/test-sharding)'
description: |
Enable test sharding to split tests cases into different groups instead of running them sequentially.
Add the sharding value json here. Examples:
Input for only-testing strategy:
`{"numberOfShards": 2, "mapping": [{"name": "Shard 1", "strategy": "only-testing", "values": ["SampleXCUITestsClass/testAlert", "SampleXCUITestsClass/testText"]}, {"name": "Shard 2", "strategy": "only-testing", "values": ["SampleXCUITestsClass/testLogin"]}]}`
Input for skip-testing strategy:
`{"numberOfShards": 2, "mapping": [{"name": "Shard 1", "strategy": "skip-testing", "values": ["SampleXCUITestsClass/testAlert"]}, {"name": "Shard 2", "strategy": "skip-testing", "values": ["SampleXCUITestsClass/testText"]}]}`
category: 'Test Configuration'
- filter_test:
opts:
title: 'Filter test cases'
summary: "Provide a comma-separated list of class or test names followed by supported filtering strategies."
description: |
Provide a comma-separated list of class or test names followed by supported filters: "only-testing" and "skip-testing".
For example: `only-testing SampleXCUITestsClass/testAlertTest`
[Learn more](https://www.browserstack.com/docs/app-automate/xcuitest/select-test-cases)
category: 'Test Configuration'
- use_dynamic_tests: "false"
opts:
title: 'Run dynamic tests'
summary: 'Enable to run runtime discoverable tests or dynamic tests. [Learn more](https://www.browserstack.com/docs/app-automate/xcuitest/dynamic-tests)'
description: 'Enable to run runtime discoverable tests or dynamic tests. [Learn more](https://www.browserstack.com/docs/app-automate/xcuitest/dynamic-tests)'
value_options:
- "true"
- "false"
category: 'Test Configuration'
- check_build_status: "true"
opts:
title: 'Build Status'
description: 'Enable to let the pipeline wait for build results '
summary: 'Enable to let the pipeline wait for build results '
value_options:
- "true"
- "false"
category: 'Test Configuration'
# API params
- api_params:
opts:
title: 'Test capabilities'
summary: New line key-value pairs of capabilities provided by BrowserStack.
description: |
New line key-value pairs of capabilities provided by BrowserStack.
For example:
coverage=true
geoLocation=CN
[Learn about more capabilities.](https://www.browserstack.com/docs/app-automate/api-reference/xcuitest/builds#execute-a-build)
category: 'Test Configuration'
outputs:
- BROWSERSTACK_BUILD_URL:
opts:
title: 'BrowserStack Dashboard url'
summary: 'BrowserStack Dashboard url for the executed build'
description: 'BrowserStack Dashboard url for the executed build'
- BROWSERSTACK_BUILD_STATUS:
opts:
title: 'BrowserStack Build Status'
summary: BrowserStack build status
description: |
Status of the executed build. Check values [here:] (https://www.browserstack.com/docs/app-automate/xcui/view-test-results)