0

在以下 UI 自动化脚本代码中,我能够从 UIPickerView 获取值,但我无法选择选择器:

var picker = window.pickers(); 

UIALogger.logMessage("picker array count: " + picker.length);

var pickerWheels = picker[0].wheels();

UIALogger.logMessage("picker Wheel count: " + pickerWheels.length);

var pickerWheelsValues =pickerWheels[0].values();

UIALogger.logMessage("picker Values count: " + pickerWheelsValues);

pickerWheels[0].values()[0].tap();

我可能做错了什么?

4

4 回答 4

2

答案在苹果开发论坛消息 242678 中。

基本上你必须:

pickerWheel.tapWithOptions({x:hitPointX, y:hitPointY}, {touchCount:1, tapCount:1});

诀窍是 hitPoint 必须在下一行或上一行。

于 2010-11-20T22:08:49.110 回答
1

这是pickerWheel自动化的漂亮javascript实现 https://devforums.apple.com/message/242678

于 2011-02-09T08:59:16.603 回答
0

您应该使用 .selectValue() 方法。

var value = pickerWheels[0].values()[0]; // or any other valid value
pickerWheels[0].selectValue(value);

我发现在某些情况下 selectValue 会抛出“尝试运行脚本时发生异常”。当目标未正确设置日志元素树并检查 UAITarget 名称是否不为空时(如果是模拟器,它应该是“iPhone Simulator”),就会发生这种情况。请参阅目标选择下的编辑活动目标,并确保在选项下设置了正确的模拟器版本(您已编译)。

于 2011-05-04T19:53:40.250 回答
0

对于 XCUIAutomation (iOS 10+)

app.pickers
    .children(matching: .pickerWheel)
    .element
    .adjust(toPickerWheelValue: "My Value")
于 2017-07-17T22:13:37.767 回答