我可以在我使用的mac中很好地創建並重播以下腳本。在很多mac中運行UIAutomation腳本?
var target = UIATarget.localTarget();
UIATarget.localTarget().delay(15);
target.frontMostApp().mainWindow().tableViews()[0].textFields()[0].tap();
當我在另一個mac上運行上述腳本時,它在第3行顯示錯誤。 如下所示更改上述腳本的第三行後,它正在播放正常。
target.frontMostApp().mainWindow().tableViews()[1].textFields()[0].tap();
只是我已經改變了從0 tableview中的指數爲1。我怎麼能在多個 Mac系統實現這一目標?兩個mac都有相同的xcode版本(xcode 5)和模擬器版本(6.1)以及mac版本。爲什麼Instruments要在不同的mac中以不同的方式使用腳本API?
如何在不更改腳本的情況下手動更改腳本名稱?我想運行腳本原樣,在另一個mac中沒有將元素轉換爲其名稱?在Xcode和模擬器中是否有選項自動生成元素名稱的代碼? –
當改變UI元素的順序/位置會中斷UI自動化測試時,我遇到了一個問題,因此我嘗試將測試更改爲使用名稱而不是子元素索引。我不知道爲什麼你的結果在不同的Mac上會有所不同,但可能仍有一種方法可以在不使用名稱的情況下解決此問題。 我認爲Xcode會自動爲元素生成名稱(至少有一些元素會擁有它們,可能取決於元素類型/內容)。我使用了'target.frontMostApp()。mainWindow()。logElementTree();'打印當前元素名稱。 –
是怎麼回事?請給我,因爲我已經給你50票:) :) –