如何确定 iOS UI 自动化中启用了哪些按钮?

发布于 2024-12-13 01:10:06 字数 296 浏览 3 评论 0原文

使用 UI 自动化工具,我知道如何测试 iOS 应用程序中是否启用了特定按钮:

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

但是,我希望能够确定界面中已启用的按钮数量,而不仅仅是确定特定按钮是否启用一个已启用。如何确定启用按钮的数量?

另外,如何将这些按钮的详细信息打印到控制台?

Using the UI Automation instrument, I know how to test if a particular button is enabled in my iOS application:

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

However, I'd like to be able to determine the number of buttons that have been enabled in the interface, not just whether a specific one is enabled. How could I determine the number of enabled buttons?

Also, how do I print details of these buttons to the console?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忘你却要生生世世 2024-12-20 01:10:06

下面是一个函数,它采用 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());

Here's a function which takes a UIAElementArray (ie app.mainWindow().buttons()) and logs the number of enabled 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);
}

Example calling code:

printEnabledButtons(app.mainWindow().buttons());
定格我的天空 2024-12-20 01:10:06

我对你的代码做了一些修改。所以这里是:

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' 是 true 还是 false。

谢尔斯

I've modified your code a bit. So here it is:

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;
}

Here is my usage of this function:

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

Then you can simply check whether 'btn_state' is true or false depending on your needs.

Chears

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文