Error Messages on Sauce and What They Mean

Update: the content on this blog post is out of date. Please visit our documentation Wiki for a current list of common error messages.

Ever run into an error message on Sauce you don't understand? Alex put this handy list of error messages on Sauce together. You can find the original doc here. This will soon be available for reference on Sauce's website, but in the meantime, brush up on the error messages you might see on Sauce and what they mean.

==== AUTOMATED JOB ERRORS: ====

-- Invalid credentials --

Some combination of the following error messages will be thrown: OpenQA.Selenium.WebDriverException : Unexpected error. Unknown username. You sent username 'None' in your browser string, which is not a valid Sauce Labs account. OpenQA.Selenium.WebDriverException : Unexpected error. Invalid Credentials. org.openqa.selenium.UnsupportedCommandException: Invalid Credentials. You sent the access key 'None' but it does not match the access key associated with your account. Please login to saucelabs.com to retrieve a valid access key. This indicates that Selenium could not parse the credentials you sent. If you're using "access-key" in your test setup, try replacing it with "accessKey", or vice versa, as it's language-dependent.

-- User Terminated --

This means that you ended the job, either through the "Cancel Job" button, by jumping into an automated session from the Sauce website, or via a breakpoint. Since this terminates the job immediately and hands over control to you, the test will not upload any screenshots, video, or logs that were collected previously.

-- Timeout errors --

1. "Test did not see a new command for 90 seconds. Timing out."

2. "Selenium took too long to run your command"

3. "Test exceeded maximum duration after 1800 seconds"

Sauce builds in a few default timeouts to keep uncontrolled tests from eating up your minutes. Here's a brief rundown on what each of the available timeout settings does:

1. The "idle-timeout" (default 90 seconds) ends the job if no commands are received from your Selenium script.

2. The "command-timeout" (default 5 minutes) ends the job if a single command takes too long to run.

3. And the "max-duration" timeout (default 30 minutes) ends the job if your entire test takes longer than you want.

You can set these to different values using "desired capabilities" settings in the setup of your test, as described at the URL above.

-- Unsupported OS/browser/version combo --

Check to make sure that the browser, browser-version, and platform settings you're using are in our supported list

-- Browser failed to start --

The twin sibling of "Unsupported version", this message means that something a little more unusual is off in your test setup. Usually, this means that you're specifying a Selenium version that isn't compatible with the browser/version/OS you've selected. (For example, you should not be setting this for any mobile tests.)

Try simply omitting that setting, and if you still see the issue, feel free to write to help@saucelabs.com with a description of the issue and a copy of your setup code.

-- Client disconnected during getNewBrowserSession request --

This means that your test runner decided to end the job before it had fully initialized on Sauce's end. There are a few potential causes:

1. You're running too many tests at a time: Check the left sidebar on your Account page. It shows a "Parallel tests" number, which is the maximum number of tests you can run at a time, based on your subscription level. If your account can run 2 parallel tests, and you're launching 10, 8 will be "queued" until one of your tests finishes and a slot frees up. However, if this takes a long time, your test runner may choose to end the queued jobs after a few minutes instead of waiting. Just make sure you're launching a reasonable number of simultaneous tests for your account.

2. High job wait times: Check our status page and/or follow @sauceops on Twitter for up-to-the-minute news about any issues within the service. If something causes demand for certain VMs to stack up, your jobs may be queued and (as above) terminated by your test runner.

Tests that end this way are never taken out of your minutes.

-- Runaway execution. Please contact help@saucelabs.com for assistance. --

This message means that an error has been detected in the VM or in Selenium, which caused the test to behave abnormally, and Sauce detected this and shut down the job. These are very rare and usually do not recur. If you do see more than one on the same test, let us know.

==== MANUAL JOB ERRORS: ====

-- Job does not load --

There are two common scenarios here:
• Error message: "Uh oh! Some error occurred while connecting to the browser"
• The job seems to start, but you see only a white text box in the middle of a black screen.
Both of these indicate that your browser is having trouble displaying the VNC stream from the remote machine. Take the following steps to troubleshoot:
• Check the video on Sauce: If the recorded video after the job shows a steady video stream, this indicates that the issue is in your computer or connection to Sauce. However, if the Sauce video shows the same issue, that indicates an issue in our service. In that case, send us the URL for the job page and a screenshot of the issue.
• Check that your browser is up to date: If you're on an older version, this may cause incompatibilities. Update your browser and try again.
• Check your firewall: make sure that your machine allows full access for the interactive stream over the required ports.
• Check that the Internet connection is stable: We recommend running Sauce tests from a machine with a wired Ethernet connection, to ensure a steady connection. If the connection flickers, this error could be thrown.

==== FRAMEWORK-SPECIFIC ERRORS: ====

-- Appium: Failed to download mobile app --

First, if you're having trouble, try using Sauce's temporary storage. Uploading your app to our servers makes it download faster.
If you're using this, make sure that you're specifying the "APP_PATH" as "sauce-storage:your_file_name" -- NOT the saucelabs.com/rest/v1/storage... URL.
And when you upload your file to our server, check the JSON response. It should be formatted like this:
{"username": "USERNAME", "size": 99999, "md5": "bc01aad123456789glhf9ee6e8c7eab3", "filename": "AppName.zip"}
Make sure that the size is something reasonable for the .zip file you uploaded. If not, check your file and try again. This should resolve the issue.

Written by

Bill McGee

Topics

Frameworks