November 2019 Summaries
8 posts from Sauce Labs
Filter
Month:
Year:
Post Summaries
Back to Blog
Appium can be used to automate end-to-end (E2E) user flows on iOS devices, which cannot be achieved with native frameworks like Espresso and XCUITest. A real E2E user flow involves switching between an app and a browser, such as when opening a link in the browser from within the app. To achieve this, Appium's `fullContextList` capability is used to retrieve an array of Webview-objects containing the id, title, and URL of each loaded web view. By filtering out the native app context and selecting the correct web view based on its URL, it is possible to switch contexts and interact with the browser as if it were a desktop web page. This can be achieved by using Appium 1.15.0 or later, which includes a new capability called `includeSafariInWebviews` that adds Safari as a Webview, resolving a challenge previously faced when trying to automate user flows involving Safari.
Nov 21, 2019
1,798 words in the original blog post.
Low-code app frameworks reduce the amount of time and programming skills required to produce an application, but functional testing and performance testing for low-code apps are just as critical as they are for conventional applications. Low-code apps require thorough testing and vetting before release, particularly in terms of discovering bugs within prebuilt components, testing APIs, ensuring external resources can be consumed, and reviewing overall quality. Performance and deployment unpredictability also pose challenges, making performance testing even more important. Additionally, low-code platforms often have limitations on deployment configurations, reducing the complexity associated with building an app, but requiring QA teams to ensure compatibility with various environments.
Nov 21, 2019
1,111 words in the original blog post.
Automating real E2E user flows with Appium on Android devices presents several challenges, including handling multiple browsers and webviews, dealing with different ChromeDriver versions, and navigating welcome screens. To overcome these challenges, developers can use various strategies such as executing adb shell commands to hide or show welcome screens, using try/catch blocks to handle notification scenarios, and waiting for specific contexts or webviews to appear. By employing these techniques, developers can create robust scripts that successfully automate real E2E user flows on Android devices with Appium.
Nov 21, 2019
2,668 words in the original blog post.
Joe Colantonio is a well-known figure in the testing community, having created TestGuild, an online community space for software engineers to learn about automation tools. He started his career doing tech support and later became a QA engineer, falling in love with automation testing after discovering Winrunner and LoadRunner. Joe has worked at several companies and has been blogging since 2010, adding the TestTalks podcast to share knowledge on software testing. He also hosts online conferences, including Automation Guild, which focuses on test automation topics, aiming to provide affordable education to testers worldwide. With a strong relationship with Sauce Labs, Joe interviews experts in the field, such as Jason Huggins and Nikolay Advolodkin, and recently left his job to focus full-time on TestGuild, aiming to make it a must-use resource for full-stack automation needs.
Nov 19, 2019
852 words in the original blog post.
This script enables deep linking for Android emulators and real devices as well as iOS simulators and real devices. It uses the `mobile:deepLink` command in Appium to open a URL on the device, which can be used to trigger deep links. The script also covers the challenges of using Siri on iOS devices and provides a solution for launching Safari and entering the deep link URL. For cross-platform compatibility, a helper method is created that can be used to open deep links on both Android and iOS devices.
Nov 18, 2019
1,911 words in the original blog post.
Simple SauceTest is an open source automation framework designed to simplify the process of writing automated tests for Sauce Labs. The project provides cross-language bindings for Selenium functionality, including Java, C#, Python, and Ruby, with the goal of providing a simple and straightforward way to connect to Sauce Labs and start sessions. The framework aims to solve two main problems: making it easy to start sessions and exposing Sauce features in a simpler way. Simple Sauce also prioritizes a developer-friendly user experience, allowing users to write tests quickly and maintainably. By contributing to the project, developers can help shape its features and improve their overall experience with Sauce Labs.
Nov 18, 2019
507 words in the original blog post.
Functional testing is a type of software testing that involves verifying the application's functionality against its functional specifications. It comes in various forms, including unit testing, acceptance testing, and integration testing, which can be automated to ensure core functionality and prevent defects from being introduced into production. Investing in functional testing and test automation offers several benefits, including early discovery of major defects, increased confidence with the product, and a reduction in troubleshooting and debugging time. With effective software testing practices, developers can focus on innovation, design, and development of new features, leading to higher quality applications that meet user expectations.
Nov 05, 2019
1,259 words in the original blog post.
The WebDriver protocol is a remote control interface that enables introspection and control of user agents. The protocol provides a platform- and language-neutral wire protocol for out-of-process programs to remotely instruct the behavior of web browsers. Sauce Labs, as a member of the W3C organization, has contributed to the design and development of the protocol, which drives all functional testing on its cloud-based platform. Improving WebDriver's functionality and usability directly impacts not only Sauce customers but also every user of popular automation tools such as Selenium and WebdriverIO. Recent discussions at TPAC focused on improving the protocol's performance, particularly in terms of asynchronous session creation and bidirectional communication. The proposed changes aim to reduce latency and improve stability in web automation, enabling frameworks to leverage accessibility features and simplify testing processes.
Nov 04, 2019
1,850 words in the original blog post.