In this module, see how to use Sauce Labs to run automated tests on applications.

Skills & Knowledge

In this Module, you will learn:

The Sauce Labs platform provides a variety of testing tools for both manual and automated testers.

Video

What is Sauce Labs? – An Automated Testing Platform

You can categorize the types of tests run in two main categories- automated testing on desktop browsers, and automated testing on mobile devices.

Web and Mobile App Testing

Desktop Testing

Sauce Labs enables automated testers to do web application testing on all of the modern desktop operating system versions and the different browsers that run on them. Headless testing is available for chrome and firefox browsers for testers who want to run quick tests without having to load and wait for visual components.

Mobile Testing

Sauce Labs provides mobile app testing in two different types of environments. You can test mobile apps and browsers on emulators & simulators, and you can test using the devices on the Sauce Labs Real Device Cloud. Depending on what you would like to test, one or both of the plans may be right for you.

Sauce Labs also offers the option of testing mobile apps, or testing on mobile web browsers. Learn more about different plans and pricing on the Sauce Labs website.

Sauce Labs gives teams the ability to run tests on hundreds of different emulators, simulators, and real mobile devices.

Video

Mobile App Test

Appium is an open-source tool for automating tests for native applications installed on a device, mobile web browsers, and hybrid applications on many platforms. Appium was created for tests on mobile applications, both web and native.

Though it was designed for mobile testing, Appium has the ability to let you create tests on almost any operating system (iOS, Android, Windows, Mac, Linux), using a REST API.

Other mobile testing frameworks supported by Sauce Labs include XCUI Test for IOS devices, and the Espresso Android test framework.

Mobile App Testing

In order to test a native (or hybrid) mobile application, you will need to upload your application to Sauce Labs storage (or another storage location), and indicate where the app is stored in your test code.

First run your application locally to verify the test code is working as anticipated. After that, you can upload the application package (and test code if you are using XCUI or Espresso) to online storage or Sauce Storage. After you upload your application file to Sauce, you can run it all on Sauce Labs.

Mobile Web Tests

Mobile web tests are similar to mobile application tests. Tests can be written with the Appium framework, and they have similar capabilities that need to be set for the environment the test is run on, and to communicate with Sauce Labs.

To run a web test on Sauce Labs, all you need to do is set the capabilities and point the test to the URL where the web application is hosted.

Whether you choose to run your tests on real devices, virtual machines with emulators (Android) and simulators (iOS) Sauce Labs has an offering to help improve testing accuracy and efficiency.

Mobile Test Offerings

The Selenium framework is typically used for desktop web browser tests. You can also use it to test some features of mobile browsers, although ideally, you would use the Appium mobile automation framework, as it gives you the ability to test interactions that occur on a mobile device, such as swiping and pinching.

Video

Desktop Browser Testing

NOTE: There is no audio in this training video.

One of the key features of Sauce Labs is the ability to run tests on a browser using hundreds of devices, emulators, and simulators.

Desktop Browser Testing

For desktop applications you can choose hundreds of browsers on Mac, Windows, and Linux operating systems to test against, using the most recent versions of the web browsers available in those environments. See what's supported

Desktop Test Offerings

Mobile Browser Testing

Sauce Labs allows you to run automated tests against web browsers in hundreds of mobile devices, both in an emulator or simulator environment, or on a device in the Sauce Labs Real Device Cloud.

Mobile Test Offerings

Simply write your test with your chosen language bindings, framework, and Selenium or Appium, add in the capabilities to connect to Sauce Labs cloud, and you're ready to test.

Video

Mobile Browser Testing

Quiz

The test results dashboard is the automated tester's key to understanding your automated tests.

If you click into any of the tests from the Automated > Test Results dashboard, you will be taken to the test details page.

Access Test Details Page

Test Details Page

This page allows you to peek into the value that Sauce Labs provides to a testing team, besides infrastructure. The test details page allows you to quickly gain insight into the test execution.

Test Details Page

Elements of the Page

A – View the details about the type of test such as whether or not performance is enabled for that test, an icon that indicates cloud or real devices, who has visibility, as well as test environment and when the test ran.

B – Video execution of a test, which can be costly and difficult to implement of your own.

C – The Commands panel makes it easier (and less costly) for your team to debug where issues occurred with the Selenium or Appium commands.

D – The View Logs tab provides specific data that was passed from the browser, including the JavaScript console logs

E – The Metadata tab provides more detailed information about the test and environment, as well as access to download the screenshots and videos.

F – The Network tab highlights information about network requests and the resources a website used to load, giving information about what is causing delays or issues.

G – Performance focuses on front-end experience metrics that impact the time it takes to render, load, and interact with a Chrome web application so that you can gain insight into how to speed up and therefore create an experience for customers that is flawless and efficient.

The Front-End Performance Report

Test Details Page

These ten metrics, which are collected over time, give insight into patterns and trends are an important part of the shift right towards continuous testing.

Front-end performance metrics, which are typically not tested until an application is in production, gives teams important information about delays that drive customers away from an app, and allows you to do manual quick tests of features. Finding these issues earlier makes it easier, cheaper, and quicker to fix.

With our Live Testing solution, you can test your websites and mobile apps interactively on thousands of real mobile devices, virtual mobile devices (simulators and emulators), and desktop browser/OS/resolution combinations.

With these tools, developers have the ability to debug faster, facilitate collaboration, increase device coverage, and – especially when combined with Automated Testing – improve your speed-to-market.

Learn how to setup and use Live Testing features here.

Download the demo mobile app and see features in the Github repo.

Use Cases for Automated Testers

Manual testing fills in the gaps and ensures that your final product works as intended. You're stepping into the shoes of an actual user to test out your app's functionality and features on mobile devices and websites in the Sauce Labs cloud, navigating with clicks and gestures as a user would.

What automated testers may use Live Testing for:

Debug Early and Often

By testing manually throughout your software development lifecycle, you can debug issues early to save time overall. Don't wait until the end! Implement shift-left testing: start running your live tests in early development, so you can squash bugs sooner. You'll save time in the long run. More information: Live Testing Overview: Web and Mobile Apps.

Zero in on Automation Test Bugs

To get a closer look at bugs you uncover in automated tests, run a live test session to investigate it in more detail. One way to do this is by using your IDE or our JS executor to add a breakpoint in your code, and then take over the session. See Annotating Tests with Selenium's JavaScript Executor.

Improve Collaboration and Productivity

Share live test results with your team/organization. When your team is working toward a shared common goal, clear communication and transparency are incredibly important, as is the ability to see the bigger project picture. Here are a couple of features to facilitate collaboration with your teammates.

Adjust your test results visibility permissions to include your team and/or specific people:

Test Results Visibility

Invite someone to watch your Live Test session (while it's running) to observe along with you. Click the Share icon (mobile) or Invite icon (desktop), copy the URL, and share it with your recipient:

Test Results Visibility

More on Sharing Test Results

Video Demos

The following videos will give you a taste of the different testing capabilities. The types of live testing you can do are split into the following categories:

Watch the following videos to get a taste of what live testing has to offer.

Video

Live Desktop Browser Testing

Video

Live Mobile Browser Testing

Video

Live Mobile Native App Testing

Follow us on YouTube for more tips and demos: Sauce Labs on YouTube.