ログイン機能を持つ角度jsのWebサイトを自動化しています。すべて私がしたいと思うリンクをクリックし、ユーザー名とパスワードを入力します。しかし、何とか私のスクリプトはページの読み込みよりも速く実行されています。私はこれを処理することができますどのように私にアドバイスをください: マイログインページオブジェクトは次のとおりです。分度器のテストスクリプトがページの読み込みより高速に実行されています
'use strict'
// Normal Login
require('../page-objects/loginPage.js');
var customerPortalHome = function() {
this.clickSignIn = function() {
browser.sleep(5000);
element(by.linkText('Sign In')).click();
browser.waitForAngular();
browser.sleep(2000);
return require('./loginPage.js');
}
}
module.exports = new customerPortalHome();
私のテスト仕様です。
var co = require('co');
var UI = require('./ui.js');
var ui = new UI();
var CustomerPage = require('../page-objects/customerPortalHome.js')
describe(" Smoke Test Login to the application", function() {
it("test", co.wrap(function*() {
var EC = protractor.ExpectedConditions;
browser.get(ui.createStartLink());
expect(browser.getTitle()).toContain("Portal");
// Verify if user is able to Login into the application
var loginPage = CustomerPage.clickSignIn();
loginPage.switchToFrame('account-sdk');
var reportPage = loginPage.clickLogin('[email protected]', '$$$$$');
expect(browser.getCurrentUrl()).toContain('reports');
reportPage.clickSignOut();
expect(browser.getCurrentUrl()).toContain("?signout");
browser.sleep(800);
}));
});
テストを実行するたびにブラウザが1秒間開いて閉じます。
マイOnprepare方法は、次のようになります。ブラウザの睡眠を使用して
beforeLaunch: function() {
return new Promise(function (resolve) {
reporter.beforeLaunch(resolve);
});
},
onPrepare: function() {
browser.manage().timeouts().implicitlyWait(5000);
afterEach(co.wrap(function*() {
var remote = require('protractor/node_modules/selenium-webdriver/remote');
browser.driver.setFileDetector(new remote.FileDetector());
}));
はい角膜が角膜で速くて明るくなります。我々はそれを遅くする必要がある場合は睡眠を使用することができます。 –