量角器在尝试失败后失败了吗?

时间:2016-07-16 09:32:57

标签: testing login protractor sendkeys

我有两个测试(没有角度)。首先,测试应该因为错误的凭据而失败。第二次测试应该通过正确的凭证,但量角器甚至不能完成电子邮件表单,他只是跳过它。任何想法为什么会发生这种情况?

另外,如果我单独运行测试,它可以正常工作。



   
    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);
      });
    });
  });




3 个答案:

答案 0 :(得分:0)

我首先要确保该元素是可见的,因为在发送输入数据之前首先执行该操作是有意义的。您还可以使用elementor npm库来尝试捕获测试用例出错的地方。

答案 1 :(得分:0)

您是否提及浏览器重启选项" restartBrowserBetweenTests:true "在你的conf.js文件?如果没有,请尝试一次。

希望它能解决您的问题

答案 2 :(得分:0)

如果您使用的是非anguar页面并且使用browser.ignoreSynchronization=false,则在单击此测试的登录按钮后,您必须执行某种等待或预期条件,以获得一致的结果。点击后可能会立即检查徽标,而无需等待下一页加载。

您可能会尝试在.clear()之前向输入元素发送.sendKeys(),并确保您的测试正确(在right@example.com中输错)