UI Automation JavaScript Reference For iOS
2015-04-02 09:54
274 查看
Classes
NOTE
This document was previously titled UI Automation Reference Collection.
Use the UI Automation JavaScript library to write test scripts that exercise your iOS app’s user interface elements while the app runs on a connected device. You write the tests in JavaScript, calling the UI Automation API to simulate user interaction. The
system returns log information to the host computer.
NOTE
UI Automation simulates all user interface actions initiated by the script. For the sake of brevity and clarity, this document describes those actions in terms of a user’s perspective.
In essence, your test script is an ordered set of commands, each of which accesses a user interface element in your app to perform a user action on it or to use the information associated within it. All the user interface elements in your app are represented
to the script through an ordered hierarchy of objects defined by the
and its subclasses. To reach a specified UI element, the script simply calls down the element hierarchy, starting with the top-level target object obtained by calling
For example, the first button in the main window of your app might be referenced by index as follows:
If that first button is identified in your code as the Edit button, the following would also work:
To tap that button, then, the script could use any of these three formats:
The Automation instrument maintains a complete element hierarchy that represents your app’s user interface. To view that hierarchy, use the
to write an outline of it to the log:
To record data during its tests, the script uses
methods to send messages to the Automation instrument running on the host computer. Various methods are available to assist in organizing and analyzing the recorded data. For example:
To indicate the initiation of a specified test, use the
To end a test and mark it as failed, use the
To send a general-purpose debug message, use the
You view the collected data in the Detail pane of the Automation instrument using Instruments.
When UI Automation encounters an alert during the execution of your script, it calls your alert handler, passing a reference to the
representing the alert. Your script should handle the alert appropriately and return a value of
upon which normal script execution continues.
To ensure that alerts don't interfere with testing, the Automation instrument also implements a simple default alert handler. If your script’s alert handler returns
this default handler attempts to dismiss the alert by tapping the cancel button, if it exists; otherwise, it taps the default button.
The following code implements a simple alert handler that records a message to the log and returns
thereby depending on the default handler to dismiss the alert:
NOTE
This document was previously titled UI Automation Reference Collection.
Use the UI Automation JavaScript library to write test scripts that exercise your iOS app’s user interface elements while the app runs on a connected device. You write the tests in JavaScript, calling the UI Automation API to simulate user interaction. The
system returns log information to the host computer.
NOTE
UI Automation simulates all user interface actions initiated by the script. For the sake of brevity and clarity, this document describes those actions in terms of a user’s perspective.
Accessing and Using User Interface Elements
In essence, your test script is an ordered set of commands, each of which accesses a user interface element in your app to perform a user action on it or to use the information associated within it. All the user interface elements in your app are representedto the script through an ordered hierarchy of objects defined by the
UIAElementclass
and its subclasses. To reach a specified UI element, the script simply calls down the element hierarchy, starting with the top-level target object obtained by calling
UIATarget.localTarget().
For example, the first button in the main window of your app might be referenced by index as follows:
UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0]
If that first button is identified in your code as the Edit button, the following would also work:
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Edit"]
To tap that button, then, the script could use any of these three formats:
UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0].tap();
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Edit"].tap();
var editButton=UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0];
editButton.tap();
The Automation instrument maintains a complete element hierarchy that represents your app’s user interface. To view that hierarchy, use the
logElementTreemethod
to write an outline of it to the log:
UIATarget.localTarget().frontMostApp().logElementTree()
Recording Results With the Log
To record data during its tests, the script uses UIALoggerclass
methods to send messages to the Automation instrument running on the host computer. Various methods are available to assist in organizing and analyzing the recorded data. For example:
To indicate the initiation of a specified test, use the
logStartmethod:
UIALogger.logStart("Test1");
To end a test and mark it as failed, use the
logFailmethod:
UIALogger.logFail("Failed to foo.");
To send a general-purpose debug message, use the
logDebugmethod:
UIALogger.logDebug("Done with level 3.");
You view the collected data in the Detail pane of the Automation instrument using Instruments.
Handling Alerts
When UI Automation encounters an alert during the execution of your script, it calls your alert handler, passing a reference to the UIAAlertobject
representing the alert. Your script should handle the alert appropriately and return a value of
true,
upon which normal script execution continues.
To ensure that alerts don't interfere with testing, the Automation instrument also implements a simple default alert handler. If your script’s alert handler returns
false,
this default handler attempts to dismiss the alert by tapping the cancel button, if it exists; otherwise, it taps the default button.
The following code implements a simple alert handler that records a message to the log and returns
false,
thereby depending on the default handler to dismiss the alert:
UIATarget.onAlert = function onAlert(alert) {
var title = alert.name();
// add a warning to the log for each alert encountered
UIALogger.logWarning("Alert with title '" + title + "' encountered!");
UIATarget.localTarget().captureScreenWithName("alert_" + (new Date()).UTC());
// test if your script should handle the alert, and if so, return true
// otherwise, return false to use the default handler
return false;
}
Classes
UIAActionSheet | Describes the API for automating tests of action sheets. |
UIAActivityIndicator | Describes the API for automating tests of activity indicator elements in iPhone applications. |
UIAActivityView | Describes a view for presenting an activity view. |
UIAAlert | Describes the API for handling alerts in automated UI tests. |
UIAApplication | New document that describes the API for automating UI tests of iOS applications. |
UIAButton | Describes the API for automating tests of button elements in iPhone applications. |
UIACollectionView | Describes a collection view. |
UIAEditingMenu | Describes the API for automating tests of edit menu elements in iPhone applications. |
UIAElement | Describes the API for automating tests of user interface elements in iPhone applications. |
UIAElementArray | Describes the API for using arrays of user interface elements in automated tests of iPhone applications. |
UIAHost | Describes the API for communicating with a host computer during automated iOS application testing. |
UIAKey | Describes the API for automating keyboard UI elements. |
UIAKeyboard | Describes the API for automating tests of keyboard elements in iPhone applications. |
UIALink | Describes the API for automating tests of URL elements in iPhone applications. |
UIALogger | Describes the API for logging data from automated tests of UI elements in iPhone applications. |
UIANavigationBar | Describes the API for automating tests of navigation bar elements in iPhone applications. |
UIAPageIndicator | Describes the API for automating tests of page indicator elements in iPhone applications. |
UIAPicker | Describes the API for automating tests of picker elements in iPhone applications. |
UIAPickerWheel | Describes the API for automating tests of picker wheels. |
UIAPopover | Describes the API for automating tests of progress indicator elements in iPhone applications. |
UIAProgressIndicator | Describes the API for automating tests of progress indicator elements in iPhone applications. |
UIAScrollView | Describes the API for automating tests of scroll view elements in iPhone applications. |
UIASearchBar | Describes the API for automating tests of search bar elements in iPhone applications. |
UIASecureTextField | Describes the API for automating tests of secure text field elements in iPhone applications. |
UIASegmentedControl | Describes the API for automating tests of segmented control elements in iPhone applications. |
UIASlider | Dscribes the API for automating tests of slider UI elements in iPhone applications. |
UIAStaticText | Describes the API for automating tests of static text elements in iPhone applications. |
UIAStatusBar | Describes the API for automating tests of status bar elements in iPhone applications. |
UIASwitch | Describes the API for automating tests of switch UI elements in iPhone applications. |
UIATabBar | Describes the API for automating tests of tab bar elements in iPhone applications. |
UIATableCell | Describes the API for automating tests of table cell elements in iPhone applications. |
UIATableGroup | Describes the API for automating tests of table group elements in iPhone applications. |
UIATableView | Describes the API for automating tests of table view elements in iOS apps. |
UIATarget | Describes the API for automating tests of UI elements in iPhone applications. |
UIATextField | Describes the API for automating tests of text field elements in iPhone applications. |
UIATextView | Describes the API for automating tests of text view elements in iPhone applications. |
UIAToolbar | Describes the API for automating tests of toolbar elements in iPhone applications. |
UIAWebView | Describes the API for automating tests of web view elements in iPhone applications. |
UIAWindow | Describes the API for automating tests of window elements in iPhone applications. |
相关文章推荐
- UI Automation for IOS及Crash .dSYM 文件的解析。
- UI Automation JavaScript Reference
- 经典 -Writing a UI Automation Provider for a Win32-based Custom Control
- iOS获得系统的进程UIDevice Category For Processes.
- Visual Studio Tools for Apache Cordova,基于HTML 5/JavaScript 开发iOS,Android,Windows应用
- ios UI 之间的切换方法,using prepareForSegue and not
- MooTools Essentials: The Official MooTools Reference for JavaScript™ and Ajax Development
- iOS自动化测试之常用UI Automation API
- IOS自动化测试之UIAutomation
- iOS 人机交互指南之UI设计基础:Designing for iOS 7
- iOS UI Automation 初探
- Extending PhoneGap with native plugins for iOS (通过phonegap plugin的方式实现ios和javascript的互相调用)
- iOS 人机交互指南之UI设计基础:Designing for iOS 7
- IOS UI Automation
- IOS UI Automation 学习之常用类,方法和模拟手势
- ios ui automation testing
- unity3d for iOS Objective-C与JavaScript的交互
- Cruise cotnrol for Tofino UI automation
- iOS自动化测试之UIAutomation
- iOS自动化测试之常用UI Automation API