June 2016 Summaries
11 posts from Sauce Labs
Filter
Month:
Year:
Post Summaries
Back to Blog
CasperJS is a JavaScript testing framework built on top of PhantomJS (WebKit) and SlimerJS (Gecko). It provides a range of features for functional navigation, page status monitoring, network monitoring, screen capture, and data scraping. CasperJS allows assertions, making it easier to track failed tests. The API has an extensive collection of features, including the tester module, which is used for unit and functional testing assertions. CasperJS can be integrated into continuous integration pipelines to test HTTP status codes, page titles, and screens. It can be run from the command line using `casperjs test <test_file>`. The framework has excellent documentation, making it easy to learn and use. Headless browser testing serves a purpose in the delivery chain, providing an additional layer of testing beyond traditional real browser testing.
Jun 30, 2016
1,023 words in the original blog post.
Kickstart Your Automation Efforts`
Gaining traction on new automation efforts can be a challenge due to lack of time, no overall direction, or knowledge paralysis. Teams may stall when they're short-handed and lack training, resources, or a clear strategy. However, bringing in a developer as a temporary solution can help overcome these obstacles. With the right guidance and support, a developer can bring cross-team direction, establish common strategies, clean up stale tests, and advise on best practices across the company. This approach not only helps teams make progress on their automation goals but also proves the worth of automation to the rest of the organization. By leveraging this temporary solution, companies may be able to create new positions for QA teams or attract developers who prefer working on automation efforts.
Jun 28, 2016
685 words in the original blog post.
Implementing quality first and creating an environment that allows teams to build quality into their codebase from the start is crucial. Finding bugs early on can save significant costs, with the cost of a bug increasing exponentially as it's found later in the development cycle. One team's experience with automation and test-driven development helped them shift from manual testing to automated tests, including pre-commit tests that run before code is committed. By stabilizing these tests and showing their value to the team, they were able to reduce the risk of finding bugs in later cycles, resulting in significant cost savings and improved quality.
Jun 23, 2016
914 words in the original blog post.
Sahas Subramanian discussed design patterns for scalable test automation using Selenium and WebdriverIO. He addressed various questions from the audience, including handling security authentication pop-ups, SOAP/SOAPUI testing, creating wrappers, and implementing TDM. Sahas emphasized the importance of page reloads, asynchronous behavior, and avoiding thread.sleep() in tests. He also discussed the benefits of using Sauce Labs for test automation, integrating WebdriverIO with CI servers like Jenkins, and leveraging UI map repositories. The key takeaway is that scalable test automation requires a combination of practical patterns, frameworks, and tools to achieve stability and maintainability. Sahas encouraged evaluating different choices based on goals and development stacks.
Jun 23, 2016
2,222 words in the original blog post.
The importance of end-to-end GUI tests in verifying business workflows is emphasized. Adopting a page object pattern helps to interact with HTML elements on the webpage in a way that makes tests more maintainable and reusable. Following the "Tell Don't Ask" principle allows for better understanding and easier maintenance by moving logic into the page object. The Single Responsibility Principle suggests keeping assertions, exception handling, and reporting within the test. Dealing with asynchronous behavior requires considering the end-user experience and consistently bubbling exceptions back to the test. Linting, building, publishing, and sharing page object code is crucial for good coding practices, while Sonar analysis and quality gates can help prevent traditional mistakes. Treating test code like production code promotes better development habits.
Jun 16, 2016
926 words in the original blog post.
Automated UI and browser testing on Sauce Labs allows developers to test web as well as mobile native & hybrid applications across hundreds of browser / OS platforms, including iOS, Android & Mac OS X. Testing is an important part of developing high-quality apps that are bug-free, offering specific benefits such as increased test coverage and efficient testing. Automated UI testing can be especially useful for replacing "real life" testing with real browsers, simulating usage and accurately testing the most important paths through an app. By using Sauce Labs' cloud-based testing solution, developers can save money by eliminating manual testing costs, reduce time to test from hours or days to minutes, and increase test coverage and user satisfaction. The platform also provides features such as screenshots, videos, console logs, and debugging tools to help identify issues faster and speed up debugging. Additionally, the capacity is instantly scalable, allowing developers to grow their testing along with their product.
Jun 10, 2016
646 words in the original blog post.
Robotium is a popular Android automation framework for testing native and hybrid Android apps using the black box method. It can be used with or without the source code of the app, and runs on both emulators and real devices. Robotium aims to make writing tests simple by simulating user actions such as touching, clicking, and typing. However, it has limitations, including requiring a separate test application from the main app, not supporting multiple languages or frameworks, and only running on one device at a time. In contrast, Appium follows four rules for mobile automation: testing the same app submitted to the marketplace, writing tests in any language, using a standard automation specification and API, and building a large open-source community effort. While Robotium meets some of these principles, it does not excel in others, and Sauce supports Appium as a more flexible and robust option.
Jun 10, 2016
651 words in the original blog post.
Selenium is a powerful tool for automating web testing, but it's essential to understand its strengths and limitations before writing tests. To increase the chances of success, define a test strategy by answering four questions: how your business generates value, how users use your application, what browsers are used, and what have broken in the application before. This will help narrow down efforts to critical functionality and browsers. Choose a programming language that suits Selenium well, considering factors such as who will own the tests, available open-source frameworks, and ease of development. For this course, Java is chosen, but other languages like Python or Ruby can also be used. Selecting an integrated development environment (IDE) like Eclipse or IntelliJ is crucial for productivity when writing Java code.
Jun 10, 2016
541 words in the original blog post.
Appium is an open source tool designed to test mobile apps of all kinds, including native, hybrid, and mobile web applications. It uses a server-client architecture similar to Selenium, but instead of a desktop browser, it runs on a mobile device such as a simulator, emulator, or physical device. To use Appium, users need to install dependent libraries for each device they want to test, and then set up the necessary tools and frameworks for their chosen programming language. The tool offers a one-click installer called the Appium GUI, which provides an inspector that enables easy configuration of the app and Appium, as well as features such as recording and playback of user actions. Once set up, users can verify their setup by using the "Doctor" functionality, and then choose a programming language to write tests in, such as Ruby. With Appium, users are ready to load up a test app and step through it, making it an ideal tool for mobile app testing.
Jun 10, 2016
729 words in the original blog post.
To make manual mobile testing effective, it's essential to have a structured approach. The 7 golden rules for manual mobile testing provide a framework for testers to plan, organize, and execute tests efficiently. Rule #1 emphasizes the importance of making a plan, including deciding which test cases to manually test and when to test what. Rule #2 highlights the need to define a click path for each use case, ensuring that every step is accounted for. Rule #3 stresses the significance of researching the market and testing on multiple devices to ensure compatibility. By following these rules, testers can identify bugs and flaws methodically, repeat tests on different devices, and document findings to facilitate collaboration with developers. A structured approach helps minimize human error and accelerates the testing process.
Jun 10, 2016
1,128 words in the original blog post.
There is a new webinar titled "Design Patterns for Scalable Test Automation With Selenium & WebdriverIO" scheduled for Wednesday, June 15th at 11:00AM PDT / 2:00PM EDT. Webdriver.io is a relatively new framework that supports ES 2015 and promises out-of-the-box integration with Sauce Labs and parallel test runner capabilities. It uses the Page Object pattern to achieve reliable tests, which involves defining a UI map, page object APIs, tests, and integrating with Sauce Labs. The framework provides a rich set of APIs for short and concise test code, allowing organizations to focus on their core responsibility - automating verification processes quickly.
Jun 07, 2016
454 words in the original blog post.