【问题标题】:protractor if I have many buttons with an ng-click to add them to a collection, how can I test that it adds them correctly?量角器如果我有许多带有 ng-click 按钮将它们添加到集合中,我如何测试它是否正确添加它们?
【发布时间】:2016-07-22 14:53:33
【问题描述】:

我正在制作一个花盆应用程序,您可以在其中添加鲜花。

想象一下,页面上有一束花,你可以点击一些+按钮将这些花添加到你的花盆中。

每个按钮基本如下-

<button ng-click="model.addToFlowerPot(flower)">Add</button>

现在,我的flowerArray(花中花)中可能有十几朵花,我只是使用中继器来展示它们。

我如何告诉量角器只测试其中一个按钮以确保将花添加到花盆中?

阅读http://www.protractortest.org/#/locators后我并不完全确定

谢谢

【问题讨论】:

    标签: angularjs protractor


    【解决方案1】:

    据我了解,首先你需要找到花朵,这是by.repeater() locator 可以提供的帮助:

    var flowers = element(by.repeater("flower in flowers"));
    

    然后,您选择要使用的花。先说第一个吧:

    var flower = flowers.first();  // or flowers.get(0);
    

    然后,您可以找到“添加”button by text

    var addButton = flower.element(by.buttonText("Add"));
    addButton.click();
    

    您也可以使用each() 对转发器中的每一朵花执行此操作:

    flowers.each(function (flower) {
        var addButton = flower.element(by.buttonText("Add"));
        addButton.click();
    });
    

    【讨论】:

    • 哦...哈哈,这当然有点复杂,但也很基础。谢谢!
    • 我遇到了一些麻烦。我得到一个错误 - Failed: element not visible :(
    • @user1354934 您能否检查每个转发器元素内是否有另一个带有Add 文本的按钮元素...请参阅this answer - 它概述了此问题的常见解决方案。希望这会有所帮助。
    • 每个按钮都会有“添加”。感谢您的链接 - 现在看看。很抱歉给您带来麻烦。
    猜你喜欢
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2019-11-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多