Posts Tagged ‘Sauce Labs’
Every web developer faces this problem once the website is implemented: cross-browser layout testing. This is a very annoying task as you have to look at your website on a lot of different browsers. We used to perform a manual check on all these browsers at the end of website development, and as a result we get some layout issues and have to find hacks to fix these deffects. But what if we could automate layout testing of the website and perform it always in all major browsers? Imagine you follow a TDD technique in your front-end development and you want to have an early feedback on layout issues. To solve this problem you could have a look at Galen Framework.
In short Galen Framework is a layout and functional testing framework that has its own language for describing the layout. The way you test layout using this approach is by declaring a set of elements on the page and rules describing where each element is expected to be. The elements are being tested relatively to each other. This way you can make your tests very flexible and run them on different browsers and even mobile devices in case your website is responsive.
In this article I would like to show you how to write a basic layout test and run it in the SauceLabs cloud. SauceLabs offers various platforms and browsers and even allows you to choose browser versions. Lets take the major browsers like: Internet Explorer 11, Firefox, Chrome, Opera and Safari on Mac. The website under test will be http://testapp.galenframework.com.
Here at Sauce, we’re dedicated to helping teams bring quality applications to market faster and more cost-effectively. Our customers use Sauce in a variety of ways based on their development and deployment processes and setups, but there are a few practices that are common to a significant number of our users who run automated tests. We’ll talk about what 7 of these best practices are and their benefits. (more…)
With Holiday Season and the close of the fiscal year approaching, we brought in all of our remote workers to spend some time together. We had the obligatory corporate holiday party, a late-night LAN party, and countless, invaluable meetings that laid the foundation for software development projects in the new year.
Our VP of Engineering also arranged our first hackathon, in which we submitted ideas for programming projects that were tangentially related to our business. To participate, we were broken into teams and powered through our ideas and execution over two days.
Some of our developers have been interacting with Android phones, but haven’t had a chance to play with them. Thus, I ended up on a team of three with the goal of getting multiple Android devices to sing in harmony.
We’re happy to share the result of our efforts with this cheerful holiday video.
So, how does it work?
We went with a pretty quick-and-dirty approach, seeing as this was a two-day event. Having multiple devices sync musical notes in realtime was definitely out of the question, so we opted for seeing if we could coordinate the phones to begin playing their individuals parts of a song at the same time.
Android devices are finicky and difficult to coordinate, many of their operations take varying amounts of time, even on identical devices. Simply pushing a song to each of them and telling them to play, results in some phones playing within a second while others can be up to four seconds behind.
Here’s what we did:
@classam wrote a python script which takes any MIDI file and distributes its separate instrumental parts onto an arbitrary number of tracks. It’s pretty neat: specify just two tracks, and half the parts of the song will be played on one track, and half on the other. If you specify more tracks than available parts, it copies the more significant parts onto the leftover tracks so every phone will feel like it’s a valued member of the choir.
I wrote an Android app which runs on the phones. The app runs on each phone and listens on a socket. When it gets the ‘GO’ command over the USB cable, it plays the music file it’s been given. It also displays a musical visualization of the sound it’s playing so you can match up the phones to the sounds you hear.
When you glue our three pieces together, the following happens:
- A MIDI song gets broken into parts, one for each phone
- The parts of the song get uploaded, one to each phone
- The song-playing app gets started on all the phones
- The ‘GO’ command gets sent to all the phones at once
Now they all play together!
Other hackathon projects included experimenting with different types of network messaging solutions, devOps management tools, ECMAscript7, contributing to open source projects like Travis CI, and building hardware which displays the state of our continuous integration build.
Be warned, we didn’t polish the code for this blog post but you can find it on github: https://github.com/classam/5rat
-Jonah Stiennon, Ecosystems, Sauce Labs
Want to work at Sauce Labs? Submit your resume! https://saucelabs.com/careers
To recap, Jonathan gave listeners a tour of Appium version 1.3.x, including the stability improvements and features the team has added since the Appium 1.0 release back in May of 2014. He also touched on the following:
- Appium 1.3.x release features and improvements
- New platforms
- Better hybrid support
- Examples of maturing Appium clients & more
We had great feedback on the content and an influx of interesting questions that got addressed in the Q&A at the end.
Missed the webinar, need to hear it again, or want share it with your team? Check out the slides below (more…)
Sauce Connect was designed with security as priority one. But given this technology’s critical position in your testing process we know that performance and utility are important, too. For that reason we have made two major improvements to Sauce Connect tunnels. (more…)
We are passionate about building products and services that help our users maximize the value they get out of their continuous integration and continuous delivery workflows. And while our core products serve this mission well, especially if you have integrated your CI server and are passing us test statuses, we realized we can do even more. We are excited to announce that we have begun work to completely overhaul the Sauce Labs UI and create a new experience specially designed for CI/CD workflows. The new UI will begin rolling out in phases next month. (more…)
We’ve just released our new platform configurator that easily generates the code you need to configure your automated tests to run on Sauce. You can select the automation API, device type, operating system, and browser version you want to test with, and it will automatically generate a snippet of code for those desired capabilities. You can toggle between code generated for different languages. (more…)
Mobile testing tools are experiencing a growth spurt. New products and services emerge nearly every day, and the time and energy needed to evaluate them may make all the free trials in the world seem not so free. This article looks at several mobile testing tools, listing their benefits, features and tradeoffs to help testers and IT managers make smarter investment decisions.
This guide provides a compendium of Selenium WebDriver resources to help beginners or advanced users learn about the Browser Test Automation framework. The guide also includes various other platforms and tools that allow you to build out a Test Automation Framework.
Use of automated testing software is gaining popularity for many reasons. Automated software testing enables an organization to leverage technology to perform mundane repetitive tasks efficiently, saving both time and cost. Another side effect of automating your test is that It gives you more time to create tests, increasing overall test coverage. However, these benefits come at a cost. Data shows that about 80% of Automation initiatives fail for various reasons. To ensure that the test automation is successful and offers maximum ROI, one should follow certain best practices.