Selenium Auth0无法连接到服务器

时间:2016-08-09 20:35:01

标签: google-chrome selenium angular protractor auth0

我使用protractor conf.js --params.login.username=John --params.login.password=Doe运行的角度2的量角器硒测试。测试应尝试登录到我的后端,并在访问被拒绝的情况下失败。

这是conf.js

exports.config = {
  framework: 'jasmine2',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  capabilities: {
    'browserName': 'chrome'
  },
  baseUrl:'http://127.0.0.1:4200',
  specs: ['mytest.spec.js'],
  useAllAngular2AppRoots: true,

  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000
  }
}

webdriver以webdriver-manager start启动。该应用程序加载正常,测试填写Auth0弹出窗口,如下所示。然后单击提交按钮。但是,这会导致显示以下错误消息而不是登录发生。如果我理解正确,Auth0无法访问auth服务器(手动登录时不是问题)。

auth0 lock的版本是10.0。

Auth0 can't reach its server

通过browser.pause()我可以验证是否可以访问其他非本地主机地址,例如stackoverflow.com。

知道这可能来自哪里以及如何解决它?

更新

在开发者控制台中,将显示以下消息。

XMLHttpRequest cannot load https://MYDOMAIN.eu.auth0.com/usernamepassword/login. 
Response to preflight request doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://127.0.0.1:4200' is therefore not allowed access.

1 个答案:

答案 0 :(得分:1)

问题是,本地网址http://127.0.0.1:4200未列在允许来源(CORS)下的 auth0信息中心中,而是仅用于我手动测试的http://localhost:4200

通过将http://127.0.0.1:4200添加到允许的来源(CORS)并将适当的回调网址添加到允许的回拨网址,解决了该问题。