5

當我運行在Instruments的UIAutomation腳本,一切工作正常,但是當我運行命令行完全一樣的劇本,我得到這個錯誤: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().mainWindow().tableViews()[0].cells()["ID number, Required"].textFields()[0]UIAutomation - 從儀器和命令行不同的結果

這裏該儀器命令我使用啓動測試

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 
+0

你可以發佈你用來啓動測試的儀器命令嗎?也許在命令行啓動環境與Instruments GUI應用程序使用的環境中有某種差異。 –

+0

什麼是Xcode版本?類似的命令在Xcode 4.5.2中似乎適用於我,我的構建配置設置爲Release,iPhone 6.0仿真器作爲目標。也許嘗試將你的方案切換到Debug構建配置,編譯,然後用你的儀器命令中的「Release-iphonesimulator」替換爲「Debug-iphonesimulator」? –

回答

1

的原因可能是下文書UIAutomation是在命令行中運行時相比,要慢得多。所以它可能是在工具下的元素target.frontMostApp()。mainWindow()。tableViews()[0] .cells()[「ID number,Required」]。textFields()[0]
exists,ie is有效,但從控制檯尚未。
也許你應該嘗試等待元素變爲有效,然後再對其執行操作,檢查其有效性(isValid)並記錄它以確定其狀態。

相關問題