gpt4 book ai didi

ios - 使用 UIAutomation 从文本字段中获取值

转载 作者:可可西里 更新时间:2023-11-01 04:40:27 24 4
gpt4 key购买 nike

我试图了解如何使用 UIAutomation 执行自动应用程序测试,因此我创建了一个可以从 JavaScript 接口(interface)驱动的温度转换器应用程序。这是用户界面:

enter image description here

顶部文本字段的辅助功能标签为“摄氏度”,同样底部字段的辅助功能标签为“华氏温度”。我试图通过这个脚本来驱动它:

UIALogger.logStart("Test -40ºC == -40ºF");
var window = UIATarget.localTarget().frontMostApp().mainWindow();
var celsiusField = window.textFields()["Celsius"];
var fahrenheitField = window.textFields()["Fahrenheit"];
var convertButton = window.buttons()["Convert"];

celsiusField.setValue("-40");
convertButton.tap();
var fahrenheitValue = fahrenheitField.value();
if (fahrenheitValue == "-40.0") {
UIALogger.logPass("-40C == -40F");
} else {
UIALogger.logFail("-40C == " + fahrenheitValue + "F");
}

这会将摄氏度字段中的文本正确设置为“-40”,并且在点击按钮时,应用会将华氏度字段中的文本更新为“-40.0”。但是,fahrenheitValue 的值为“Fahrenheit”(文本字段的名称/标签),因此测试失败。我想知道这是否可能是时间问题,所以在点击后延迟一秒,这并没有改变行为。

是否可以从文本字段中取出文本并将其与预期值进行比较?

最佳答案

它变成“华氏度”是因为这是辅助功能标签还是因为它是占位符文本?

看起来 value() 可能会返回占位符文本。一种解决方法是在用户开始键入后修改占位符值,将其设置为用户输入的文本,然后在删除时将其恢复为华氏温度?我假设即使您调用 setValue,它的行为也与调用 UITextField 委托(delegate)方法时一样?

关于ios - 使用 UIAutomation 从文本字段中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8268162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com