为什么这个链接的测试不起作用?

时间:2014-08-22 15:16:49

标签: protractor angularjs-e2e

我为与Protractor的链接编写了一个测试(使用Pattern Page Object),但它总是出错。所以我决定看看发生了什么,然后我写下这个:

test.spec.js

it('It should redirect to Google.de', function(){
    var logo = angularPage.logo3;
    angularPage.clickLink(logo);           
    browser.getCurrentUrl().then(function (url) {
        console.log('---> url:'+url);
    });
});

login.page.js

this.navigate = function(ptor) {
    browser.get(browser.baseUrl);
    ptor = protractor.getInstance();
    ptor.waitForAngular();
}

this.clickLink = function(link){
    link.click();
    var ptor;
    this.navigate(ptor);
}

我得到的是链接没有将我重定向到另一个网页。我觉得很奇怪,因为当我点击链接时链接实际上有效。有谁知道会发生什么?

感谢。

1 个答案:

答案 0 :(得分:0)

我的问题是,当您尝试获取当前网址时,您可以通过两种方式获取它:

支持AngularJS

var logo = angularPage.logoH3;
angularPage.clickLink(logo);
browser.getCurrentUrl().then(function (url) {
    console.log('---> URL: '+url);
});

不支持AngularJS

var logo = angularPage.logoH3;
angularPage.clickLink(logo);
browser.driver.getCurrentUrl().then(function (url) {
    console.log('---> URL: '+url);
});

所以login.page.js最终会像这样

login.page.js

this.clickLink = function(link){
    link.click();
}

感谢您的帮助和时间;)