如何迭代并选择量角器中的每个下拉值



我有一个场景,其中有2下拉每个有一些值,然后有一个添加按钮。所以我们需要从一个下拉菜单中选择一个值,然后从另一个下拉菜单中选择一个值,然后单击添加按钮,然后再次从两个下拉菜单中选择另一个值。然而,当我选择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()
                        }

                });
            }
        });

问题是,像通常一样,protractor中的所有内容都是一个承诺,因此您不能简单地在for循环中调用东西。它基本上会立即运行所有循环,而不是等待任何async promise解析。

这里有一个很好的答案,解释得更彻底:https://stackoverflow.com/a/27910350/2374517

最新更新