【问题标题】:How to simulate a soft keyboard click on IOS simulator?如何在IOS模拟器上模拟软键盘点击?
【发布时间】:2016-10-19 17:39:45
【问题描述】:

我正在使用 XCTest 测试我的 IOS 应用程序。 作为测试用例的一部分,我需要在字段中输入一个数字(不是文本框) 当我记录测试时,当我在模拟器(IPAD/iPhone)上使用软键盘时会生成以下代码

app.staticTexts["0"].tap() //Line 1
app.typeText("23")         //Line 2

我执行测试时,在第1行之后弹出软键盘。但是执行第2行时,出现以下错误

UI 测试失败 - 元素和任何后代都没有键盘焦点

我的应用需要安装在 iPad/iPhone 上。所以我只需要让它通过软键盘路线运行。

所以我认为 typeText 不是正确的方法。在IOS模拟器中模拟点击软/虚拟键盘的方法是什么?

【问题讨论】:

  • 执行app.staticTexts["0"].tap()时,弹出软键盘。在执行此行之前没有软键盘。接下来,如果我在第 2 行引入断点并手动干预以单击软键盘,我会看到正在输入的值。这就是为什么我问是否有办法模拟软键盘点击。

标签: ios swift xctest iphone-softkeyboard


【解决方案1】:

您需要在具有键盘焦点的元素上调用typeText(),而不仅仅是app。

如果元素是文本字段,您将找到文本字段元素并在其上调用typeText()。

let element = app.textFields["myTextField"]
element.typeText("23")

您需要将查询替换为您自己的查询,以查找具有键盘焦点的元素。通常,这将是 UITextField 的后代,但如果您使用自定义视图,则需要使用更自定义的查询。

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 2018-10-16
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2013-10-22
    • 2018-05-08
    • 1970-01-01
    • 2012-05-01
    相关资源
    最近更新 更多