XCUITest使用tips
使用identifier按照index查询元素:
假设identifier都是back
在identifier对应多个元素时,按照index点击identifier
app.images是所有identifier为back的图片,可以替换成任何element type
let app = XCUIApplication() app.images.containing(.any, identifier: "back").element(boundBy: 2).tap()
使用路由跳转
假设需要跳转的app为testapp
路由是router/homepage
在Safari里输入testapp://router/homepage就可以跳转过去
具体代码如下,入参是对应的路由
func router(url:String){ let safari = XCUIApplication(bundleIdentifier: "com.apple.mobilesafari") safari.launch() safari.buttons["URL"].tap() safari.typeText(url+"\n") safari.buttons.element(matching: .button, identifier: "打开").tap() }
解锁屏幕
想要做自动化测试,需要在夜深人静的时候解锁手机屏幕。
具体代码如下
XCUIDevice.shared.press(.home)
需要执行2次,第一次使屏幕亮起,到达锁屏界面;第二次来到桌面。
该方法需要手机没有设置密码