The Sauce Labs Cookbook

Sauce Headless

Front End Performance Testing

Insights

External Resources

More Info


Page tree
Skip to end of metadata
Go to start of metadata

Health Check

Codacy Badge

Table of Contents

Overview

The following repository: https://github.com/saucelabs-training/demo-java, allows you to quickly run simple automated tests in order to validate your Java test environment with your saucelabs.com account credentials. Below are the steps to configure your test environment and run a simple automated test.

For Demonstration Purposes Only!

The demo scripts in this repository allow you to run simple automated tests in order to validate your Java Selenium environment and your saucelabs.com account credentials.

Disclaimer:

The code in these scripts is provided on an "AS-IS" basis without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement. These scripts are provided for educational and demonstration purposes only, and should not be used in production. Issues regarding these scripts should be submitted through GitHub. These scripts are maintained by the Technical Services team at Sauce Labs.

Solution Outline

The repository has several demonstration scripts that fit various use cases, such as:

If you just wish to get up and running quickly with Sauce Labs, please follow the instructions below.

Prerequisites

In order to run this demo on your local machine, you must download, install, and configure the prerequisite software.

 Click here to view the prerequisite software installation guide

Before attempting an automated test, ensure you've installed the following software:


Install Git

Git is a version control system that lets you check out code from a repository, work with that code on your own branch, and then merge that code with any changes that have been made by other developers. Git is an essential tool for distributed development teams, and is a critical component of the continuous integration/continuous development toolchain.

MacOSX:

  1. Go to https://git-scm.com/downloads.
  2. Under Downloads, click Mac OS X.
  3. When the download completes, double-click the .dmg file open the installer package.
  4. Double-click the installer package to begin the installation.

    Security Warning

    You may see a warning message that the package can't be opened because it's not from a recognized developer. If this happens, go to System Preferences > Security and Privacy Settings, and click Open Anyway.

  5. Click Continue for the installation, and enter your local password to authorize the installation.

Windows:

  1. Go to https://git-scm.com/downloads
  2. Under Downloads, click on Windows.
  3. When the dialog opens asking if you want to allow the app to make changes to your device, click Yes.
  4. Follow the steps in the setup wizard to complete the installation. You should accept all the default settings.

Install IntelliJ

IntelliJ is an integrated development environment that incorporates several tools for developing and running Java code. You will be using IntelliJ to write and edit the sample Selenium scripts used in the exercises. For these exercises you only need to download the free Community edition.

MacOSX:

  1. Go to https://www.jetbrains.com/idea/
  2. Click Download.
  3. On the Downloads page, select macOS.
  4. Under Community, click Download.
  5. When the download completes, double-click the .dmg file open the installer package.
  6. Double-click the installer package to begin the installation.
  7. Drag and drop the IntelliJ icon into the Applications folder.

Windows:

  1. Go to https://www.jetbrains.com/idea/
  2. Click Download.
  3. On the Downloads page, select Windows.
  4. Under Community, click Download.
  5. When the download completes, double-click the .exe file to launch the installation wizard. You should accept all the default settings.

Install the JDK

The Java SE Developer Kit lets you develop and deploy Java applications on desktops and servers. It is needed to compile our test code.

This project requires JDK version 1.8 at the least.

MacOSX:

  1. Go to the JDK downloads page, locate the latest release, select the download button.
  2. Under Java SE Development Kit {version}, select the Accept License Agreement radio button.
  3. Click the download link for Mac OS.
  4. When the download completes, double-click the .dmg file open the installer package. Double-click the installer package to begin the installation.

Windows:

  1. Go to the JDK downloads page, locate the latest release, select the download button.
  2. Under Java SE Development Kit {version}, select the Accept License Agreement radio button.
  3. Click the download link for Windows x64.
  4. When the download completes, double-click the .exe file open the installer package.
  5. Double-click the installer package to begin the installation. You should accept all the default settings.

Install Maven

Maven is a build automation and project management tool use for managing project builds, dependencies, and documentation. It uses a project object model (pom.xml) to manage Java-based projects. With our use case, it's very useful for configuring and managing test suites.

MacOSX:

  1. Go to Maven Apache website and download the following package: apache-maven-<version>-bin.tar.gz

  2. Extract the archive

    $ tar -xvf apache-maven-<version>-bin.zip
    
  3. Add the bin directory of the extracted directory (apache-maven-<version>) to the PATH variable:

    $ export M2=$M2_HOME/bin
    $ export PATH=$M2:$JAVA_HOME/bin:$PATH
    

    ***WARNING!***: Make sure you've set JAVA_HOME othewise mvn commands won't run. For instructions on how to set JAVA_HOME, visit this link

  4. Check to see if maven installed correctly:

    $ mvn -version
    

Windows:

  1. Go to Maven Apache website and download the following package: apache-maven-<version>-bin.zip
  2. Unpack the archive using an archive tool (for example WinZip)
  3. Add the unpacked distribution���s bin directory to your user PATH environment variable by:
    1. Open up the system properties (WinKey + Pause)
    2. Select the Advanced tab, and the Environment Variables button
    3. Add/Select the PATH variable in the user variables with the value:
      C:\Program Files\apache-maven-3.6.0\bin
      
  4. Open a new command prompt (Winkey + R then type cmd) and run mvn -v to verify the installation.

Use a Pre-built Workspace.

If you want to skip the prerequisite setup, you can try this demo in a cloud-based IDE hosted by gitopd.io

  1. After the session launches, navigate to the terminal and use the following commands to export your Sauce Labs credentials:

    eval $(gp env -e SAUCE_USERNAME=******)
    eval $(gp env -e SAUCE_ACCESS_KEY=******)

    Note: If you start a new session or terminal in gitpod you have to re-apply environment variables. For more information consult the gitpod documentation.

    eval $(gp env -e)
  2. Run a Maven test:

    mvn test -Dtest=Module2TestNGTest -pl on-boarding-modules/testng

Sauce Labs Test Setup

Real Devices

Emulators and Simulators

Visual E2E automation

Prerequisites

Select the button below to try this demo in Gitpod

Click here to see how to setup your Sauce Labs credentials in Gitpod


Project Setup


Import the Project

  1. Create a directory on your machine.
  2. Clone this repository into said directory.
    $ git clone https://github.com/saucelabs-training/demo-java.git
    
  3. Import the project into your IntelliJ (or IDE of your choice) as a Maven Project.
  4. Click through the prompts, and confirm when it asks to Import from Sources
  5. Choose the demo-java directory as the root directory of the project.

Set Your Sauce Labs Credentials

  1. Copy your Sauce Labs username and accessKey in the User Settings section of the Sauce Labs Dashboard.

  2. Open a Terminal window (command prompt for Windows) and set your Sauce Labs Environment variables:

    Mac OSX:
    $ export SAUCE_USERNAME="username"
    $ export SAUCE_ACCESS_KEY="accessKey"
    
    Windows:
    > set SAUCE_USERNAME="username"
    > set SAUCE_ACCESS_KEY="accessKey"
    

    To set an environment variables permanently in Windows, you must append it to the PATH variable.

    Go to Control Panel > System > Windows version > Advanced System Settings > Environment Variables > System Variables > Edit > New

    Then set the "Name" and "Value" for each variable

  3. Test the environment variables

    Mac OSX:
    $ echo $SAUCE_USERNAME
    $ echo $SAUCE_ACCESS_KEY
    

    ***WARNING FOR UNIX USERS!***: If you have problems setting your environment variables, run the following commands in your terminal:

    $ launchctl setenv SAUCE_USERNAME $SAUCE_USERNAME
    $ launchctl setenv SAUCE_ACCESS_KEY $SAUCE_ACCESS_KEY
    
    Windows:
    > echo %SAUCE_USERNAME%
    > echo %SAUCE_ACCESS_KEY%
    

Run a Maven Test

  1. Run the following command to update any package dependencies:

    $ mvn dependency:resolve
    
  2. Then run the following command to compile your test code:

    $ mvn test-compile
    
  3. Finally, run the following test to see if you've properly configured the test environment:

    $ mvn test -Dtest=Module2TestNGTest -pl on-boarding-modules/testng
    
    

    If you wish to run a specific test/sub-module in this emusim_testng use the following command:

    # for running a specific test:
    mvn test -Dtest=testname
    
    # for running a specific sub-module
    mvn test -pl subproject/