swift - typeText() 正在输入不一致的字符
问题描述
在编写 UI 测试的同时,我开始涉足 Swift,并且在将文本输入到 textField 时遇到了问题。下面是代码:
func testLoginUsernameField() {
let app = XCUIApplication()
app.launch()
let username = "testusername2"
let usernameField = app.textFields["username_field"]
XCTAssertTrue(usernameField.exists)
usernameField.tap()
usernameField.typeText(username)
XCTAssertEqual(usernameField.value as! String, username)
}
当我这样做时会出现问题usernameField.typeText(username)
。我的文字继续写tstusername2
而不是testusername2
.
解决方案
启用硬件键盘时,模拟器上会出现此问题。
通过菜单禁用硬件键盘
转到 I/O -> 键盘 -> 取消选中“连接硬件键盘”或使用快捷键 ⇧⌘K。
以编程方式禁用硬件
如果您想为您的方案禁用硬件键盘,无论您运行什么模拟器,请参阅此StackOverflow 帖子。我尝试使用其他方法通过 App Delegate 禁用硬件键盘,但没有运气。
推荐阅读
- symfony - Symfony 5.2 错误:目录“var/cache/dev/jms_serializer”不存在
- sql-server - 约束逻辑和作业
- sql - 有什么方法可以将参数传递给 CTE?
- python - Python鼻子测试:在多个进程中运行测试时不调用自定义插件的添加**挂钩
- python - 获取最大日期并更改数据类型(使用 Python 的 Sqlite)
- spring-boot - 春季 JPQL 处理日期
- javascript - 如何在我的反应 js 页面中显示来自 json 数据的 html 代码?
- python - 如何解决django模型中的循环导入?
- openlayers - OpenLayers 计算两个坐标之间的距离给出了错误的答案
- c - 调用堆栈函数序言混乱