UIAutomation - 仪器和命令行的不同结果

时间:2013-01-07 14:24:32

标签: iphone command-line instruments ui-automation ios-ui-automation

当我在Instruments中运行UIAutomation脚本时,一切正常但是当我从命令行运行完全相同的脚本时,我收到此错误: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().mainWindow().tableViews()[0].cells()["ID number, Required"].textFields()[0]

这是我用来启动测试的Instruments命令

instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/johan/Library/Developer/Xcode/DerivedData/Brokers-etvmwznhcjprybdekgtixzzsnbrw/Build/Products/Release-iphonesimulator/MyApp -e UIASCRIPT /Users/johan/Desktop/Script.js 

1 个答案:

答案 0 :(得分:1)

原因可能是仪器下的UIAutomation比从命令行运行要慢得多。所以可能是在仪器下面的元素target.frontMostApp()。mainWindow()。tableViews()[0] .cells()[“ID number,Required”]。textFields()[0]
存在,即有效,但尚未从控制台存在。
也许您应该尝试等待元素在对其执行操作之前变为有效,检查其有效性(isValid)并记录它以确定其状态。