如何使用量角器测试html链接?

如何使用量角器测试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();

我是新的量角器,并想测试,如果一个链接是工作。 我理解尝试获取元素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");
    });
是否要测试链接是否正常工作

这有点宽泛-这可能意味着该链接具有适当的
href
属性,或者在单击链接后应该会打开一个新页面

要检查
href
属性,请使用:


要单击“使用”链接,要检查当前URL,请使用:

请注意,如果在单击后打开了非角度页面,则需要使用
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]);
    });
});

问题的第二部分不太适合,因此可能会导致问题以非主题的形式结束。伙计,我觉得它太接近了,但我不太清楚!我已将该语句粘贴到代码问题中。任何不喜欢第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]);
        });
    });