我注意到使用量角器很难自动化非角色应用程序。我目前正在使用这些方法,我将它添加到当前的宁静点击并输入函数以添加显式等待。但是,我想知道是否有一件事我可以添加到配置文件中,它会在开始点击任何按钮或输入任何文本值之前自动等待dom加载?什么是好的做法?
import { Enter, Click } from "serenity-js/lib/screenplay-protractor";
import { protractor, element } from "protractor";
var EC = protractor.ExpectedConditions;
export class Wait{
constructor() {
}
enterValue(text:any, locator:any) {
//Enter.theValue comes from serenity
return browser.wait(EC.elementToBeClickable(element(locator)), 5000)
.then(function(){
return Enter.theValue(text).into(locator);
});
}
clickOn(locator: any): any {
//Click.on comes from serenity
return browser.wait(EC.elementToBeClickable(element(locator)), 5000)
.then(function(){
return Click.on(locator);
});
}
};
答案 0 :(得分:0)
只需添加配置:
browser.manage().timeouts().implicitlyWait(5000);
您也可以阅读它们之间的区别:http://toolsqa.com/selenium-webdriver/implicit-explicit-n-fluent-wait/