我创建了如下所示的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
答案 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