首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode 7 UI测试失败,“超时等待关键事件完成”

Xcode 7 UI测试失败,“超时等待关键事件完成”
EN

Stack Overflow用户
提问于 2015-11-30 22:31:13
回答 4查看 2.5K关注 0票数 10

我和我的团队一直在设置一个Jenkins服务器,以便在我们用作构建服务器的Mini上自动化运行单元和ui测试。这个Mini没有附加外设,我们唯一可以访问它的方法是远程登录。

当我远程登录到这台机器时,使用我的Mac内置的屏幕共享应用程序,使用iOS模拟器可以很好地运行测试。但是,如果在运行测试时关闭远程连接,则涉及键入文本的ui测试在尝试键入(所有其他测试/ ui测试都会非常成功地通过)时将失败,导致以下错误:

断言失败:超时等待键事件完成

这显然会在Jenkins为我们自动运行测试时造成一些问题,因为我们并不总是希望远程登录到机器中。

我觉得这和模拟器的软件键盘有关,但我不明白为什么会有问题。mac是否需要连接某种显示输出才能使软件键盘存在或类似的东西?将监视器连接到机器(即使没有真正使用它)是否会导致测试通过?为什么会是这样呢?

EN

回答 4

Stack Overflow用户

发布于 2016-02-23 08:27:19

这个问题可以通过关闭模拟器设置中连接的硬件键盘来解决。

您可能还想尝试一下这个UI Testing Failure - Neither element nor any descendant has keyboard focus on TextView

票数 5
EN

Stack Overflow用户

发布于 2019-09-11 01:44:18

在您展示CNContactViewController实例之后,Xcode 10仍然存在相同的问题。

避免编写那些需要调用CNContactViewController`实例的情况。

或者有个解决办法:

代码语言:javascript
运行
复制
app.keys["1"].tap()
app.keys["2"].tap()
app.keys["3"].tap()
票数 1
EN

Stack Overflow用户

发布于 2017-05-16 10:07:22

我正在使用xcode 8.2.1,并在ios 9.3版本上运行测试。一种简单的方法是在点击文本框后,在输入文本框之前添加2-5秒的睡眠时间。不过,这不是一个永久的解决办法。

另一个可靠的解决方案

在运行测试之前,取消选择设置中的所有键盘首选项。

代码语言:javascript
运行
复制
"KeyboardAllowPaddle": false,
"KeyboardAssistant": false,
"KeyboardAutocapitalization": false,
"KeyboardAutocorrection": false,
"KeyboardCapsLock": false,
"KeyboardCheckSpelling": false,
"KeyboardPeriodShortcut": false,
"KeyboardPrediction": false,
"KeyboardShowPredictionBar": false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34009253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档