angularjs - 如何使用 Protractor 每次在页面上单击同一类元素

标签 angularjs testing protractor

    it('it should click each of the title elements to reveal its content', function(){
        element(by.css('.cardtitle')).click();
    });

我有上面的行可以正常工作并单击这个类的 3 系列中的第一个项目。我需要使用 Protractor 单击此类中的所有 3 个项目,我该怎么做? (都在同一页上,非常简单)

不管它的值(value)是什么,即将到来的实例中可能有 2 或 5 个项目可以点击所有共享同一个类。

谢谢!

最佳答案

循环遍历元素并使用 Protractor 中可用的 each() 函数一个接一个地单击它们。方法如下 -

element.all(by.css('.cardtitle')).each(function(elem){
    elem.click();
});

如果你想连续点击元素,那么你需要等到点击完成 resolving its promise。这是一个示例 -

element.all(by.css('.cardtitle')).each(function(elem){
    elem.click().then(function(){
        //If you want perform some operation after click, you can do it here.
        browser.sleep(1000);
    });
});

希望这对您有所帮助。

关于angularjs - 如何使用 Protractor 每次在页面上单击同一类元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32727247/

相关文章:

javascript - Angular js 不会在已选中的复选框上触发更改事件

javascript - Angular,ng-repeat在同一段中不起作用

javascript - Angular.js 仅在网络服务器上路由

javascript - 在 AngularJS 中加载时隐藏模板

javascript - 如何等待在 Protractor 端到端测试中处理事件?

javascript - cherry-pick 测试并制作西装

javascript - 告诉 Protractor 在异步调用时阻塞

testing - 如何期望 url 在 TestCafe 中重定向?

php - 在 Laravel 中测试时如何模拟 time() 函数?

node.js - 如何修复 : "TypeError: wsModule.Server is not a constructor" when running tests in Jest