我是量角器的新手,想测试链接是否正常工作。 我理解尝试获取元素id,但我应该期望链接等于什么?
还有没有人有关于示例量角器测试的任何好文档?
我已经通过这个http://angular.github.io/protractor/#/tutorial
这很有帮助,但我需要更多可能的测试示例。
it('should redirect to the correct page', function(){
element(by.id('signmein').click();
expect(browser.driver.getCurrentUrl()).toEqual("http://localhost:8080/web/tfgm_customer/my-account");
});
答案 0 :(得分:14)
想测试链接是否正常工作
这有点宽泛 - 它可能意味着链接具有适当的href
属性,或者在点击链接后应该打开一个新页面。
要检查href
属性,请使用getAttribute()
:
expect(element(by.id('myLink')).getAttribute('href')).toEqual('http://myUrl.com');
要点击链接使用click()
,要查看当前网址,请使用getCurrentUrl()
:
element(by.id('myLink').click();
expect(browser.getCurrentUrl()).toEqual("http://myUrl.com");
请注意,如果点击后打开了非角度页面,则需要使用ignoreSynchronization
标记,请参阅:
如果在新标签页中打开链接,则需要切换到该窗口,检查URL,然后切换回主窗口:
element(by.id('myLink')).click().then(function () {
browser.getAllWindowHandles().then(function (handles) {
browser.switchTo().window(handles[handles.length - 1]).then(function () {
expect(browser.getCurrentUrl()).toEqual("http://myUrl.com");
});
// switch back to the main window
browser.switchTo().window(handles[0]);
});
});