热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在全新模拟器上运行时关闭iOS13键盘教程

我将Xcode11和iOS13用作UITest的工作流程的一部分,但是当我第一次使用键盘时,会

我将Xcode 11和iOS 13用作UITest的工作流程的一部分,但是当我第一次使用键盘时,会出现以下内容并由于阻塞键盘而中断了测试:

UI测试中的调用代码:

app.textFields.element(boundBy: 0).tap()

模拟器显示的内容:

在全新模拟器上运行时关闭iOS 13键盘教程

由于这会阻塞键,因此我的测试将失败。但是,下次我在同一模拟器上运行测试时,它将正常运行。


CodeBender的答案很不错,并且指向正确的路径,但是由于continue是Swift中的保留关键字,因此无法编译。另外,等待一小段时间让键盘显示也很好。

// Sometimes the Apple Keyboard shows some sort of "Swipe" tutorial. Dismiss it!
private func begoneSwipeTutorial(app: XCUIApplication) {
let cOntinueButton= app.buttons["Continue"]
if continueButton.waitForExistence(timeout: 2.0) {
continueButton.tap()
}
}
// Then use like this
func inputTextWhatever(app: XCUIApplication,element: XCUIElement) {
element.tap()
begoneSwipeTutorial(app: app)
// Do whatever you need to do
}

,

我能够找到一种解决方案,该解决方案在遇到上述情况时以及在不存在上述情况的后续运行中均适用。

let cOntinue= app.buttons["Continue"]
if continue.exists {
continue.tap()
}

第一行尝试找到标题为“继续” 的按钮,然后继续在第二行上验证此按钮的存在。如果确实存在,它将tap()退出提示。


推荐阅读
author-avatar
手机用户2502853373
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有