NS_ENUM_AVAILABLE(
10
_11,
9
_0)
typedef NS_ENUM(NSUInteger, XCUIElementType) {
XCUIElementTypeAny,
XCUIElementTypeUnknown,
XCUIElementTypeApplication,
XCUIElementTypeGroup,
XCUIElementTypeWindow,
XCUIElementTypeSheet,
XCUIElementTypeDrawer,
XCUIElementTypeAlert,
XCUIElementTypeDialog,
XCUIElementTypeButton,
XCUIElementTypeRadioButton,
XCUIElementTypeRadioGroup,
XCUIElementTypeCheckBox,
XCUIElementTypeDisclosureTriangle,
XCUIElementTypePopUpButton,
XCUIElementTypeComboBox,
XCUIElementTypeMenuButton,
XCUIElementTypeToolbarButton,
XCUIElementTypePopover,
XCUIElementTypeKeyboard,
XCUIElementTypeKey,
XCUIElementTypeNavigationBar,
XCUIElementTypeTabBar,
XCUIElementTypeTabGroup,
XCUIElementTypeToolbar,
XCUIElementTypeStatusBar,
XCUIElementTypeTable,
XCUIElementTypeTableRow,
XCUIElementTypeTableColumn,
XCUIElementTypeOutline,
XCUIElementTypeOutlineRow,
XCUIElementTypeBrowser,
XCUIElementTypeCollectionView,
XCUIElementTypeSlider,
XCUIElementTypePageIndicator,
XCUIElementTypeProgressIndicator,
XCUIElementTypeActivityIndicator,
XCUIElementTypeSegmentedControl,
XCUIElementTypePicker,
XCUIElementTypePickerWheel,
XCUIElementTypeSwitch,
XCUIElementTypeToggle,
XCUIElementTypeLink,
XCUIElementTypeImage,
XCUIElementTypeIcon,
XCUIElementTypeSearchField,
XCUIElementTypeScrollView,
XCUIElementTypeScrollBar,
XCUIElementTypeStaticText,
XCUIElementTypeTextField,
XCUIElementTypeDateField,
XCUIElementTypeTimeField,
XCUIElementTypeTextView,
XCUIElementTypeMenu,
XCUIElementTypeMenuItem,
XCUIElementTypeMenuBar,
XCUIElementTypeMenuBarItem,
XCUIElementTypeMap,
XCUIElementTypeWebView,
XCUIElementTypeInc
XCUIElementTypeDec
XCUIElementTypeTimeline,
XCUIElementTypeRatingIndicator,
XCUIElementTypeValueIndicator,
XCUIElementTypeSplitGroup,
XCUIElementTypeSplitter,
XCUIElementTypeRelevanceIndicator,
XCUIElementTypeColorWell,
XCUIElementTypeHelpTag,
XCUIElementTypeMatte,
XCUIElementTypeDockItem,
XCUIElementTypeRuler,
XCUIElementTypeRulerMarker,
XCUIElementTypeGrid,
XCUIElementTypeLevelIndicator,
XCUIElementTypeCell,
XCUIElementTypeLayoutArea,
XCUIElementTypeLayoutItem,
XCUIElementTypeHandle,
枚举类,定义了iOS中所有的控件类型控件类型Any任意对象Unknown未知对象Application应用对象,一个应用只有一个Application对象。GroupWindow一个Window代表一个界面,为界面的第一层View,其他所有的控件是在该Window中。SheetDrawerAlert提示框Dialog对话框Button按钮RadioButton单选按钮RadioGroup单选按钮组
#xpath慢
# time_list2 = driver.find_elements_by_xpath('//
XCUIElementType
Cell/
XCUIElementType
StaticText[2]')
# print(time_list2)
XCUIElement 继承自
NSObject,XCUIElementAttributes(定义了一些控件元素属性,比如value,title等),
XCUIElementType
QueryProvider(一些元素集合的抽象,比如代表按钮的buttons),代表控件对象
方法descendantsMatchingType从该控件的后代控件中找到符合指定类型的控件(子子孙孙都认),需要传入XC
List wheels = driver.findElements(MobileBy.className("
XCUIElementType
PickerWheel"))
Point p1=wheels.get(0).getLocation()
Dimension d1 = wheels.get(0).getSize()
//-100 scrolls up (taps the value below ...
五、网络测试
我们在测试某个方法的时候可能会遇到方法内部调用了网络通信能力,网络请求成功,可能刷新 UI 或者给出一些成功的提示;网络失败或者网络不可用则给出一些失败的提示。所以需要对网络通信去看进行模拟。
iOS 中很多网络都是基于 NSURL 系统下的类实现的。所以我们可以利用 NSURLProtocol 的能力来监控网络并 mock 网络数据。如果感兴趣可以查看这篇文章。
开源项目 OHHTTPStubs 就是一个对网络模拟的库。它可以拦截 HTTP 请求,返回 json 数.
accessibility = "-btn-title"
iOSNsPredicate = "label == \"85K\" AND name == \"85K\" AND value == \"85K\""
iOSNsPredicate = "label == \"32.5M\""
iOSNsPredicate = "name == 'GOAL_PORTFOLIO_DETAIL-btn-buy'"
iOSNsPredicate = "name IN {'header-back', 'btnBackCo
最近老板家心情好,不停的给UI加了好多的任务,iOS开发部门的小哥哥见到UI妹妹的眼神由爱转嫌弃,饱含深深地怨气,每个周都会发布一个迭代;回归测试就是一个繁琐又不能忽略的事,没办法就是懒,不想继续点点点,干脆写个弱弱的iOS测试脚本,满足下自己懒得欲望,一番调研,选择了Appium作为iOS的测试框架,当然我没找到更合适的框架了;一周小成,分享出来,开心开心,大佬屠刀轻点,同为菜鸟慢慢吐槽????
首先,开发iOS测试脚本的最重要前提是你的有一台macOS系统的设备
安装jdk,弱弱的问一句,哪位和开发
前天换了个苹果5s手机,来跑H2O的业务脚本,执行过程中就发现脚本报错,有2类错误:
1.定位时没有id或者value元素的,如//
XCUIElementType
Application[1]/
XCUIElementType
Window[1]/
XCUIElementType
Other[1]/
XCUIElementType
Other[1]/
XCUIElementType
Other[2]/
XCUIElementType
Other[1]/
XCUIElementType
TextField[1]。
好吧,那用苹果6录制
在iOS APP自动化:predicate定位中介绍了iOS APP的predicate定位方法,本文介绍与XPath语法比较类似的class chain定位方法。
目录class chain 定位儿子节点搜索子孙节点搜索class chain定位示例
class chain 定位
class chain 定位方法由mykola-mokhnach开发,和XPath比较类似,可以实现分层查询,但它的查询性能更高,通过将class chain查询映射到一系列的XCUITest调用中,仅查找子节点,不像XPath
仅支持 iOS 10或以上(底层需要使用 XCUITest 框架),可支持元素的单个属性和多个属性定位,推荐使用。一个元素有这些属性:type、value、name、label、enabled、visible,有些元素的属性只有以上的部分属性,如下图所示,可根据这些属性进行元素定位。
元素属性的介绍
type:元素类型,与className作用一致,如:XCUIElementTyp...
Android studio 1.0.1中Run with --stacktrace option to get the stack trace. Run with --info or --debug
51628