【问题标题】:How to show the current URL in protractor debug如何在量角器调试中显示当前 URL
【发布时间】:2015-10-23 17:42:52
【问题描述】:

我正在使用量角器来测试我的 Angular 应用程序。

我想在浏览器中显示 console.log 时显示当前 URL。 我现在使用它,但我找不到显示当前 URL 的解决方案。

afterEach(function() {
  browser.manage().logs().get('browser').then(function(browserLog){
    var message = JSON.parse(browserLog[i].message).message.parameters[0].value;
    expect(message.indexOf("localizationService") > -1).toBe(false, 'because\n There is a I18N error somewhere.\n Please see the error above in\n >>ERROR I18Ns : \n' + message + '\n' + browser.getCurrentUrl());
  }
}

我只需要知道我必须使用什么,而不是 browser.getCurrentUrl(),它返回一个 Promise

【问题讨论】:

  • 我只需要知道我必须使用什么而不是 browser.getCurrentUrl() 返回一个承诺
  • 量角器在这里相关吗? window.location.href 不会吗?
  • 未定义窗口
  • 你是在浏览器中运行你的脚本吗?你可以试试document.location.href。检查this SO answer 以供参考。
  • 代码其实在protractor.conf.js中。文档也没有定义。

标签: javascript angularjs selenium jasmine protractor


【解决方案1】:

您可以通过解决 getCurrentUrl() 函数返回的承诺来获取 url,然后期待您的要求。这是你可以做到的 -

afterEach(function() {
  browser.manage().logs().get('browser').then(function(browserLog){
    var message = JSON.parse(browserLog[i].message).message.parameters[0].value;
    browser.getCurrentUrl().then(function(url){
        expect(message.indexOf("localizationService") > -1).toBe(false, 'because\n There is a I18N error somewhere.\n Please see the error above in\n >>ERROR I18Ns : \n' + message + '\n' + url);
    });
  }
}

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多