在我的网站上测试与量角器的链接

时间:2015-08-09 08:32:54

标签: testing protractor angularjs-e2e

我正在使用Angular测试网站 - 单页应用程序。 我正在寻找测试网站中所有链接的正确方法,以确保:

  1. 我没有到达404
  2. 我到了我应该去的地方
  3. 我可以创建一个测试并将所有链接放在其中以及我希望得到的网址。 但这听起来像很多工作和维护。你能想到一个更好的方法吗? 谢谢。

    编辑: 在其他测试中,当我想确保链接实际上通向正确的位置时,我使用类似的东西:

     browser.driver.findElement(by.xpath('//* [@id="navbar"]/ul/li[4]/a')).click();
     browser.getTitle().then(function (titleText) {
      console.log(titleText)  
      expect(titleText).toBe(" My Portal | Inbox page");
      });
    

1 个答案:

答案 0 :(得分:0)

我假设您只需要检查a个元素。您可以获取所有链接元素,遍历它们以获取它们的href,然后单击每个元素。假设您对元素没有任何特殊之处,直接导航到URL应该与单击链接相同。

这里有一些代码,我还没有尝试过:

var urls = [];
var links = element.all(by.css('a')).then(function(links) {
  links.forEach(function(link) {
    link.getAttribute('href').then(function(href) {
      urls.push(href);
    });
});

// wait for all the links to be grabbed
browser.waitForAngular().then(function() {
  urls.forEach(function(url) {
      browser.get(url);
      checkBrowserState();
  });
});