アプリケーションがあり、これをローカルでテストすると、無効なSSL証明書の警告が表示されます。通常、私は例外を追加してそれを続行します。しかし、とにかく分度器がこれを無視することはありますか?
SeleniumでSSLを無視できる機能をいくつか見ましたが、分度器には何もありません。
これは私にとっては(confファイルで)機能します:
capabilities: {
browserName : 'firefox',
marionette : true,
acceptInsecureCerts : true
}
お役に立てば幸いです。
capabilities: {
browserName: 'chrome',
chromeOptions: {
// for ci test
args: ['--headless', 'no-sandbox', "--disable-browser-side-navigation",
"--allow-insecure-localhost"
/// for https sites: ignore ssl on https://localhost...
/// further args please see https://peter.sh/experiments/chromium-command-line-switches/
]
}
}
エラーが発生した場所をテストするためにスクリーンショットを撮りたいと思うかもしれません
import fs from 'fs';
function writeScreenShot(data, filename) {
const stream = fs.createWriteStream(filename);
stream.write(new Buffer(data, 'base64'));
stream.end();
}
export function takeScreenshot(browser, path){
browser.takeScreenshot().then((png) => {
writeScreenShot(png, path);
});
}
試す
webdriver-manager update --ignore_ssl
またはFirefox用にprotractor.conf.jsを設定します
var makeFirefoxProfile = function(preferenceMap) {
var profile = new FirefoxProfile();
for (var key in preferenceMap) {
profile.setPreference(key, preferenceMap[key]);
}
return q.resolve({
browserName: 'firefox',
marionette: true,
firefox_profile: profile
});
};
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
framework: 'jasmine2',
getMultiCapabilities: function() {
return q.all([
makeFirefoxProfile(
{
'browser.acceptSslCerts': true
}
)
]);
},
}