我有两个测试(没有角度)。首先,测试应该因为错误的凭据而失败。第二次测试应该通过正确的凭证,但量角器甚至不能完成电子邮件表单,他只是跳过它。任何想法为什么会发生这种情况?
另外,如果我单独运行测试,它可以正常工作。
describe('When clicking on login with bad credentials', function() {
it('Should login to dashboard', function() {
browser.driver.findElement(by.id('email')).sendKeys('wrong@example.com');
browser.driver.findElement(by.id('password')).sendKeys('pass');
element(by.id('login')).click().then(function() {
expect(element(by.id('main-logo')).isPresent()).toBe(false);
});
});
});
describe('When clicking on login with good credentials', function() {
it('Should login to dashboard', function() {
browser.driver.findElement(by.id('email')).sendKeys('right@exmaple.com');
browser.driver.findElement(by.id('password')).sendKeys('pass@@@');
element(by.id('login')).click().then(function() {
expect(element(by.id('main-logo')).isPresent()).toBe(true);
});
});
});

答案 0 :(得分:0)
我首先要确保该元素是可见的,因为在发送输入数据之前首先执行该操作是有意义的。您还可以使用elementor npm库来尝试捕获测试用例出错的地方。
答案 1 :(得分:0)
您是否提及浏览器重启选项" restartBrowserBetweenTests:true "在你的conf.js文件?如果没有,请尝试一次。
希望它能解决您的问题
答案 2 :(得分:0)
如果您使用的是非anguar页面并且使用browser.ignoreSynchronization=false
,则在单击此测试的登录按钮后,您必须执行某种等待或预期条件,以获得一致的结果。点击后可能会立即检查徽标,而无需等待下一页加载。
您可能会尝试在.clear()
之前向输入元素发送.sendKeys()
,并确保您的测试正确(在right@example.com中输错)