How can I fix "HTTP method not allowed"? I'm using Angular 8, Firefox is v69.0 on Ubuntu 19.04. Protractor is 5.4.0. Jasmine-core is 3.4.0
The same e2e test works in Chrome. My unit tests using Karma launch and work with no problem in Firefox.
The repository is located at https://github.com/admiralfeb/ggtavern.pub
protractor-firefox-ci.conf.js
const { JUnitXmlReporter } = require('jasmine-reporters');
const { SpecReporter } = require('jasmine-spec-reporter');
/**
* @type { import("protractor").Config }
*/
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
browserName: 'firefox',
marionette: true,
firefoxOptions: {
args: ['--headless']
},
'moz:firefoxOptions': {
args: ['--headless']
}
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function () { }
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
var junitreporter = new JUnitXmlReporter({
savePath: require('path').join(__dirname, '../tests/e2e'),
consolidateAll: true
});
jasmine.getEnv().addReporter(junitreporter);
}
};
I do have the same problem and for me it results from the afterEach function generated by ng cli:
afterEach(async () => {
// Assert that there are no errors emitted from the browser
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
expect(logs).not.toContain(jasmine.objectContaining({
level: logging.Level.SEVERE,
} as logging.Entry));
});
When you delete this, everythings is fine. Seems that the selenium driver for firefox is not able to ask the browser for the console logs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With