私はXCTestフレームワークでUIテストを実行しています。XCode UIテストは何度も試行してから成功する前に要素を見つける
すべてが成功し、それが探しているUIElementを見つけるために、多くの多くの回を試してみていXCTest私のテストのいくつかのことを除いて正常に動作しています。これは、特に、テーブルビューセル内のボタンから生成されたメニューに含まれるメニュー項目で発生します。
これは、この動作を持つ私のテストのコードです。
func testMoreMenuCopyDirectLinkAction()
{
//Arrange
CloudPasteboardController.clearClipboard()
XCTAssertTrue(CloudPasteboardController.getPasteboardItems().count == 0)
let app = XCUIApplication()
let firstCell = app.tables.cells.elementBoundByIndex(0)
let moreMenu = firstCell.menus.elementBoundByIndex(0)
let copyDirectLink = moreMenu.menuItems.elementMatchingType(.MenuItem, identifier: "Copy Direct Link")
//Act
openApp()
findAndClickCellButtonWithName("More Button")
waitForUIElementToAppear(copyDirectLink)
copyDirectLink.click()
//Assert
XCTAssertTrue(CloudPasteboardController.getPasteboardItems().count == 1)
}
ここでは、部分出力のスクリーンショットを示します。見て分かるように、要素を一種のループで見つけるために複数回試みます。このテストでは、すべて11番目のループで成功しました。
私はコールに「waitForUIElementToAppear(...)」なしに再書き込みのコードを試してみた、と私は「[copyDirectLink = app.menuItems」だけ言って電話を簡素化しようとしました直接リンクをコピー "]"ただし、何も変更されません。ご質問が何であるかを確認してください
私はそれがループしているように見えます。たぶん、それが現われるのを待っているのかもしれません。 – Alex