You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Queuing will be disabled on March 1st, 2024. To better manage your usage, check the [Usage Analytics](https://docs.saucelabs.com/dev/api/usage/) that Sauce Labs provides for you
62
+
Queuing will be disabled on May 1st, 2024 (implemented upon contract renewal). To better manage your usage, check the [Usage Analytics](https://docs.saucelabs.com/dev/api/usage/) that Sauce Labs provides for you
Copy file name to clipboardExpand all lines: docs/dev/api/accounts.md
+8-2Lines changed: 8 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1774,6 +1774,12 @@ Assign user to one or multiple teams. New team assignments will replace the exis
1774
1774
<td><p><small>| PATH | REQUIRED | STRING |</small></p><p>The unique identifier of the Sauce Labs user. You can look up the ID of a user in your organization using the <a href="#lookup-users">Lookup Users</a> endpoint.</p></td>
1775
1775
</tr>
1776
1776
</tbody>
1777
+
<tbody>
1778
+
<tr>
1779
+
<td><code>teams</code></td>
1780
+
<td><p><small>| BODY | REQUIRED | ARRAY OF STRINGS |</small></p><p>List of unique team identifiers. You can look up the ID of teams in your organization using the <a href="#lookup-teams">Lookup Teams</a> endpoint.</p></td>
Enables [W3C WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) support. This allows Selenium 4 clients to use [Bi-Directional functionality](https://www.selenium.dev/documentation/webdriver/bidirectional/). It also enables BiDi for other test frameworks, like [WebDriverIO](https://webdriver.io/docs/api/webdriverBidi/). In particular, this capability exposes the WebSocket endpoint which is available under `webSocketUrl` field in session startup response body. This endpoint can be used to issue WebDriver BiDi commands as described by the [specification](https://w3c.github.io/webdriver-bidi/). The default value is `false`.
184
+
185
+
The `webSocketUrl` capability is **not compatible** with [`extendedDebugging`](#extendeddebugging) capability.
Enables [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) support, which is disabled by default on Sauce Labs platform. This allows Selenium 4 clients to use [Bi-Directional functionality](https://www.selenium.dev/documentation/webdriver/bidirectional/). In particular, this capability exposes the WebSocket endpoint which is available under `se:cdp` field in session startup response body. This endpoint can be used to issue Chrome DevTools Protocol commands as described by the [specification](https://chromedevtools.github.io/devtools-protocol/). The default value is `false`.
368
+
369
+
The `devTools` capability is **not compatible** with [`extendedDebugging`](#extendeddebugging) capability.
370
+
371
+
```java
372
+
"devTools":true
373
+
```
374
+
375
+
---
376
+
348
377
## Mobile Appium Capabilities
349
378
350
379
As the W3C WebDriver Protocol is supported in Appium v1.6.5 and higher, and required for Appium v2.0, we encourage and support using it for your Appium mobile app tests instead of the JSON Wire Protocol (JWP). We'll continue to support JWP in all currently supported Appium 1.X versions, but please be aware that with Appium 2.0, JWP support will be fully deprecated in favor of W3C.
Copy file name to clipboardExpand all lines: docs/mobile-apps/automated-testing/appium/appium-versions.md
+29Lines changed: 29 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -155,6 +155,12 @@ The current end-of-life strategy outlined above is specific to Real Devices. We
155
155
156
156
## Real Devices
157
157
158
+
:::info Supported Custom Appium Plugins:
159
+
The following list of custom Appium plugins are supported:
160
+
-[Appium Images Plugin](https://www.npmjs.com/package/@appium/images-plugin). This plugin will now be included by default with Appium version `latest` and all subsequent versions released after April 1st.
161
+
-[Deque axe DevTools® Mobile Analyzer Accessibility plugin](https://docs.deque.com/devtools-mobile/appium). This plugin helps you with automated accessibility testing. Empower your team to focus on identifying and resolving accessibility issues. Requires Deque axe DevTools® Mobile license.
162
+
:::
163
+
158
164
### Appium 2.x
159
165
160
166
<table>
@@ -204,6 +210,29 @@ The current end-of-life strategy outlined above is specific to Real Devices. We
Deque axe DevTools® Mobile Analyzer Accessibility plugin</a> helps you with automated accessibility testing. Contains only the latest version of Appium. The plugin helps to identify and to resolve accessibility issues. Requires Deque axe DevTools® license.
Copy file name to clipboardExpand all lines: docs/mobile-apps/features/virtual-usb.md
+8-96Lines changed: 8 additions & 96 deletions
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,11 @@ It integrates into your development and test environment, meaning you can use yo
37
37
- Android Studio 4 or higher.
38
38
- If you need to use [Sauce Connect Proxy](/secure-connections/sauce-connect), you'll need to have the client installed first.
39
39
40
+
:::note Limitations
41
+
vUSB is currently only supported for test automation. Debugging with any IDE, and attaching debuggers with Xcode and Android Studio, are not advised and won't be supported at this time).
42
+
iOS17 is not supported at this time. We will soon introduce a new CLI tool to connect to a device and run automated tests.
43
+
:::
44
+
40
45
## Using Virtual USB
41
46
42
47
:::tip CLI Reference
@@ -282,11 +287,11 @@ adb connect localhost:7000
282
287
283
288
### Test and Debug
284
289
285
-
8. Now, you can debug and run tests on your app. For guidance and ideas, see the [Example Use Cases](/mobile-apps/features/virtual-usb/#example-use-cases).
290
+
8. Now, you can debug and run tests on your app. We advise you to use our Sauce App Storage to upload the apps and run tests against them.
286
291
287
292
<!-- prettier-ignore-start -->
288
-
:::caution iOS Limitation
289
-
To do proper debugging, the iOS device symbols will need to be downloaded to your local machine. This happens automatically when you're connecting to a Sauce Labs iOS device for the first time via a remote debug vUSB session with Xcode. **Xcode will attempt to download the iOS device symbols over the vUSB tunnel, causing a lag that can last up to a few minutes.**
293
+
:::caution iOS Limitations
294
+
Attaching a debugger is not supported due to the amount of data that the iOS device symbols will need to be downloaded to your local machine. This process occurs automatically when you're connecting to a Sauce Labs iOS device for the first time via a remote debug vUSB session with Xcode. Xcode will attempt to download the iOS device symbols over the vUSB tunnel, causing a lag that can last from a few minutes to an hour..**
290
295
291
296
-**What to Do**: Go to `~/Library/Developer/Xcode/iOS DeviceSupport/` and check the used iOS version of the phone to see if the symbols have been downloaded. The total used space per OS should be more than 1GB. If they are less than 1MB, delete the folder and restart Xcode again so it can re-fetch them.
292
297
This a one-time action that you won't need to do again for future tests.
Introduce breakpoints in your IDE, for example, Android Studio or XCODE, and then do exploratory testing.
342
-
343
344
### ADB commands
344
345
345
346
You can execute `adb` commands on the device connected over vUSB as you would normally also use. This is a simple example to capture a screenshot and pull it to your local machine.
@@ -393,92 +394,3 @@ The following example sets up forwarding of host port 40000 (laptop/CI) to devic
393
394
To for example profile your Android app you can follow the instructions as mentioned [here](https://developer.android.com/studio/profile). This can result in the following data.
394
395
395
396
<img src={useBaseUrl('img/virtual-usb/vusb-android-profiling.png')} alt="Virtual USB Android Studio Profiling" />
396
-
397
-
### Chrome DevTools Web Debugging
398
-
399
-
This example demonstrates how to connect your test device to Chrome Inspector and export an [Http ARchive (HAR)](<https://en.wikipedia.org/wiki/HAR_(file_format)>) file to your local machine from a live testing session. Chrome Inspector's suite of developer tools provides a powerful way to work with your web pages while leveraging our real devices.
400
-
401
-
HAR files are useful for identifying performance issues, network traffic, and other information, such as:
402
-
403
-
- HTTP requests generated by your web pages
404
-
- API calls
405
-
- User analytics
406
-
- Third-party web service calls
407
-
408
-
1. Follow the steps in the previous section to start up a test session (i.e., download vUSB client, connect to Data Center, connect to your device, and initialize an `adb` connection). Have your Sauce Labs device test session up on your screen.
409
-
410
-
2. Open a Chrome tab locally and run `chrome://inspect` in the address bar. This opens the Chrome Inspector.
3. Use your command line terminal to open Chrome on the device by running the `adb` commands below. The first one launches the Chrome app:
414
-
415
-
```java
416
-
$ ./adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main
417
-
```
418
-
419
-
Then, navigate to a website (for this example, we'll use our demo site).
420
-
421
-
```java
422
-
$ ./adb shell am start -a android.intent.action.VIEW-d http://www.saucedemo.com
423
-
```
424
-
425
-
4. If the above commands are successful, you should see a new set of options under the **Remote Target** heading in your `chrome://inspect` tab.
426
-
427
-
If you click **Inspect**, a new window will open, displaying Chrome DevTools the same as if the device were sitting on your desk, connected to a USB cable.
5. Click the **Network** tab and reload the page to display all HTTP requests made during the refresh:
432
-
433
-
6. Under the **Network** tab, click the down arrow icon to export a HAR file locally. This will prompt you with a Save dialog. Choose a location for the HAR file.
434
-
<img src={useBaseUrl('img/virtual-usb/vusb6.png')} alt="Virtual USB HAR" width="600" />
435
-
436
-
7. Review your HAR file. It should contain every HTTP request/response gathered during the page load, as well as all of the headers, parameters, timing info. Using this information, you can dive deep into the way your web pages are put together. You can do it on any configured device, without having to worry about power management or keeping up with the physical device.
437
-
438
-
:::tip
439
-
For more tips on working with HAR Files, check out [Visualize HAR Files with the Sauce Labs React Network Viewer Component](https://opensource.saucelabs.com/blog/react_network_viewer).
440
-
:::
441
-
442
-
You can execute `adb` commands on the device connected over vUSB as you would normally also use. This is a simple example to capture a screenshot and pull it to your local machine.
443
-
444
-
```bash
445
-
#Create a temporary folder to save a screenshot.
446
-
mkdir tmp
447
-
#Capture a screenshot and save to /sdcard/screen.png on your Android divice.
448
-
adb shell screencap -p /sdcard/screen.png
449
-
450
-
#Grab the screenshot from /sdcard/screen.png to /tmp/screen.png on your PC.
451
-
adb pull /sdcard/screen.png /tmp/screen.png
452
-
453
-
#Delete /sdcard/screen.png.
454
-
adb shell rm /sdcard/screen.png
455
-
456
-
#open the screenshot on your PC.
457
-
open /tmp/screen.png
458
-
```
459
-
460
-
### iOS Debugging
461
-
462
-
To deploy and debug your iOS apps, you can use Xcode. To debug your website, we recommend using the developer tools within Safari.
463
-
464
-
### **Xcode Debugging**
465
-
466
-
:::note
467
-
Before debugging with Xcode, please read the known limitations under [Test and Debug](/mobile-apps/features/virtual-usb/#test-and-debug).
468
-
:::
469
-
470
-
To profile your app: from your Xcode nav, select **Product** > **Profile**. It will automatically profile the app and generate a new menu, as shown below.
471
-
472
-
<img src={useBaseUrl('img/virtual-usb/vusb-ios-profiling.png')} alt="Virtual USB Profiling" />
473
-
474
-
<br/>
475
-
476
-
In this example below, **Energy Log** has been selected and recording has been started. This can result in the following screen.
477
-
478
-
<img src={useBaseUrl('img/virtual-usb/vusb-energy-logs.png')} alt="Virtual USB Energy Logs" />
479
-
480
-
### **Safari Web Debugging**
481
-
482
-
To debug with Safari: Open Safari > From the nav, select **Develop** > **Select your device** > **Select the view** you want to debug. In our example, we want to debug the [Sauce Swag Labs demo website](https://www.saucedemo.com).
483
-
484
-
<img src={useBaseUrl('img/virtual-usb/vusb-safari-debug.png')} alt="Virtual USB Energy Logs" />
Copy file name to clipboardExpand all lines: docs/mobile-apps/mobile-faq.md
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -83,9 +83,11 @@ We maintain an allowlist of commands that can be executed within our Real Device
83
83
* pm clear
84
84
* input
85
85
* (ls|cp|mkdir|echo|grep|cut|pwd|dumpsys)
86
-
*getProp
86
+
*getprop
87
87
* am compat enable
88
88
* cmd connectivity airplane-mode (enable|disable)
89
+
* settings put global (animator_duration_scale|transition_animation_scale|window_animation_scale) <value\>
90
+
* setprop debug.firebase.analytics.app <value\>
89
91
90
92
If the command you require is not listed, you can submit a request through this [form](https://docs.google.com/forms/d/1t4MCf6ClHlLxX80RP5bNU9wVJBhQOd4ll6IjP0ecMgc)
91
93
or reach out to your Customer Success Manager or Sauce Labs Support for assistance.
You can clip to a specific element on the page by using the `clipSelector` option when calling Sauce visual.
2
+
3
+
Notes:
4
+
5
+
- Clipping is done by taking a screenshot of the page then clipping it to the location of the requested element.
6
+
- We will attempt to scroll the element into view before taking the snapshot.
7
+
- We can only take a screenshot of what is visible in the current viewport, however, this can be combined with full page option to enable clipping large vertical elements.
0 commit comments