javascript - 如何启用 JavaScript Protractor Firefox 无头
问题描述
我们在无头模式下使用 Protractor 进行 e2e 测试。
我们要先测试身份验证。行为类似于上面:
1/ 用户在浏览器上点击一个链接 2/ 服务器会检查这个用户是否被认证 2.1 如果用户被认证,主页会出现 2.2 如果没有,用户将被重定向到sso登录页面一个
这里的问题是,javascript 不会被执行。我尝试添加一些标志,但没有任何区别。
exports.config = {
allScriptsTimeout: 20000,
specs: [
'./e2e/account/**/account.spec.ts',
],
capabilities: {
'browserName': 'firefox',
'marionette': true,
'moz:firefoxOptions': {
args: [ "--headless"],
firefox_binary: '/opt/firefox/firefox',
binary_: '/opt/firefox/firefox',
},
acceptInsecureCerts: true,
javascriptEnabled: true,
},
directConnect: true,
baseUrl: 'http://demop-staging-ppd.com/',
framework: 'mocha',
// SELENIUM_PROMISE_MANAGER: false,
mochaOpts: {
reporter: 'spec',
slow: 3000,
ui: 'bdd',
timeout: 720000
},
beforeLaunch: function() {
require('ts-node').register({
project: 'tsconfig.e2e.json'
});
},
onPrepare: function() {
browser.driver.manage().window().setSize(1280, 1024);
// Disable animations
// @ts-ignore
browser.executeScript('document.body.className += " notransition";');
const chai = require('chai');
const chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
const chaiString = require('chai-string');
chai.use(chaiString);
// @ts-ignore
global.chai = chai;
},
useAllAngular2AppRoots: true
};
规格文件:
before(async () => {
await browser.waitForAngularEnabled(false);
});
it('should content display content ', async () => {
await browser.get('/');
browser.sleep(5000);
const content= await browser.getPageSource();
console.log(content)
});
我愿意接受任何建议,并可以为您提供任何其他信息。
[更新]
我如上所述更改我的配置文件以尝试在我的浏览器上启用 javascript。它适用于本地,但是当我在 docker image 上尝试这个时却没有
capabilities: {
'browserName': 'firefox',
'marionette': true,
'moz:firefoxOptions': {
args: ["--headless"],
firefox_binary: '/opt/firefox/firefox',
binary_: '/opt/firefox/firefox',
"prefs": {
"javascript.options.showInConsole": true,
"javascript.enabled": true
},
"log": { "level": "trace" }
},
acceptInsecureCerts: true,
acceptSslCerts: true,
},
解决方案
推荐阅读
- c - 使用“%c%c...”格式说明符打印字符串会产生不稳定的结果。为什么会这样?
- vue.js - 在 nuxt 插件中使用 i18n
- xcode - SwiftUI Xcode 11 beta 5 / 6:表达式类型不明确,没有更多上下文
- javascript - 在 HTML 画布上加载图像时处理 Image.onerror 中的 404
- regex - sed:打印匹配
- angular - @Input 数组未定义
- angular - 动态排序但变量名未定义
- c++ - TOCTTOU - 在处理文件之前使用访问权限
- python - python 3的rsplit中的错误是什么?
- ms-wopi - 证明密钥验证总是失败