等效的硒Web驱动程序调用来替换量角器调用



我们正在从量角器迁移到使用SeleniumWebdriver for Node.js:https://www.npmjs.com/package/selenium-webdriver

使用量角器进行 AngularJS,我们可以做到:

element.all(by.repeater('r in roles')).first().element(by.css('.update-role')).click();

我试图弄清楚使用require('selenium-webdriver')的等效调用可能是什么样子,有人有想法吗?

具体来说,by.repeater()调用是我不知道的等价物。

相当简单。 您需要找到所有元素,并将它们视为相似的元素。

element.all(by.css('[ng-repeat="r in roles"]')).then(function(eachRepeat){
    for(var i=0;i<eachRepeat.length; i++){
        // do something else with the repeat. where eachRepeat[0] is the first element
       console.log(eachRepeat[i]);
    }
});

您还可以为元素编号添加条件。 或元素的文本。

element.all(by.css('[ng-repeat="r in roles"]')).getText().then(function(eachRepeat){
        for(var i=0;i<eachRepeat.length; i++){
           console.log(eachRepeat[i]);
           if(eachRepeat[i] === 'someSpecificText'){
                eachRepeat[i].click();
           }else{
           console.log('error');
           }
        }
    });

如果您对此有任何疑问,请告诉我。

最新更新