In the blog post for testing Windows Store apps, we’ve primarily covered what to test your apps for. While you can manually execute the verification areas we’ve discussed in the previous post, it is more efficient to automate some of these verification areas. Automating the verification of your app has many benefits. Automated testing saves time and money that you’d otherwise spend doing manual testing. Once created, automated tests can be run over and over again at minimal cost and are much faster than manual tests. This helps ensure that the quality of your app stays high and the cost stays low with every new release of the app. Automated testing also improves the accuracy of the verification because even the most conscientious tester might make mistakes during tedious manual testing.
In this post, we provide some tips and techniques on automating the testing of Windows 8 apps. Keep in mind that automated testing is a powerful technique and it requires some initial investment to reap the full rewards. The advice and examples in this post are meant to get you started, but you’ll need to build and maintain your own infrastructure on top of them. If you are looking for some lighter weight testing techniques, check out the recent blog on testing apps with Visual Studio.
A typical app test automation workflow involves these steps:
- Installation: Automate the installation of your app.
- Activation: Automate the activation of your app.
- Runtime: Automate your app when it is running.
- Lifecycle state: Automate your app being suspended, resumed, and terminated.
- Uninstallation: Automate the uninstallation of your app.
Let’s cover each of these steps in detail and the automation tools/technologies to use for each of them.
Note about testing on Windows RT
Before we dive into the automation topics, we wanted to make a quick note about testing on Windows RT. You can’t build or port x86/64 processes to run on Windows RT. Thus, all the tools and technologies discussed in the rest of this post do not apply for testing on Windows RT. We recommend that you use Visual Studio to test on Windows RT.
Automating the installation of your app
To test your app, you first need to install it on your test machine. Using Visual Studio to share an app package locally is the recommended approach for creating your app package and installing it on the test machine. In this option Visual Studio creates a folder that contains all the relevant files along with a PowerShell script that installs the appropriate certificate and license, the dependency packages, and the app package itself. You have to package your app manually, but the installation is PowerShell based and can be automated. Here is how the installation goes.
Step 1:
Enable PowerShell script execution. For security reasons, the default PowerShell execution policy restricts the execution of PowerShell scripts, so you need to override this policy. This step is manual because it requires user interaction. Luckily, you need to do this one time per machine. Execute this command from an elevated PowerShell window to enable PowerShell script execution.
Step 2:
Copy the app package folder created by Visual Studio to the test machine and execute the Add-AppDevPackage PowerShell script from a PowerShell window. Use this command:
Step 3:
Acquire a developer license. This step is manual because it requires user interaction. But you need to do this one time per machine for the validity period of the license. If your test machine already has the developer license, you can skip this step.
Accept the UAC prompt, and follow the instructions for acquiring a developer license. The below screenshots illustrate what you will see.
This first screen shot requires that you agree to the licensing terms for installing a developer license. Click I Agree if you do to proceed.
Figure 3: Accept the developer license acquisition prompt
In the Microsoft account dialog box, type your Microsoft account. If you don’t have a Microsoft account, click Sign up to create one.
Figure 4: Sign in with Microsoft account credentials
You receive a confirmation that your developer license has been created and the date that it expires.
Figure 5: Developer License acquired successfully
The next screen shot indicates that you got your developer license and your package successfully installed.
Figure 6: Installation Complete
Automating the activation of your app
Your app package is now installed on the test machine and you are ready to launch your app. You can automate the activation of your app with the IApplicationActivationManager interface. This API is available as part of the Windows SDK which is installed by default with Visual Studio 2012. Use the IApplicationActivationManager::ActivateApplication method to launch your app. The code snippet here illustrates the usage of this method.
You can compile this snippet and use it like this:
In this code snippet, the call to CoAllowSetForegroundWindow is crucial. Without this call, the app will be launched but will not be brought to the foreground. From experience, this has tripped up a number of people trying to write a launch tool.
Finally, a quick note about AppUserModelId. In this approach, the input required to launch your app is the AppUserModelId of your app. The AppUserModelId functions as a unique identifier of your app. To retrieve it, we recommend that you use PowerShell. Here’s a PowerShell script that illustrates how you can retrieve the AppUserModelId for all installed apps on your machine.
You can also use IAppxManifestReader to enumerate the apps in the package and obtain the AppUserModelId using the IAppxManifestApplication::GetAppUserModelId method. But if your primary focus is a single app that you are testing, using the registry is far simpler than writing a tool that reads your app’s manifest.
Automating the core functionality of your app
Your app has now been installed on the test machine and your automation can launch it. The next step involves automating the testing of the core functionality of your app. You can achieve this by a combination of unit testing and automating the app via its user interface using UI automation.
Unit testing and UI automation are complementary techniques that when used together can result in a broadly tested, higher quality app. Unit testing allows you to automate the core business logic within your app. UI automated testing allows you to verify your app’s functionality by simulating the usage of its user interface. A combination of these approaches enables you to get broader test coverage of your app.
Let’s go over some tools and techniques for each of these approaches.
Unit testing
Unit testing is a powerful technique for verifying the core functionality of your app. Visual Studio 2012 supports building unit tests for apps written using C# or C++. For more info on creating and running unit tests from Visual Studio 2012 see Creating and running unit tests. If you are already familiar with other unit testing frameworks, you can also continue to use those to unit test your Windows Store app.
UI automation
Unit testing can be useful for testing the inner workings of your app, but it doesn’t exercise the user interface of your app. Hp format tool sd card. We recommend UI automation (UIA) for verifying an app’s functionality through its user interface.
In the Windows 8 security model, apps don’t have the privileges required to be a UI automation client. But you can write a desktop app that acts as an automation client with your app as the target. To do this, your desktop automation client app needs to be built with UIAccess permissions as outlined inUI Automation Security Overview.
The Windows SDK includes some tools that serve as good examples of UI automation clients: Inspect.exe and AccEvent.exe. Inspect allows you to inspect the UI automation tree of both kinds of apps. AccEvent listens for UIA events. On a machine that has the Windows SDK installed, these tools are usually under %ProgramFiles(x86)%Windows Kits8.0bin<architecture>. Here are both these tools in action.
Figure 7: Inspect tool running against the Bing News app
Figure 8: AccEvent tool running against the Bing Sports app
Similar to the approach used by these tools, you can use UIA to write a desktop client app that automates your app. The Building UI Automation client applications in C++ and C# blog post is a great starting point for learning about how to build a UIA client. This blog post speaks about traditional UI automation, but the same techniques will work for any app.
The UI Automation Document Content Client sample illustrates how you can use UIA control patterns to retrieve various types of content from the target app’s window, such as headers, comments, or the current selection. The Touch Injection sample illustrates how you can use the Touch Injection APIs to simulate touch for the verification of your app.
As mentioned earlier, Unit testing and UI automation are complementary techniques that allow you to automate both the core business logic within your app and its functionality when exercised from the user interface. Use both these techniques to debug your app.
Automating lifecycle state of your app
As outlined in the managing app lifecycle blog post, an app can transition between various runtime states. From a testing perspective, it is important to verify your app in all these states. Automating the transition into these states is possible using a tool (PLMDebug) that ships with the Debugging Tools for Windows, a ready-to-use command-line tool that you can use to automate the transition of your app between lifecycle states.
If PLMDebug is not sufficient for your needs, you can use the IPackageDebugSettings interface to implement your own tool that can change the lifecycle state of your app. This API is available as part of the Windows SDK, which is installed by default with Visual Studio. The code illustrates how to use the IPackageDebugSettings API to change the lifecycle state of your app to verify that your app works as expected during these state transitions.
Finally, a quick note about PackageFullName. All approaches we looked at for managing lifecycle state require the PackageFullName as the input argument by which to identify the app. To retrieve the PackageFullName we recommend that you use the Get-AppxPackage PowerShell cmdlet as the next example demonstrates (output trimmed for readability).
Automating uninstallation of your app
For uninstalling your app, we recommend that you use the PowerShell cmdlets, specifically, Remove-AppxPackage. Here is an example (output trimmed for readability).
Conclusion
In this blog post, we’ve covered a number of tips, tools and techniques for automating the testing of your apps. Automated testing can be a cost effective way to increase the level of verification of your app and ensure that the quality never drops. That said, it is important to remember that manual testing also plays a key role in verification. It provides the human element to the verification of your app. As such, a combination of automated and manual testing will give you a well-rounded approach to testing your app.
-- Ashwin Needamangala, Principal Test Lead, Windows
Special thanks to Mete Goktepe, J. Kalyana Sundaram, Ben Betz, Will Wei, Chris Edmonds, Craig Campbell and Jake Sabulsky for their help and contributions to this post.
What is Automation Testing?
Manual Testing is performed by a human sitting in front of a computer carefully executing the test steps.
Automation Testing means using an automation tool to execute your test case suite.
The automation software can also enter test data into the System Under Test, compare expected and actual results and generate detailed test reports. Test Automation demands considerable investments of money and resources.
This download installs the Intel® Graphics Driver for 6th, 7th, 8th, 9th. Family, Intel® Celeron® Processor N3350, and Intel® Pentium® Processor N4200 Board. Intel pentium graphic drivers download.
Successive development cycles will require execution of same test suite repeatedly. Using a test automation tool, it's possible to record this test suite and re-play it as required. Once the test suite is automated, no human intervention is required. This improved ROI of Test Automation. The goal of Automation is to reduce the number of test cases to be run manually and not to eliminate Manual Testing altogether.
Click here if the video is not accessible
In this tutorial, you will learn-
Why Automated Testing?
Automated software testing is important due to the following reasons:
- Manual Testing of all workflows, all fields, all negative scenarios is time and money consuming
- It is difficult to test for multilingual sites manually
- Automation does not require Human intervention. You can run automated test unattended (overnight)
- Automation increases the speed of test execution
- Automation helps increase Test Coverage
- Manual Testing can become boring and hence error-prone.
Which Test Cases to Automate?
Test cases to be automated can be selected using the following criterion to increase the automation ROI
- High Risk - Business Critical test cases
- Test cases that are repeatedly executed
- Test Cases that are very tedious or difficult to perform manually
- Test Cases which are time-consuming
The following category of test cases are not suitable for automation:
- Test Cases that are newly designed and not executed manually at least once
- Test Cases for which the requirements are frequently changing
- Test cases which are executed on an ad-hoc basis.
Automated Testing Process:
Following steps are followed in an Automation Process
Test tool selection
Test Tool selection largely depends on the technology the Application Under Test is built on. For instance, QTP does not support Informatica. So QTP cannot be used for testing Informatica applications. It's a good idea to conduct a Proof of Concept of Tool on AUT.
Define the scope of Automation
The scope of automation is the area of your Application Under Test which will be automated. Following points help determine scope:
- The features that are important for the business
- Scenarios which have a large amount of data
- Common functionalities across applications
- Technical feasibility
- The extent to which business components are reused
- The complexity of test cases
- Ability to use the same test cases for cross-browser testing
Planning, Design, and Development
During this phase, you create an Automation strategy & plan, which contains the following details-
- Automation tools selected
- Framework design and its features
- In-Scope and Out-of-scope items of automation
- Automation testbed preparation
- Schedule and Timeline of scripting and execution
- Deliverables of Automation Testing
Test Execution
Automation Scripts are executed during this phase. The scripts need input test data before there are set to run. Once executed they provide detailed test reports.
Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool.
Example: Quality center is the Test Management tool which in turn it will invoke QTP for execution of automation scripts. Scripts can be executed in a single machine or a group of machines. The execution can be done during the night, to save time.
Maintenance
As new functionalities are added to the System Under Test with successive cycles, Automation Scripts need to be added, reviewed and maintained for each release cycle. Maintenance becomes necessary to improve the effectiveness of Automation Scripts.
Framework for Automation
A framework is set of automation guidelines which help in
- Maintaining consistency of Testing
- Improves test structuring
- Minimum usage of code
- Less Maintenance of code
- Improve re-usability
- Non Technical testers can be involved in code
- The training period of using the tool can be reduced
- Involves Data wherever appropriate
There are four types of frameworks used in automation software testing:
- Data Driven Automation Framework
- Keyword Driven Automation Framework
- Modular Automation Framework
- Hybrid Automation Framework
Automation Tool Best Practices
To get maximum ROI of automation, observe the following
- The scope of Automation needs to be determined in detail before the start of the project. This sets expectations from Automation right.
- Select the right automation tool: A tool must not be selected based on its popularity, but it's fit to the automation requirements.
- Choose an appropriate framework
- Scripting Standards- Standards have to be followed while writing the scripts for Automation. Some of them are-
- Create uniform scripts, comments, and indentation of the code
- Adequate Exception handling - How error is handled on system failure or unexpected behavior of the application.
- User-defined messages should be coded or standardized for Error Logging for testers to understand.
- Measure metrics- Success of automation cannot be determined by comparing the manual effort with the automation effort but by also capturing the following metrics.
- Percent of defects found
- The time required for automation testing for each and every release cycle
- Minimal Time is taken for release
- Customer Satisfaction Index
- Productivity improvement
The above guidelines if observed can greatly help in making your automation successful.
Benefits of Automation Testing
Following are benefits of automated testing:
- 70% faster than the manual testing
- Wider test coverage of application features
- Reliable in results
- Ensure Consistency
- Saves Time and Cost
- Improves accuracy
- Human Intervention is not required while execution
- Increases Efficiency
- Better speed in executing tests
- Re-usable test scripts
- Test Frequently and thoroughly
- More cycle of execution can be achieved through automation
- Early time to market
Different types of software testing that can be automated
- Smoke Testing
- Functional Testing
- Keyword Testing
- Data Driven Testing
- Black Box Testing
How to Choose an Automation Tool?
Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for your requirement-
- Environment Support
- Ease of use
- Testing of Database
- Object identification
- Image Testing
- Error Recovery Testing
- Object Mapping
- Scripting Language Used
- Support for various types of test - including functional, test management, mobile, etc..
- Support for multiple testing frameworks
- Easy to debug the automation software scripts
- Ability to recognize objects in any environment
- Extensive test reports and results
- Minimize training cost of selected tools
Tool selection is one of biggest challenges to be tackled before going for automation. First, Identify the requirements, explore various tools and its capabilities, set the expectation from the tool and go for a Proof Of Concept.
Automation Testing Tools
There are tons of Functional and Regression Testing Tools available in the market. Here are 5 best tools certified by our experts
Selenium
It is a software testing tool used for Regression Testing. It is an open source testing tool that provides playback and recording facility for Regression Testing. The Selenium IDE only supports Mozilla Firefox web browser.
- It provides the provision to export recorded script in other languages like Java, Ruby, RSpec, Python, C#, etc
- It can be used with frameworks like JUnit and TestNG
- It can execute multiple tests at a time
- Autocomplete for Selenium commands that are common
- Walkthrough tests
- Identifies the element using id, name, X-path, etc.
- Store tests as Ruby Script, HTML, and any other format
- It provides an option to assert the title for every page
- It supports selenium user-extensions.js file
- It allows to insert comments in the middle of the script for better understanding and debugging
mabl
mabl delivers scriptless end-to-end test automation, integrated with your delivery pipeline, so you can focus on improving your app.
Features:
- Proprietary machine learning models automatically identify and surface application issues
- Tests are automatically repaired when UI changes
- Automated regression insights on every build
Learn more about mabl
QTP (MicroFocus UFT)
QTP is widely used for functional and regression testing, it addresses every major software application and environment. To simplify test creation and maintenance, it uses the concept of keyword driven testing. It allows the tester to build test cases directly from the application.
- It is easier to use for a non-technical person to adapt to and create working test cases
- It fix defects faster by thoroughly documenting and replicating defects for developer
- Collapse test creation and test documentation at a single site
- Parameterization is easy than WinRunner
- QTP supports .NET development environment
- It has better object identification mechanism
- It can enhance existing QTP scripts without 'Application Under Test' is available, by using the active screen
Rational Functional Tester
It is an Object-Oriented automated Functional Testing tool that is capable of performing automated functional, regression,>
WATIR
It is an open source testing software for regression testing. It enables you to write tests that are easy to read and maintain. Watir supports only internet explorer on windows while Watir webdriver supports Chrome, Firefox, IE, Opera, etc.
- It supports multiple browsers on different platforms
- Rather than using proprietary vendor script, it uses a fully-featured modern scripting language Ruby
- It supports your web app regardless of what it is developed in
SilkTest
Silk Test is designed for doing functional and regression testing. For e-business application, silk test is the leading functional testing product. It is a product of Segue Software takeover by Borland in 2006. It is an object-oriented language just like C++. It uses the concept of an object, classes, and inheritance. Its main feature includes
- It consists of all the source script files
- It converts the script commands into GUI commands. On the same machine, commands can be run on a remote or host machine
- To identify the movement of the mouse along with keystrokes, Silktest can be executed. It can avail both playback and record method or descriptive programming methods to get the dialogs
- It identifies all controls and windows of the application under test as objects and determines all of the attributes and properties of each window
Conclusion
The right selection of automation tool, testing process, and team, are important players for automation to be successful. Manual and automation methods go hand-in-hand for successful testing.
GUI testing tools serve the purpose of automating the testing process of software with graphical user interfaces.
Name | Supported platforms (testing system) | Supported platforms (tested system) | Developer | License | Automation | Latest version | Reference | Status |
---|---|---|---|---|---|---|---|---|
AscentialTest | Windows | Windows, Web | Zeenyx Software, Inc. | Proprietary | Yes | 9.0.1 | [1] | Active |
AutoIt | Windows | Windows | AutoIt | Proprietary | Yes | 3.3.14.0 | [2] | Active |
Appium | Windows, Linux, Mac (Python, C#, Ruby, Java, Javascript, PHP, Robot Framework) | iOS, Android (both native App & browser hosted app) | SauceLabs | Apache | Yes | (Binding Specific) | [3] | Active |
Dojo Objective Harness | cross-platform | Web | Dojo Foundation | AFL | Yes | 1.11.1 | [4] | Active |
eggPlant Functional | Windows, Linux, OS X | Windows, Linux, OS X, iOS, Android, Blackberry, Win Embedded, Win CE | TestPlant Ltd | Proprietary | Yes | Unknown | [citation needed] | Active |
HP WinRunner | Windows | Windows | Hewlett-Packard | Proprietary | Unknown | Unknown | [citation needed] | Discontinued |
IcuTest | Unknown | WPF | NXS-7 Software Inc | Proprietary | Unknown | Unknown | [citation needed] | Discontinued |
iMacros | Web (cross-browser) | Unknown | iOpus | Proprietary | Yes | 10.0.2 | [citation needed] | |
Katalon Studio | Windows, Linux, OS X | Web (UI & API), Mobile apps | Katalon LLC | Proprietary | Yes | 5.4.1 | [5] | Active |
Linux Desktop Testing Project | Linux (With Windows and OSX ports) | GUI applications with accessibility APIs | (Collaborative project) | GNU LGPL | Yes | 3.5.0 | [6] | |
Maveryx | Windows, Linux, OS X (only Java technologies) | Java, Swing, SWT, AWT, RCP, JavaFx, VB, MFC, .NET, WPF, HTML5 (cross-browser), | Maveryx Srl | Proprietary | Yes | 2.0.0 | [7] | Active |
Oracle Application Testing Suite | Windows | Web, Oracle Technology Products | Oracle | Proprietary | Yes | 12.5 | [8][9] | Active |
QF-Test | Windows, Linux, OS X, Web (cross-browser) | Java/Swing/SWT/Eclipse, JavaFX, Web applications | Quality First Software GmbH | Proprietary | Yes | 4.1.0 | [10] | Active |
Ranorex Studio | Windows | Windows, Web, iOS, Android | Ranorex GmbH | Proprietary | Yes | 8.3 | [11] | Active |
Rational Functional Tester | Windows, Linux | Windows, Swing, .NET, HTML | IBM Rational | Proprietary | Yes | 8.6.0.7 | [12] | Active |
Robot Framework | Web (cross-browser) | Web | (Collaborative project) | Apache | Yes | 3.0 | [13] | Active |
Sahi | Web (cross-browser), Windows | Web, Java, Java Web Start, Applet, Flex | Tyto Software[14] | Apache and Proprietary | Yes | 5.1 (open source), 7.0.1 | [15][16] | Active |
Selenium | Web (cross-browser) | Web | (Collaborative project) | Apache | Yes | 3.0 | [17] | Active |
SilkTest | Windows | Windows, Web | Micro Focus previously Borland and Segue | Proprietary | Yes | 17.5 | [18] | |
SOAtest | Windows, Linux, (cross-browser) | Web (cross-browser) | Parasoft | Proprietary | Yes | 9.10.3 | [19] | Active |
Squish GUI Tester | Windows, Linux, macOS, Solaris, AIX, QNX, WinCE, Windows Embedded, embedded Linux, Android, iOS | Qt, QML, QtQuick, Java AWT, Swing, SWT, RCP, JavaFx, Win32, MFC, WinForms, WPF, HTML5 (cross-browser), macOS Cocoa, iOS, Android, Tk | froglogic GmbH | Proprietary | Yes | 6.4 | [20] | Active |
Test Studio | Windows | Windows, Test Studio, Android, iOS | Telerik by Progress | Proprietary | Yes | 2017 R2 | [citation needed] | Active |
TestComplete | Windows | Windows, Android, iOS, Web | SmartBear Software | Proprietary | Yes | 12.20 | [citation needed] | Active |
Testing Anywhere | Unknown | Unknown | Automation Anywhere | Proprietary | Yes | 8.0 | [citation needed] | Discontinued |
TestPartner | Windows | Windows | Micro Focus | Proprietary | Yes | 6.3.1 | [citation needed] | Discontinued |
Tricentis Tosca | Windows | Windows, iOS, Android, Web, Cross-Browser, Java AWT, Java SWT, API, Win32, WinForms, WPF, Siebel, Delphi, PowerBuilder, up to around 40 different technologies | Tricentis | Proprietary | Yes | 12.0 | [21] | Active |
Twist | Unknown | Unknown | ThoughtWorks | Proprietary | Unknown | Unknown | [citation needed] | Discontinued |
Unified Functional Testing (UFT) previously named HP QuickTest Professional (QTP) | Windows | Windows, Web, Mobile, Terminal Emulators, SAP, Siebel, Java, .NET, Flex, others..[22] | Hewlett-Packard Enterprise | Proprietary | Yes | 14.00 | [23] | Active |
Visual Studio Coded UI Test | Windows | Windows, Web | Microsoft | Proprietary | Yes | 12.0 | Unknown | Inactive[24] |
Watir | Web | Web (cross-browser) | (Collaborative project) | BSD | Yes | 3.0 | [citation needed] | |
Xnee | UNIX | X Window | GNU Project, Henrik Sandklef | GNU GPL | Unknown | Unknown | [citation needed] |
References[edit]
- ^'Jolt Awards 2014: The Best Testing Tools'. Dr.Dobbs.com. June 3, 2014. Retrieved 2016-09-27.
- ^'AutoIt'. autolt. June 3, 2014. Retrieved 2016-09-27.
- ^'Mobile Phone automation'. appium. Retrieved 2018-12-11.
- ^'Dojo Toolkit'. DOJO. Retrieved 2016-09-27.
- ^Brian (2017-10-26). 'Best Automation Testing Tools for 2018 (Top 10 reviews)'. Medium. Retrieved 2018-05-22.
- ^'Linux Desktop Testing Project'. LDTP Website. Retrieved 2015-07-26.
- ^'Maveryx'. maveryx. Retrieved 2018-08-27.
- ^'Oracle - Oracle Application Testing Suite'. Retrieved 2016-11-08.
- ^'OATS - Oracle Application Testing Suite - Testingtools.co'.
- ^'QF-Test Overview'. QFS Website. Retrieved 2014-10-09.
- ^'Ranorex Release Notes'. Ranorex Website. Retrieved 2015-11-18.
- ^'Functional Tester'. IBM Website. Retrieved 2016-03-08.
- ^'GUI Automation'. Sorted Inf. Retrieved 2014-02-22.
- ^'Sahi Open Source Vs. Sahi Pro'. Sahi Pro Website. Retrieved 2014-09-02.
- ^'Sahi — Web Automation and Test Tool'. Open-source Sahi on Sourceforge. Retrieved 2014-09-02.
- ^'Sahi — The tester's Web Automation Tool'. Sahi Pro Website. Retrieved 2014-09-02.
- ^'What is Selenium?'. Selenium HQ. Retrieved 2014-09-02.
- ^'Silk Test Overview'(PDF).
- ^'Parasoft Launches SOATest: Raising the Bar on API Integrity'. 2013-06-14. Retrieved 2018-10-16.
- ^'Squish GUI Tester'. froglogic Website. Retrieved 2017-12-07.
- ^'Tricentis Tosca'. Tricentis Tosca. Retrieved 2017-04-12.
- ^'More Add-ins'. uft-help.saas.hpe.com. Retrieved 2017-08-02.
- ^'What's New in UFT 14.00'. uft-help.saas.hpe.com. Retrieved 2017-08-02.
- ^'Changes to Coded UI Test in Visual Studio 2019'. Azure DevOps Blog. Retrieved 2019-04-15.
Windows Gui Test Automation Tools
-->GPIO test automation uses the MITT platform.
To get started, see GPIO tests in MITT. Download the installer, unpack its contents, and read the ReadMe file for a general overview of the tool.
To connect the tool to the system under test, the GPIO button and indicator pin-outs are required. After the board is set up and its related package is installed, you can use it in either of the following ways:
- Run the existing automation tests for both GPIO buttons and indicator scenarios.
- Use the pattern-generator to explore additional scenarios.
The test binaries are part of the MITT tool installer. To start the tests, follow the instructions under “Running the GPIO automation” section of the MITT documentation.
The MITT tool can directly generate the GPIO impulses that are needed to simulate the equivalent of various button press actions (press down, hold the button press and releasing the button). The tests are SimpleIo-based and can detect issues, such as the indicators coming out of sync after power transitions.
Windows Test Automation Tools Free Software
Note The MITT platform can easily accommodate customized input patterns. See the MITT Readme file for instructions on how to generate these.