angular - 登录时出现Angular e2e测试超时问题
问题描述
我在编写 angulae e2e 量角器测试时遇到问题,我在尝试使用正确的电子邮件和密码测试登录时总是遇到超时错误。
describe("login view", () => {
const app = new App();
const login = new LoginPage();
beforeAll(() => {
app.navigateTo(BASE_URL);
app.clearLocalStorage();
});
it("should login successfully", async () => {
await Promise.all([login.clearPassword(), login.clearUsername()]);
login.username = E2E_USERNAME;
login.password = E2E_PASSWORD;
login.submit.click();
const currentUrl = await app.currentUrl;
expect(currentUrl).toEqual(LABORATORIES_URL);
});
export class LoginPage {
private usernameInput = element(by.id("loginFormUsernameInput"));
private passwordInput = element(by.id("loginFormPasswordInput"));
private confirmButton = element(by.id("loginFormConfirmButton"));
public set username(username: string) {
this.usernameInput.sendKeys(username);
}
public set password(password: string) {
this.passwordInput.sendKeys(password);
}
public get submit(): ElementFinder {
return this.confirmButton;
}
}
我正在处理节点:10.19.0。包.json:
"devDependencies": {
"@angular/cli": "^6.2.9",
"@angular/compiler-cli": "^6.1.3",
"protractor": "^5.4.1",
正在寻找解决此问题的方法,任何人都可以提供帮助吗?
解决方案
你能分享一下你的login.clearUsername()
和的定义login.clearPassword()
吗?
或者await Promise.all([login.clearPassword(), login.clearUsername()]);
,与其在规范文件中使用,不如稍微改变一下你的吸气剂,就像这样。
public set username(username: string) {
this.usernameInput.clear();
this.usernameInput.sendKeys(username);
}
public set password(password: string) {
this.passwordInput.clear();
this.passwordInput.sendKeys(password);
}
推荐阅读
- function - 使用 Monte Carlo 方法计算函数的积分,范围从 3 到 10
- vue.js - axios、nuxt 和 docker 的奇怪行为
- angularjs - 页面刷新后页面上的事件组件变得无响应
- javascript - 如何获取异步函数的值并保存
- shopify - shopify 将价格范围添加到搜索结果
- arrays - 如何自动引用不断扩展的数据列?
- go - 为什么在此处使用通道进行可变输出
- angular - agGrid 的自动行高属性不起作用
- ifttt - IFTTT | 如果 Gmail 主题是“XYZ”,则拨打电话
- javascript - 将鼠标悬停在表格单元格分隔符上时的悬停效果 HTML/CSS/JS