如何在量角器

时间:2015-09-30 12:15:42

标签: javascript angularjs drop-down-menu protractor webdriverjs

我有一个场景,其中有2个下拉列表,每个下拉列表都有一些值,然后有一个添加按钮。 所以我们需要从一个下拉列表中选择1个值,然后从其他下拉列表中选择1个值,然后单击“添加”按钮,然后再从下拉列表中选择另一个值。但是,当我选择1下拉列表的值时,它会抛出一条错误消息 -

  

当时无法点击元素

以下是代码:

activityPage.activitiesTab.click()
        browser.driver.sleep(2000);
        activityPage.newActivity.click();
        browser.driver.sleep(2000);
        activityPage.entityDropdown.click();
        browser.driver.sleep(2000);
        activityPage.entitesList(function (items) {
            for (var i = 1; i < items.length; ++i) {
                items[i].click()                        
                    browser.driver.sleep(2000);
                    activityPage.activityDropdown.click()
                    activityPage.entitesList(function (activitiesName) {
                        for (var j = 1; j < activitiesName.length; ++j) {
                            activitiesName[j].click();
                            activityPage.activityDropdown.click()
                            browser.driver.sleep(2000);
                            activityPage.entityDropdown.click();
                            items[i].click()
                        }


                });

            }
        });

1 个答案:

答案 0 :(得分:1)

问题是,像往常一样,量角器中的所有东西都是一个承诺,因此你不能简单地将东西称为for循环。它基本上会立即运行所有循环,而不是等待任何异步承诺解析。

这是一个很好的答案,可以更彻底地解释它: https://stackoverflow.com/a/27910350/2374517