如何使用量角器测试html链接?
我是新的量角器,并想测试,如果一个链接是工作。 我理解尝试获取元素id,但是我应该期望链接等于什么 还有人有关于量角器测试示例的好文档吗? 我已经通过了这个如何使用量角器测试html链接?,html,angularjs,testing,protractor,end-to-end,Html,Angularjs,Testing,Protractor,End To End,我是新的量角器,并想测试,如果一个链接是工作。 我理解尝试获取元素id,但是我应该期望链接等于什么 还有人有关于量角器测试示例的好文档吗? 我已经通过了这个http://angular.github.io/protractor/#/tutorial这很有帮助,但我需要更多可能的测试示例 到目前为止,我有: it('should redirect to the correct page', function(){ element(by.id('signmein').click();
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");
});
是否要测试链接是否正常工作
这有点宽泛-这可能意味着该链接具有适当的href
属性,或者在单击链接后应该会打开一个新页面
要检查href
属性,请使用:
要单击“使用”链接,要检查当前URL,请使用: 请注意,如果在单击后打开了非角度页面,则需要使用
ignoreSynchronization
标志,请参阅:
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]);
});
});
问题的第二部分不太适合,因此可能会导致问题以非主题的形式结束。伙计,我觉得它太接近了,但我不太清楚!我已将该语句粘贴到代码问题中。任何不喜欢第2行的原因?@BlackMagma缺少括号,请将
元素(by.id('signmein')。单击();
替换为元素(by.id('signmein'))。单击();
啊,是的,这很有意义。只需再查询一次,通过html代码(我没有编写它)看起来是这样的:也就是说,没有身份证……到时候你能拿到什么?谢谢,很快就会投票!@BlackMagma至少有两个选项:by.css('a.signmein')
,或者,by.linkText('Sign me in')
。非常感谢,我的仍在播放中,但我肯定能找到答案。
element(by.id('myLink').click();
expect(browser.getCurrentUrl()).toEqual("http://myUrl.com");
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]);
});
});