Nightwatch:基本身份验证,access_key无法正常工作

时间:2016-08-23 08:33:44

标签: selenium testing nightwatch.js end-to-end

我创建了如下所示的nightwatch.json文件(使用username和access_key属性):

"test_settings": {
        "default": {
            "launch_url": "http://localhost",
            "selenium_port": 4444,
            "selenium_host": "localhost",
            "silent": true,
            "cli_args": {
                "webdriver.firefox.profile": "testprofile"
            },
            "screenshots": {
                "enabled": false,
                "path": "screenshots/"
            },
            "desiredCapabilities": {
                "browserName": "firefox",
                "javascriptEnabled": true,
                "acceptSslCerts": true
            },
            "username": "examplelogin",
            "access_key": "password"
        }

但基本身份验证不起作用,我在登录窗口填写密码并在运行测试后登录。我查看了fiddler中的数据包,并且没有授权头。我有什么想法我做错了吗?

守夜人v0.9.6

2 个答案:

答案 0 :(得分:2)

来自:https://groups.google.com/d/msg/nightwatchjs/n-B4HnnzYg8/rmaipXiTsuwJ

  

之前回复我自己的帖子 - 请不要混淆用户名和   access_key变量为'基本身份验证'变量。它们是基于硒的   验证器,可以选择用于验证   云解决方案。基本身份验证的最佳解决方案是良好的旧URL方式。   试试:```browser.url('https://'+ userName +':'+ password +'@'+   yourUrl)

答案 1 :(得分:1)

您可以在globals.js中进行此操作。它将保留凭据,并跳过基本身份验证提示。

beforeEach: function (browser, cb) {
  if (browser.globals.basic_auth_url) {
    browser.url(browser.globals.basic_auth_url, cb);
  } else {
    cb();
  }
},

basic_auth_url-添加带有凭据的完整URL。

请勿将凭据添加到launch_url