我目前正在使用一些身份验证来管理暂存环境。
我能够通过将凭据嵌入URL来运行我的测试,如下所示:
https://johndoe:foobar@app.s.product.com/#login
但是,我的测试由于chrome而失败,因此删除了此功能(https://www.chromestatus.com/feature/5669008342777856)。有没有其他方法可以访问我们的临时站点?我尝试检查弹出窗口的凭据,也许我可以发送凯斯(),但无济于事。
提前致谢!
答案 0 :(得分:2)
也有这个问题。我的解决方案是创建chrome扩展,并在启动时将其添加到chrome。
background.js (用yourth更改用户和路径)
chrome.webRequest.onAuthRequired.addListener(
function(details, callbackFn) {
console.log("onAuthRequired!", details, callbackFn);
callbackFn({
authCredentials: {username: "user", password: "pass"}
});
},
{urls: ["<all_urls>"]},
['asyncBlocking']
);
的manifest.json
{
"manifest_version": 2,
"name": "Authentication for tests",
"version": "1.0.0",
"permissions": ["<all_urls>", "webRequest", "webRequestBlocking"],
"background": {
"scripts": ["background.js"]
}
}
将它们打包成crx(chrome:// extensions / - &gt; Pack extension)
将此文件添加到项目
添加到conf.js:
作为第一行
var fs = require('fs');
const ext64 = fs.readFileSync('./ext.crx', 'base64');
exports.config = {
...
和chrome选项
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--no-sandbox'],
extensions: [ext64]
}
},