jjzjj

ios - 如何正确错误处理在 swift 中找不到的 XCUI 元素

我正在尝试为使用XCUI测试的iOSUI测试快速编写一个do-try-catch。我正在阅读错误处理部分:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html#//apple_ref/doc/uid/TP40014097-CH42-ID508但是我不确定当找不到元素时应该抛出哪个错误。functapElement(string:String)throws{do{waitFor(app.staticTexts[

ios - 如何编写 XCUI 测试是否导航到正确的屏幕?

我正在为以下UI编写测试UI测试用例我想测试登录点击是否在仪表板屏幕上正确导航。有什么方法可以做到这一点吗?我目前的测试代码是这样的functestExample(){letusernameTextField=app.textFields["Username"]usernameTextField.tap()usernameTextField.typeText("abc@gmail.com")letpasswordTextField=app.textFields["Password"]passwordTextField.tap()passwordTextField.typeText("a

ios - XCUI 测试 : How to click Labels populated at run time

我正在尝试单击在运行时填充和缓存的标签。TableViewCell有一个在运行时决定的UILabel。所以我无法为其添加辅助功能标识符。但是我已经在UILabel中添加了一个标识符,但是当我寻找标签时,这个View会重复几次[tablesQuery.staticTexts[@"Channels"]tap];我收到一个错误,找到了多个匹配项我已经在tableView的UILabel中添加了一个标识符,myIdentifier。如何访问标签以自动点击?来自app.debugDescriptionAssertionFailure:Smoke.m:238:Nomatchesfoundfor"R

ios - 由于 MBProgressHud,XCUI 测试失败

我正在ViewController上运行XCUI测试。每次初始化View时,都会进行api调用并显示MBProgressHud。我的测试要求搜索一个按钮并点击它,但是我无法点击,因为显示了重叠的MBProgressHud,而且api没有收到显示按钮所需的响应。这导致测试失败。我的问题是我做错了什么。我们能否在ui测试中包含此类场景(如api调用)?如何等待api调用完成才能继续我们的ui测试? 最佳答案 是的。我们可以将这些场景包含在我们的ui测试中。这是我们需要等待ui元素出现的函数:funcwaitForElementToApp

ios - 最后在 XCUI TestCase 期间停止在 UITableView 上滚动

在我的UITableView中有超过10行。我想在UITestCase运行时滚动到最后一行。我在下面编写了滚动到最后一行的代码。-(void)scrollToElement:(XCUIElement*)elementapplication:(XCUIApplication*)app{while([selfvisible:elementwithApplication:app]){XCUIElement*searchResultTableView=app.tables[@"searchResultView"];XCUICoordinate*startCoord=[searchResultT

ios - 使用 XCUI 测试用例测试 UICollectionView 无限滚动

如何在我的一个CollectionView中测试无限滚动?我试着像在这个"pulltorefresh"example中解释的那样模拟滚动但它没有用。letapp=XCUIApplication()letstart=app.coordinateWithNormalizedOffset(CGVectorMake(1,6))letfinish=app.coordinateWithNormalizedOffset(CGVectorMake(1,0))varx=0while(x(while条件只是为了测试,我会把它改成当滚动生效时询问特定元素是否存在) 最佳答案

iOS XCUI通过可访问性测试访问元素

我如何通过accessibilityLabel或标识符断言按钮存在?functestExitsButton(){XCTAssertTrue(app.windows.containing(.button,identifier:"ButtonText").element.exists)XCTAssertTrue(app.buttons["ButtonText"].exists)XCTAssertTrue(app.buttons["test"].exists) 最佳答案 在您的应用程序代码中设置可访问性标识符,然后在您的测试中使用该标识符