5

Kiedy uruchomić skrypt UIAutomation w instrumenty, wszystko działa w porządku, ale gdy uruchamiam dokładnie ten sam skrypt z linii poleceń, otrzymuję ten błąd: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().mainWindow().tableViews()[0].cells()["ID number, Required"].textFields()[0]UIAutomation - różne wyniki z instrumentów i Command Line

Oto instrumenty polecenia Używam uruchomić to badanie

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

Czy możesz opublikować polecenie instrumentów, którego używasz do uruchomienia testu? Być może istnieje pewna różnica w środowisku, w którym uruchamiana jest linia poleceń, w porównaniu do tej używanej przez aplikację GUI Instruments. –

+0

Co to jest wersja Xcode? Podobne polecenie wydaje się działać dla mnie w Xcode 4.5.2, z moją konfiguracją kompilacji ustawioną na Release i symulatorem iPhone 6.0 jako miejscem docelowym. Może spróbuj zmienić swój schemat na konfigurację kompilacji debugowania, skompiluj, a następnie zastąp "Release-iphonesimulator" w poleceniach instrumentów za pomocą "Debuguj-ifonika"? –

Odpowiedz

1

Powodem może być to, że UIAutomation pod instrumentów jest znacznie wolniejszy niż gdy uruchamiane z linii poleceń. Więc może być tak, że pod instrumentami element target.frontMostApp(). MainWindow(). TableViews() [0] .cells() ["Numer ID, wymagany"]. TextFields() [0]
istnieje, czyli jest ważne, ale z konsoli jeszcze nie.
Może powinieneś spróbować poczekać, aż element stanie się ważny, zanim wykonasz na nim akcję, aby sprawdzić jego ważność (isValid) i zalogować się, aby upewnić się o jego statusie.

Powiązane problemy