3
私のUITestコードを単純化しようとしています。現時点では、3つのテキストフィールドでそれぞれ8つのテーブル行をチェックするためのコードが数百行あります。これは私が持っているコードの行数を減らすだけでなく、コピー/ペースト/編集プロセスによって引き起こされるエラーを減らします。Swift 3 - 非関数型 'XCUIElement'の値を呼び出すことができません
checkRow関数の3行に "関数型ではない値 'XCUIElement'を呼び出すことができません。
3行の変数 'thisRow'を整数に置き換えると、コードがコンパイルされます。
ここは前後です。
func checkRow(thisRow: Int, thisAward: String, thisPoints: String, thisDefeated: String) {
XCTAssert(app.tables.cells.element(boundBy: thisRow).staticTexts[thisAward].exists)
XCTAssert(app.tables.cells.element(boundBy: thisRow).staticTexts[thisPoints].exists)
XCTAssert(app.tables.cells.element(boundBy: thisRow).staticTexts[thisDefeated].exists)
}
func testAkcCh() {
navConfig.tap()
pickCD.adjust(toPickerWheelValue: "4")
pickCB.adjust(toPickerWheelValue: "5")
pickSD.adjust(toPickerWheelValue: "3")
pickSB.adjust(toPickerWheelValue: "2")
XCTAssert(app.tables.cells.count == 8)
checkRow(0, "Best of Breed", p5, d13)
checkRow(1, "Best of Opposite Sex", p5, d06)
}
これはコンパイルが、利益のほとんどを敗北に
func testAkcCh() {
navConfig.tap()
pickCD.adjust(toPickerWheelValue: "4")
pickCB.adjust(toPickerWheelValue: "5")
pickSD.adjust(toPickerWheelValue: "3")
pickSB.adjust(toPickerWheelValue: "2")
XCTAssert(app.tables.cells.count == 8)
XCTAssert(app.tables.cells.element(boundBy: 0).staticTexts["Best of Breed"].exists)
XCTAssert(app.tables.cells.element(boundBy: 0).staticTexts[p5].exists)
XCTAssert(app.tables.cells.element(boundBy: 0).staticTexts[d13].exists)
XCTAssert(app.tables.cells.element(boundBy: 1).staticTexts["Best of Opposite Sex"].exists)
XCTAssert(app.tables.cells.element(boundBy: 1).staticTexts[p5].exists)
XCTAssert(app.tables.cells.element(boundBy: 1).staticTexts[d06].exists)
}
...
func checkRow(thisRow: Int, thisAward: String, thisPoints: String, thisDefeated: String) {
XCTAssert(app.tables.cells.element(boundBy: 0).staticTexts[thisAward].exists)
XCTAssert(app.tables.cells.element(boundBy: 0).staticTexts[thisPoints].exists)
XCTAssert(app.tables.cells.element(boundBy: 0).staticTexts[thisDefeated].exists)
}
仕事をしたこと、ありがとう!私はまだ多くのことを学ぶ必要があります!! –
Swift 4に更新され、コードに変更を加えずに同じエラーが再び発生し始めました。私はUint(xxx)を取り除かなければならなかった。 XCTAssertFalse(app.tables.cells.element(boundBy:thisRow).exists) –
appleのように、Swift 4で署名をUIntからIntに変更しました。 ' – d4Rk