如何在量角器中调试失败的测试步骤

时间:2015-08-09 16:23:07

标签: javascript angularjs node.js automation protractor

如何在量角器中调试失败的测试步骤?

以下是我的测试用例。

it('Testcase-TC_BY_09 , Case 2: User Selects NO option', function() {
   //Execution Steps 
  Login();//Calling Login Function
//options Click 
    //book_typeValidation();
    book_type.click();
    expect(Nextbtn.isEnabled()).toBe(true);
    Nextbtn.click();`enter code here`

    //True_pages _Validation();
    True_pagesoption.click();
    expect(Nextbtn.isEnabled()).toBe(true);
    Nextbtn.click();

    expect(Nextbtn.isEnabled()).toBe(true);
    Nextbtn.click();

    expect(Nextbtn.isEnabled()).toBe(true);
    Nextbtn.click();
    Poles_Nooption.click();    
    expect(Nextbtn.isEnabled()).toBe(true);     
    Nextbtn.click();
      });

让我们说这个测试用例有10个测试步骤。当我们执行这个测试用例时,如果第5步失败了怎么在量角器中找到失败的步骤?

现在它是如何工作的,它会在控制台中显示测试用例失败。但是它没有显示它失败了哪些步骤?

请提出建议,找出量角器失败的步骤。

提前致谢。

2 个答案:

答案 0 :(得分:0)

首先,您希望您的e2e测试为您提供有关失败的有意义的明确信息,失败的哪一行,哪一步,可能导致它的原因等等 - 最大限度地缩短理解和研究原因的时间失败。并且,查看您编写的每个测试失败也很重要,这样您就可以以合理“清晰”的方式观察它是否失败。

将测试用例组织成多个步骤,每个步骤在单独的函数中定义:

it('Testcase-TC_BY_09 , Case 2: User Selects NO option', function() {
    Login();

    selectBookType();
    next();

    selectPagesOption();
    next();

    next();
    next();

    selectPolesNoOption();
    next();
});

并且,您可以使用jasmine内置机制提供有意义的错误消息:

expect(Nextbtn.isEnabled()).toBe(true, "Next is disabled after clicking option");  

我还建议使用protractor-jasmine2-screenshot-reporter jasmine记者,它会在测试运行期间或测试失败时为您提供浏览器窗口的屏幕截图。

此外,BrowserStackSauce Labs等服务为您提供了测试运行的可视化日志和视频会话,我个人认为这在测试中非常有用。

至于调试,有一个描述您的选项的相关文档页面:

答案 1 :(得分:0)

您可以安装茉莉花记者

npm install -g jasmine-reporters

在conf文件中添加:

    exports.config = {



    onPrepare: function(){ //configure junit xml report

          var jasmineReporters = require('jasmine-reporters');
          jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
             consolidateAll: true,
             filePrefix: 'guitest-xmloutput',
             savePath: '.'
          }));
       },  
};

这将在命令行上打印原因