量角器无法在同一网页中识别不同div中的定位器

时间:2016-11-03 06:13:20

标签: angularjs jasmine protractor

我正在将量角器测试脚本编写到以下网页。

page

我试图通过他们自己的定位器到达每个领域。这是我的测试脚本。

describe('Protractor Demo App', function() {
    it('should have a title', function() {
        browser.get('http://');

    //Maximize browser window
    var width = 1900;
    var height = 1500;
    browser.driver.manage().window().setSize(width, height);    
    browser.driver.sleep(2000);

    //Enter username and password
    element(by.model('login.user_name')).sendKeys('ooo');
    element(by.model('login.password')).sendKeys('1236');
    browser.driver.sleep(2000);

    //Click login buton
    element(by.css('.btn')).click();    
    browser.driver.sleep(2000);

    //Click on image
    element(by.css('div.col-lg-2:nth-child(2) > div:nth-child(1) > a:nth-child(1) > i:nth-child(1)')).click();
    browser.driver.sleep(5000);

    // Click Employee button
    element(by.css('body > nav > div.collapse.navbar-collapse > ul:nth-child(1) > li:nth-child(1) > a')).click();
    browser.driver.sleep(2000);

    // Click Employee Add
    element(by.css('body > nav > div.collapse.navbar-collapse > ul:nth-child(1) > li.open > ul > li:nth-child(1) > a')).click();
    browser.driver.sleep(2000);

    // Employee Details
     element.all(by.model('user_master.salutation_id')).each(function (eachElement, index)
       {
           eachElement.click();
           browser.driver.sleep(500);
           element(by.css('body > div.container-fluid > div > div > div > div > div > form > div:nth-child(1) > div:nth-child(1) > div.panel-body > div:nth-child(1) > select > option:nth-child(3)')).click();
           browser.driver.sleep(500);
       });  // Select Salutation

    element(by.model('user_master.first_name')).sendKeys('Manuli'); browser.driver.sleep(200);// Enter First Name
    element(by.model('user_master.second_name')).sendKeys('Piyalka'); browser.driver.sleep(200);// Enter Second Name
    element(by.model('user_master.full_name')).sendKeys('M.P. Manawadu'); browser.driver.sleep(200);// Enter Name with Initials
    element(by.model('user_master.dob')).sendKeys('1991-01-26'); browser.driver.sleep(200);// Enter Date of Birth
    element(by.model('user_master.nic')).sendKeys('915260489V'); browser.driver.sleep(200);// Enter NIC
    browser.driver.sleep(2000);

    // Contact Details
    element(by.model('user_master.phone_mobile')).sendKeys('0767037512'); browser.driver.sleep(200);// Enter Phone-mobile
    element(by.model('user_master.phone_land')).sendKeys('0112277582'); browser.driver.sleep(200);// Enter phone-land
    element(by.model('user_master.user_address')).sendKeys('Kurusagoda,Gonapinuwala'); browser.driver.sleep(200);// Enter Address
    element(by.model('user_master.email_address')).sendKeys('mpiaylka@et.lk'); browser.driver.sleep(200);// Enter Email
    element(by.model('user_master.emer_name')).sendKeys('Manuli'); browser.driver.sleep(200);// Enter Name
    element(by.model('user_master.emer_phone')).sendKeys('0767037512'); browser.driver.sleep(200);// Enter Phone Number
    browser.driver.sleep(2000);

        });
});

但是,当我运行此应用程序时,只有员工详细信息部分正在运行。发生以下错误。

  

消息:       错误:超时 - 在指定的超时时间内未调用异步回调   jasmine.DEFAULT_TIMEOUT_INTERVAL。

但是,当我评论员工详细信息部分并运行时,联系人详细信息部分会运行。我该怎么办?

问候。

1 个答案:

答案 0 :(得分:0)

尝试使用xpath。 by.xpath('//button[contains(., "Select None")]'):)