如何在Xcode UItesting中testingUITextField何时文本字段为空?
我在Xcode中做了一个UITest
。 当我logging我的testing它工作正常,但是当我运行testing,它会给出一个错误。
这些是发生错误的代码行:
XCUIElement *clearTextTextField = [app.textFields containingType:XCUIElementTypeButton identifier:@"Clear text"].element; [clearTextTextField typeText:@"sheffield"];
错误说
UItesting失败 – 找不到与textfield匹配的内容
我想这是因为我的文本字段没有任何初始string,并且testing人员找不到具有初始string"Clear Text"
的文本框。
我在YouTube上观看了以下教程。
示威者的代码很好,因为他的文本字段有一个初始string。 (至less这是我认为的问题是)
有没有办法使空白文本字段的testing工作?
有几种方法可以做到这一点。
-
如果textField具有占位符文本,则可以使用占位符文本来查找textField。
-
您可以使用
elementBoundByIndex
方法在索引处获取textField。 即如果这是您可以使用的应用程序中唯一的textFieldXCUIApplication().textFields.elementBoundByIndex(0)
得到textField。 (或者当时需要的任何查询来获得特定的textField)
- 您可以在代码或故事板中设置辅助function标识符以查找文本字段。
在设置可访问性标识符之前使用选项2是很好的,只要您的textField总是可以用相同的查询find。 另外,如果多个文本字段同时具有相同的占位符文本,则选项1将失败,因此选项2更具吸引力。