June 20th, 2016 by Yaroslav Borets
We love open source. As advocates and contributors, we benefit from community participation and return the love via Open Sauce – free access to the Sauce Labs testing platform for open source projects. We’ve recently made some improvements to Open Sauce that enhances the UI and makes sharing results easier. Here’s the rundown:
- Simplified Badge Sharing Flow. Open Sauce users will see a new badge directly on their dashboards notifying them of the status of their latest build. Clicking on the badge will reveal a new window with inline links.
- New Build Status Badges.We’ve developed two new icons / badges that users can use to share the status of their latest builds on their GitHub pages or embed them anywhere where the information is needed.
- New Build Matrix. In addition to the badges, we’ve revised our existing browser matrix to allow our users to quickly see which browser/OS combinations the build ran against and which platforms experienced a failure.
- Redesigned Public Open Sauce Profiles. Clicking on one of the status badges or build matrixes will automatically redirect to a branded open sauce UI that allows anyone to see recent jobs performed by the open sauce user without the need to log in.
Finally, the UI changes are only targeted at our Open Sauce users and won’t be seen by users on any of our other plans. As before, users with private builds (any of our paid plans) can choose to use the new badges by adding an HMAC token.
If you have any questions, please drop a note to firstname.lastname@example.org.
The Sauce Labs Team
June 17th, 2016 by Bill McGee
Thanks to everyone who joined us for our recent webinar, “Design Patterns for Scalable Test Automation Using Selenium and WebdriverIO”, featuring Continuous Delivery and Quality Architect Sahas Subramanian.
In this webinar, Sahas gave an explanation and showed examples of design patterns that can help you build stable and scalable automated tests using Selenium, WebdriverIO and Sauce Labs. The presentation also covered:
- Rationalized automation – when to use WebDriver and browser-based automation technique
- Patterns & practices
- Test, Page Object, UIMap and their respective roles
- Dealing with asynchronous behavior without using thread.sleep
- Sharing UI map, Page Objects, and how to avoid redundant code
To learn more about WebdriverIO, check out this recent blog post from Sahas, “Accelerate Multi-browser Testing Using Sauce Labs and Webdriver.io“, as well as this in-depth post that complements the Design Patterns webinar.
Access the recording HERE and view the slides below:
June 16th, 2016 by Sahas Subramanian
We all know the importance of the Test Automation Pyramid and why it makes sense to align various automations in this way. Given that guiding principle, end-to-end GUI tests sit at the top, with a considerably small number of tests compared to other types (Unit, Integration, Service tests), and they are useful to verify business workflows. In the book Agile Testing: A Practical Guide for Testers and Agile Teams, the authors explain the testing quadrants, the GUI tests’ fit in the grand scheme of things, how to rationalize intention, and be smart about overall Quality strategy.
The intention of the E-E GUI tests is to verify “whether we build the right thing from the business perspective.”
Read the rest of this entry »
June 14th, 2016 by Bill McGee
We’re excited to announce that Sauce Labs is sponsoring the hack.guides() 2016 Tutorial Contest. Between now and July 30th, 2016, automated test engineers and developers from around the world can share their expertise by creating high-quality tutorials and guides for tips and tricks on using Selenium and writing awesome automated testing scripts. The hack.guides() authoring contest is unique; it brings the developer community together to create and curate collaborative content – all tutorials will be open-sourced on Github. If your tutorial is judged to be the best, you’ll be in line to win $500 from hack.guides()
Take a look and consider sharing your experiences & best practices by writing about:
- How to write stable and reliable Selenium or tests
- How to ensure your Selenium tests work in multiple browsers (Chrome, FF, IE, Safari)
- How to write source code so that it is easily testable via Selenium (id’s, accessibility id’s, classname, etc.)
Or anything that comes to mind. For more details, check out the official website.
Happy tutoring from your friends at Sauce Labs!
June 8th, 2016 by Isaac Murchie
We are pleased to announce the release of Appium 1.5.3 through npm and on Sauce Labs!
Appium 1.5.3 is primarily a bug-fix release. However, it also adds functionality to support for iOS WKWebViews and for automating the iOS Calendar app, as well as adding a capability to use
abd for screenshots in Android web/hybrid sessions, and providing a list of Android activities to wait for on session startup.
- Fix handling of statuses from proxied drivers (Chrome, Selendroid, etc.).
- Fix intermittent bug where creating a directory might crash the server.
- Add support for
- Add support for automating the built-in Calandar app.
- Fix bug where scrolling in Safari would crash.
- Fix handling of Safari in “new window” state.
- Fix handling of arguments for
keys method so that clients that send an array do not fail.
- Clean up handling of
ipa files for real device tests.
- Make sure
processArguments parsing works.
nativeWebScreenshot capability, to use
adb screenshots instead of ChromeDriver if necessary.
- Add support to auto-select device based on
platformVersion rather than using first available device.
appWaitActivity to be a list of activities.
- Fix setting wifi and data state.
deviceUDID when requesting session details, so tests have more information about running state.
- Make sure unlock app is closed at the end of a session so that the device works again.
- Fix handling of unlock to make less flakey.
- Make sure unicode encoding works correctly when strings are long.
- Fix handling of
- Fix bug where early ChromeDriver failure crashed Appium.
June 7th, 2016 by Sahas Subramanian
There are a lot of webdriver-based testing frameworks out there. Webdriver.io is a relatively new cool kid on the block. It has enough to differentiate itself and helps us to focus on creating reliable GUI tests. A few highlights on what this framework comes with:
- Out-of-the-box ES 2015 support – leverage all the goodness that ES6/ES2015 offers.
- Out-of-the-box promises support – This framework uses Q.js internally, and every single command represents a promise. The second command will be executed only after the first command promise is resolved.
- Out-of-the-box Sauce Labs runner service – to run tests on Sauce Labs
- Out-of-the-box parallel test runner (wdio) – to run tests across multiple OS/Browser mixes in parallel
- A rich set of APIs makes the test code short and concise
These advantages help organizations focus on their core responsibility — to automate their verification process quickly instead of developing and maintaining custom libraries to support automation efforts (more productivity — we all love it).
Read the rest of this entry »
May 31st, 2016 by Bill McGee
In honor of Father’s Day, taking place Saturday, June 19th, Sauce Labs is running a three-week long Twitter contest. Enter now for your chance to win a deluxe Dollar Shave Club Father’s Day shave kit and a subscription for three months – for you or, as a gift to Dad!
#TestDaddy Contest Rules
Participating is simple: tell us how Sauce Labs helps you save time, or “shave” time, off your busy day via a tweet to @saucelabs, using the hash tag #TestDaddy. Keep your response to 140 characters or less – no long, shaggy dog stories!
The contest runs now through Wednesday, June 15th. On Friday, June 17th, one winner will be announced via the @saucelabs Twitter handle. Winners will be selected based on the creativity of their responses, and will win a deluxe Dollar Shave Club Father’s Day shave kit and a subscription for three months!
So tell us how you’ve shaved time off your software development and testing process by using Sauce, and get in the running for a deluxe Dollar Shave Club Father’s Day shave kit and 3-month subscription. Don’t forget to use the required hash tag, #TestDaddy to be included, and hey, if you want to follow @saucelabs, Bob’s your uncle!
The contest is open to dads, moms, little and big shavers, and anyone using Sauce Labs of course!
May 26th, 2016 by Bill McGee
Thanks to everyone who signed up for our recent webinar, “Practical Tips and Tricks for Selenium Test Automation”, featuring Selenium project contributor Dave Haeffner.
In this presentation, Dave reviews the best and most useful tips & tricks from his weekly Selenium tip newsletter, Elemental Selenium. If you have unanswered Selenium questions, or want to learn how to use Selenium like a pro, check out the recording and slide deck as Dave covers topics such as:
- Headless test execution
- Testing HTTP status codes
- Blacklisting third-party content
- Load testing
- Broken image checking
- Testing “forgot password”
- Working with A/B testing
- File downloads
- Additional debugging output
- Visual testing & cross-browser testing
Want to learn more about Selenium? Download Dave’s Selenium Bootcamp for a comprehensive getting started guide.
Access the recording HERE and view the slides below:
May 25th, 2016 by Joe Alfaro
In my last blog post, I described the first step on our journey from Engineering to DevOps, which was the formation of project-focused SCRUM teams. SCRUM brings many opportunities for improving the development process, but it’s wise to keep in mind the old saying “SCRUM doesn’t fix problems, it points them out.” This means that the very first thing to emerge from SCRUM is transparency, because it requires us to examine how our teams and processes actually function on a day-to-day basis, and through ceremonies like stand ups and retrospectives, we are asked to clarify our goals and purposes to our colleagues, our customers, and ourselves.
The essence of SCRUM ceremonies is communication, and communication leads to transparency. In standups, making a statement about what you plan to do that day, and what is blocking you, provides a simple way to bring transparency about your work to your team. But it also forces you to be introspective, to be clear to yourself about what you are doing, what the blockers and issues are, and what it is that you can accomplish. More than anything else, stand ups are opportunities for reflective communication that surfaces problems at the same that it seeks to resolve them and move the entire team closer to their goal. The same can be said of retrospectives, but here the emphasis shifts from internal to external communication. From the internal perspective, retrospectives are useful for documenting issues and how they were met, and then using that information for iterative improvement. But they are much more important for communicating to customers that we understand where our challenges are, and that we have ways to deal with them. Read the rest of this entry »
May 24th, 2016 by Ken Drachnik
The Sauce Labs Ecosystem & Integrations team is proud to announce our latest ecosystem integration: Sauce Labs for Atlassian Bitbucket Pipelines. Bitbucket Pipelines is a continuous delivery service built right within Bitbucket Cloud that gives developers end-to-end visibility from coding to deployment.
As more and more devs work in agile teams, they increasingly rely on their code repos to manage code, threads and bug fixes and many use Bitbucket. As a code collaboration tool, Bitbucket is an amazing tool for managing code across large teams.
With Sauce Labs and Bitbucket Pipelines, it is easy to launch your automated Selenium and Appium tests as part of your Bitbucket Pipeline build process. Sauce Labs allows users to reduce their overall build time to as low as a couple minutes through cloud based test execution and massive parallelization. You can also leverage the over 700 browser and OS combinations including real mobile devices through Sauce Labs for Bitbucket Pipelines.
Bitbucket Pipelines is currently in Beta. To enable Bitbucket Pipelines visit Bitbucket Pipelines Integrations. You can learn more about the Sauce Labs integration on our documentation wiki.
Also, visit the Atlassian Marketplace to see additional Sauce integrations available for JIRA and Bamboo.