- Getting Started with Selenium for Automated Website Testing
- Getting Started with Appium for Mobile Native Application Testing
- Selenium Bootcamp by Dave Haeffner
- Appium Bootcamp by Dave Haeffner and Matthew Edwards
My tests can't connect to Sauce. What should I do?
A general problem some users face is when outgoing connections from private networks on port 4444 are blocked, causing the tests to not reach Sauce. As a fast solution to that problem, Sauce also listens at
ondemand.saucelabs.com:80. Just use
ondemand.saucelabs.com as the Selenium host and
80 as the Selenium port.
The video is missing, even though the test finished. What happened?
Missing videos are generally caused by the need to first post-process and upload the recorded video for it to be accessible to our users through the web interface. The time these tasks take will depend on the duration of the test (longer tests will produce longer videos). A reasonable estimation is that video processing and uploading consumes around 30% of total test time. This means that if your test takes 1 minute total (between browser start and shutdown), the video will take 20 seconds to upload to your account page. Additionally, if a test takes 10 minutes, it may take us up to 3 minutes to have the video ready.
Please let us know if you find videos are taking longer than that to process.
Open Commands time out, even though I see the app loaded in the video. Why is this?
This is generally caused by a connection gap or a problem with the application's server handling requests incorrectly. As a first step, you should proceed with a deep analysis of the network traffic. If you make it automated and run several tests at the same time, you will have higher chances of replicating the error.
Another good recommendation is to try out the captureNetworkTraffic command, which requires the Selenium instance to be started with the option captureNetworkTraffic=true and your test to use Firefox. This will let you pull the request info back out as JSON/XML/plain text. Then you can parse that content and find any problems.
My tests are taking too long to start. What should I do?
We're constantly working to making our resource allocation as slick as possible, but at certain times, when our service is under very high load, this could take longer than expected. Please check our status page to see if there's an ongoing issue and let us know if you find this happening too often.
Tests that failed on my end appear to have passed in Sauce. How did that happen?
Because of the client/server architecture that Selenium employs, there's no information about assertion results on the server side (which, in this case, is Sauce). Here's an example. If your test has a step for validating that the title of your AUT is "My Shiny WebApp's Title", all that Sauce sees is a request to get the title from the current page. Therefor, it will only return the result, without even knowing what was expected.
assertEquals(sel.getTitle(), "My Shiny WebApp's Title");
Command requested: getTitle() Result: Your Page's Title
Notice that we use the same criteria for other kinds of failures, such as a Selenium exception for trying to click on a non-existent element. The reality is that tests on your end could be coded in such a way that failures won't always end up as a failed job.
The good news is that you can let Sauce know what actually happened with your tests. Check out our Pass/Fail API to do it from within your Selenium tests.