xcuitest - 如何在xcuitest的文本框的右视图中访问元素
问题描述
我是 XCUITESTING 的新手,这是我的代码
let btn = UIButton(frame: CGRect(x: 0, y: 5, width: 50, height: 40))
btn.addTarget(self, action: #selector(addEmail), for: .touchDown)
btn.setImage(UIImage(named: "f_add_email"), for: .normal)
btn.contentMode = .center
btn.isAccessibilityElement = true
btn.accessibilityIdentifier = "emailsbutton"
txtField.isAccessibilityElement = true
txtField.accessibilityIdentifier = "emailtextbox"
txtField.rightViewMode = .always
txtField.rightView = btn
我可以访问我的文本框,例如 XCUIApplication().textFields["emailtextbox"]
但是如果我使用 XCUIApplication().textFields["emailsbutton"] 它会抛出错误
解决方案
可能是该按钮位于文本字段下。如果是这样,您需要使用以下代码访问它:
XCUIApplication().textFields.buttons["emailsbutton"]
推荐阅读
- php - 使用php将json对象存储在数据库中
- amazon-web-services - 将 AWS Lightsail SSH 添加到 Bitbucket SSH 以允许访问克隆存储库
- r - 按绘图顺序排列堆积条形图
- javascript - 无法在另一个函数中访问间隔
- python - cx_Oracle 给出 ORA-01031 权限不足 以 SYSDBA 身份登录
- python - 我已经使用命令 pip 安装了 opencv-python,但是在 aws 上执行 import cv2 时遇到 importError
- laravel - 在 Laravel Gate 中获取用户 ID
- firebase - Flutter 应用程序使用 Shopify App Counterpart 将图像上传到 Firebase 存储 - 图像:媒体处理失败
- javascript - 子进程 spawn 在 Electron 中产生 TypeError "stdout.on is not a function"
- c# - 在 Unity 3D 中穿过立方体后如何更改球体的颜色?