Testing 在我的网站中使用量角器测试链接
我正在使用Angular测试一个网站-单页应用程序。 我正在寻找正确的方法来测试我网站中的所有链接,以确保:Testing 在我的网站中使用量角器测试链接,testing,protractor,angularjs-e2e,Testing,Protractor,Angularjs E2e,我正在使用Angular测试一个网站-单页应用程序。 我正在寻找正确的方法来测试我网站中的所有链接,以确保: 我不会去404的 我要去我应该去的地方 我可以创建一个测试,将所有链接和我希望得到的URL放在其中。 但这听起来像是一个很大的工作和维护。你能想出更好的办法吗? 谢谢 编辑: 在其他测试中,当我想确保链接实际指向正确的位置时,我会使用以下方法: browser.driver.findElement(by.xpath('//* [@id="navbar"]/ul/li[4]/a')).c
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");
});
我假设您只需要检查
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();
});
});
你能把你试过的和代码贴出来吗?看起来不错。我试试看,它不太管用。我得到'TypeError:参数'url'必须是字符串,而不是对象'