Protractor e2e量角器测试应该有多深?

Protractor e2e量角器测试应该有多深?,protractor,angularjs-e2e,Protractor,Angularjs E2e,我正在为一个登录页面编写e2e测试,我意识到我不知道我的测试应该有多深。我澄清我自己:一个主要测试必须是真实登录,显然,另一个测试将是虚假登录。另一个测试是检查登录页面上的现有链接。但是,我应该测试所有页面的元素是否都显示出来吗?例如:编写测试以检查div,并显示其中的元素: it('It should be displayed a Elke Winter div', function(){ var elkeDiv = angularPage.elkeDiv; expect(e

我正在为一个登录页面编写e2e测试,我意识到我不知道我的测试应该有多深。我澄清我自己:一个主要测试必须是真实登录,显然,另一个测试将是虚假登录。另一个测试是检查登录页面上的现有链接。但是,我应该测试所有页面的元素是否都显示出来吗?例如:编写测试以检查div,并显示其中的元素:

it('It should be displayed a Elke Winter div', function(){

    var elkeDiv = angularPage.elkeDiv;
    expect(elkeDiv.isDisplayed()).toBe(true);

    var title = angularPage.titleElke;
    var img = angularPage.imgElke;
    var content = angularPage.contentElke;
    var telephoneDt = angularPage.telDt;
    var telephoneDd = angularPage.telDd;
    var faxDt = angularPage.faxDt;
    var faxDd = angularPage.faxDd;

    expect(title.isDisplayed()).toBe(true);
    expect(img.isDisplayed()).toBe(true);
    expect(content.isDisplayed()).toBe(true);
    expect(telephoneDt.isDisplayed()).toBe(true);
    expect(telephoneDd.isDisplayed()).toBe(true);
    expect(faxDt.isDisplayed()).toBe(true);
    expect(faxDd.isDisplayed()).toBe(true);
});
你觉得怎么样?
谢谢

我只测试对用户体验至关重要的页面内容,例如

  • 钮扣
  • 显示正在发生的事情的文本消息
  • 链接
  • 投入
  • 菜单
永远不要测试特定于html的东西,比如div,而是始终使用语义选择器,比如html ID或类,或者根据内容查找它们,例如

  • by.css包含文本(“#linkOne”,“单击此处”)
  • by.buttonText('Send Email')
如果您发现一个
div
元素是您想要定位的,但没有html id或html类,然后尽可能自己添加它,我会使用前缀
e2e-
e2e linkOne
,这样开发人员就知道选择器是为了测试而识别的。然后以元素
$('.e2e linkOne')
为目标,而不是按标记名和/或位置
$('div')。获取(2)