我只想用UI自動化測試我的iOS UI,但是在將文本輸入到UITextField時遇到困難。該文件說,方法「setValue(...)」應該做的伎倆,但它不。iOS儀器自動化「setValue」無法正常工作
我總是得到這樣的錯誤:
Script threw an uncaught JavaScript error: Unexpected error in -[UIATextField_0x9952690 setValue:], /SourceCache/UIAutomation_Sim/UIAutomation-271/Framework/UIAElement.m line 1142, kAXErrorSuccess on line 15 of login.js, #0 setValue()
的代碼看起來是這樣的:
var textfields = UIATarget.localTarget().frontMostApp().mainWindow().textFields();
username = textfields["username"];
username.setValue("test");
用戶名字段不爲空或未定義。
我的第二個解決方案是這樣的JS項目: https://github.com/alexvollmer/tuneup_js#readme 它有一個文本字段「typeString」方法,但它是一個有點馬車,當它涉及到輸入數字和大寫字母失敗。
我正在使用iOS6.1, 工具4.6(46000), Xcode版本4.6(4H127)。
任何幫助表示讚賞!
嗯。我可以使用UI Automation在我的應用程序中設置文本字段的值。你的自動化代碼看起來正確我懷疑Objective C世界裏有什麼錯誤。你在使用'UITextField'的自定義子類嗎?你可以用一個文本字段構建一個虛擬應用程序,並嘗試在你的機器上設置該字段的值嗎?這可能有助於追蹤問題。 – 2013-02-14 02:05:16
在其他項目中,「setValue()」函數有效。我認爲問題是由未完成的動畫造成的。當用戶點擊文本字段時,底層視圖會滾動到頂部,以便在鍵盤顯示時可見。 「target.delay(1)」做我正在尋找,現在「setValue()」函數工作。 – ralphbert 2013-02-18 08:05:42