【发布时间】:2020-04-11 16:34:45
【问题描述】:
我是 e2e 测试自动化的新手。我正在尝试访问 access_token,如果颁发了访问令牌,应用程序应该直接到指定的 URL,否则它应该导航到登录页面。在beforeAll() 函数中,我使用了上述条件,但它不起作用,即即使没有发出令牌,if 条件也会返回 true。任何人都知道我们该如何处理?
if(browser.executeScript("window.localStorage.access_token")!==undefined) 更改为 if(browser.executeScript("window.localStorage.access_token")) 时,做同样的工作
beforeAll(()=>{
login = new LoginPage();
addRoom = new AddRoomClass();
return new Promise((resolve)=>{
setTimeout(()=>{
addRoom.navigateTo().then(()=>{
if(browser.executeScript("window.localStorage.access_token")!==undefined){
console.log(browser.executeScript("window.localStorage.access_token"));
console.log('authenticated user');
resolve();
}
else{
return new Promise((resolve)=>{
login.navigateTo().then(()=>{
login.getEmailInput().sendKeys('someone@gmail.com');
login.getPasswordInput().sendKeys('password');
login.getLoginButton().click().then(()=>{
setTimeout(()=>{
expect(browser.getCurrentUrl()).toContain('organization').then(()=>{
resolve();
});
},40000);
});
});
}).then(()=>{
resolve();
});
}
});
},6000)
});
});
附上代码sn-p。
【问题讨论】:
-
我建议你用 VS 或 webstorm 设置一个调试器来处理这些事情,并逐行运行代码以了解哪个出错了
标签: authentication automation protractor access-token e2e-testing