如何在量角器中找到ng-repeat内的元素?

时间:2016-12-12 06:30:29

标签: testing selenium-webdriver protractor

我正在尝试测试一个网站http://www.way2automation.com/angularjs-protractor/banking/#/customer 在这个他们是一个下拉列表,我尝试使用定位器by.repeater,by.model,getText所有但未能运行测试帮助我摆脱它。

我附上了我的规范和pageObject的代码。

PageObject -

var CustomerLoginPage =  function () {

    this.login1 = element(by.buttonText("Login"));
    this.select=element(by.repeater('cust in Customers'));

    this.getCustomer = function () {
        select.getText();
     }

     this.showLogin = function () {
        login1.click();
    };
};
module.exports = CustomerLoginPage;

规范文件

describe("Customer Login Functionality" , function () {

    browser.sleep(1000);
    it("name details",function () {
        browser.get('http://www.way2automation.com/angularjs-protractor/banking/#');
      //  customer.setName();
        expect(customer.getCustomer()).toEqual('Harry Porter');
         browser.sleep(1000);
    });

    it("show" ,function () {

        customer.showLogin();
        browser.sleep(1000);

    });
});

1 个答案:

答案 0 :(得分:0)

将页面对象更新为 -

var CustomerLoginPage =  function () {

  this.select=element.all(by.repeater('cust in Customers'));

  this.login1=element(by.cssContainingText('.btn', 'Login'));

  this.getCustomer = function () {
     this.select.getAttribute('value');
  }

  this.showLogin = function () {
      this.login1.click();
  };
};

 module.exports = CustomerLoginPage;

和spec文件就像以前一样,它解决了我的问题。

希望它能帮助别人。