iphone UITesting一个数字按钮

Posted

技术标签:

【中文标题】iphone UITesting一个数字按钮【英文标题】:iphone UITesting a button that is a number 【发布时间】:2012-02-11 01:18:50 【问题描述】:

我正在尝试 iPhone 的 UITesting,我想我会使用斯坦福大学 cs193p iTunes U 课程第 2 课中的简单 rpn 计算器来运行我的第一个测试。

我的javascript如下

var target = UIATarget.localTarget();

target.frontMostApp().mainWindow().buttons()["3"].tap();
target.frontMostApp().mainWindow().buttons()["Enter"].tap();
target.frontMostApp().mainWindow().buttons()["4"].tap();
target.frontMostApp().mainWindow().buttons()["/"].tap();

var display = target.frontMostApp().mainWindow().staticTexts()[1].value();
if (display == "0.75") 
    UIALogger.logPass("3 E 4 /");
 else 
    UIALogger.logFail("3 E 4 /");

然而脚本运行 sin enter cos / 在编辑器日志中显示

target.frontMostApp().mainWindow().buttons()[3].tap();
target.frontMostApp().mainWindow().buttons()["Enter"].tap();
target.frontMostApp().mainWindow().buttons()[4].tap();
target.frontMostApp().mainWindow().buttons()["/"].tap();

所以仪器以某种方式将我的字符串“3”转换为索引 3,然后点击第三个按钮。

所以我可以通过它们的索引号来调用按钮,但我更愿意通过它们的文本来调用它们。

【问题讨论】:

【参考方案1】:

使用括号访问 UIAElementArray 的限制是数字被视为索引。 8-(。

只需添加firstWithName():

target.frontMostApp().mainWindow().buttons().firstWithName("3").tap();

见UIAElementArray Class Reference

【讨论】:

以上是关于iphone UITesting一个数字按钮的主要内容,如果未能解决你的问题,请参考以下文章

删除 iphone 普通键盘中的完成按钮

MUI 里js动态添加数字输入框后,增加减少按钮无效

UItesting:点击 UIcollectionview 然后测试它失败

在 XCTest (UITesting) 中获取设备名称

在 UITesting 期间导致内存警告和崩溃的背景图像

Xcode 7.3 中 UITesting 中的 launchArguments 不起作用