2011-10-31 50 views
0

使用UI自動化儀器,我知道如何測試一個特定的按鈕在我的iOS應用程序中啓用:如何確定iOS UI Automation中啓用了哪些按鈕?

if(btn[0].isEnabled()) { 
    UIALogger.logPass("button enabled"); 
} else { 
    UIALogger.logFail("button not enabled"); 
} 

不過,我希望能夠確定的是已啓用的按鈕數在界面中,不僅僅是一個特定的啓用。我怎麼能確定啓用的按鈕的數量?

另外,如何將這些按鈕的詳細信息打印到控制檯?

回答

1

這裏的一個函數,它接受一個UIAElementArray並記錄使能按鈕的數量(即app.mainWindow()按鈕()。):

function printEnabledButtons(list) { 
    var enabledButtons = 0; 
    for (var i=0;i<list.length;i++) { 
     if (list[i].isEnabled()) { 
      //UIALogger.logDebug("button " + list[i].name() + " is enabled"); 
      enabledButtons++; 
     } else { 
      //UIALogger.logDebug("button " + list[i].name() + " is not enabled"); 
     } 
    } 
    UIALogger.logDebug("number of enabled buttons: " + enabledButtons); 
} 

實施例調用代碼:

printEnabledButtons(app.mainWindow().buttons()); 
0

我已經修改了一下你的代碼。所以在這裏,它是:

function checkIfEnabled(list, button_name) { 
    var btn_enabled = false; 
    var list_length = list.length; 
    var list_item; 

    for (var list_index=0; list_index < list_length; list_index++) { 
     list_item = list[list_index]; 
     var item_name = list_item.name(); 

     if (list_item.isVisible() && list_item.isEnabled() && 
      item_name.match(button_name.toString())){ 
      UIALogger.logMessage ("We're IN !!! "); 
      btn_enabled = true; 
      break; 
     } else { 
      btn_enabled = false; 
      UIALogger.logMessage ("Still looking for a button"); 
     } 
    } 
    return btn_enabled; 
} 

這是我這個函數的用法:

var btn_state = checkIfEnabled(app.navigationBar().buttons(), 
            YOUR_BTN_NAME); 

然後,你可以簡單地檢查「btn_state」是真還是假取決於您的需要。

Chears

相關問題