5

当我在 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 
4

1 回答 1

1

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

于 2013-01-30T13:10:32.130 回答