2011-10-31 12 views
0

UIオートメーション機器を使用して、私は特定のボタンが私のiOSアプリケーションで有効になっているかどうかをテストする方法を知っている:iOS UIオートメーションでどのボタンが有効になっているかを確認するにはどうすればよいですか?

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

関連する問題