使用 UI 自动化工具,我知道如何测试我的 iOS 应用程序中是否启用了特定按钮:
if( btn[0].isEnabled() ) {
UIALogger.logPass("button enabled");
} else {
UIALogger.logFail("button not enabled");
}
但是,我希望能够确定界面中已启用的按钮数量,而不仅仅是是否启用了特定的按钮。如何确定启用按钮的数量?
另外,如何将这些按钮的详细信息打印到控制台?
使用 UI 自动化工具,我知道如何测试我的 iOS 应用程序中是否启用了特定按钮:
if( btn[0].isEnabled() ) {
UIALogger.logPass("button enabled");
} else {
UIALogger.logFail("button not enabled");
}
但是,我希望能够确定界面中已启用的按钮数量,而不仅仅是是否启用了特定的按钮。如何确定启用按钮的数量?
另外,如何将这些按钮的详细信息打印到控制台?
这是一个函数,它采用 UIAElementArray(即 app.mainWindow().buttons())并记录启用按钮的数量:
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());
我稍微修改了你的代码。所以这里是:
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”是真还是假。
雪儿