0

我正在尝试 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 输入 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,然后点击第三个按钮。

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

4

1 回答 1

1

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

相反,只需添加firstWithName()

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

请参阅UIAElementArray 类参考

于 2012-02-11T03:07:09.800 回答