1

我有這個應用程序,我正在使用UIAutomation框架提供的自動化測試腳本。在我的應用程序中,我想點擊一個按鈕,這是一個UIATableCell()的孩子,後者又是我應用程序的mainWindow()的孩子。當我運行命令logElementTree()時顯示以下內容: enter image description here如何使用儀器中的UIAutomation在應用程序窗口中訪問UIATableCell?

我無法訪問此按鈕,但是我嘗試。任何人都可以請幫助我如何訪問此按鈕?

回答

0

試試這個:

var buttonToTap = mainWindow().cells()[0].buttons()[0].tap(); 
    if (buttonToTap.checkIsValid()) 
     buttonToTap.tap(); 

如果你想挖掘單元格文本將在應用程序運行過程中不會改變,你可以嘗試使用,而不是指數的對象名稱:

var textInCell = "You have not talked to anyone named 'Bugles'";  
var buttonToTap = mainWindow().cells()[textInCell].buttons()[textInCell].tap(); 
if (buttonToTap.checkIsValid()) 
    buttonToTap.tap(); 
+0

如果我使用'mainWindow()。cells()',它會給出無效的元素錯誤。 UIAutomation似乎沒有認識到細胞是窗戶的直接孩子。但是我已經使用了'mainWindow()。elements()[textInCell] .buttons()[textInCell] .tap()'這似乎工作。仍然是奇怪的,我想知道爲什麼UIAutomation不會認識到這一點?感謝您的回覆! –

+0

根據你上面發佈的logElementTree截圖 - 'cell'應該在那裏。試着找出它是什麼類型的元素。這可能是UIAutomation問題。 ... logMessage(mainWindow()。elements()[textInCell] .toString());它應該記錄像[對象UIA ] –

相關問題