1
次のウェブページに分度器テストスクリプトを書いています。プロトラクターが同じウェブページ内の別の部門のロケーターを特定できない
私は自分のロケータによってすべてのフィールドに到達しようとしていました。ここに私のテストスクリプトがあります。
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('[email protected]'); 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);
});
});
しかし、このアプリケーションを実行すると、従業員の詳細の部分だけが実行されています。次のエラーが発生します。
Message: Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
しかし、従業員の詳細をコメントして実行すると、連絡先の詳細部分が実行されます。私は何をすべきか?
よろしくお願いいたします。
1.角度アプリですか?「はい」の場合、「browser.driver」構文は必要ありません。そのような 'browser.sleep()'だけを使うべきです。 conf.jsファイルのDEFAULT_TIMEOUT_INTERVAL値を大きくする。 –