通常,Karma可以在多個瀏覽器上運行我的測試。是否有可能在Travis上運行相同的測試?在多個瀏覽器上運行travis - karma測試?
據我所知Chrome需要對travis配置文件進行一些修改。 https://stackoverflow.com/a/25661593/607033
這些修改是否會干擾其他瀏覽器(例如Firefox,Opera,Msie,PhantomJS等)我想在travis上運行?
通常,Karma可以在多個瀏覽器上運行我的測試。是否有可能在Travis上運行相同的測試?在多個瀏覽器上運行travis - karma測試?
據我所知Chrome需要對travis配置文件進行一些修改。 https://stackoverflow.com/a/25661593/607033
這些修改是否會干擾其他瀏覽器(例如Firefox,Opera,Msie,PhantomJS等)我想在travis上運行?
我想出了以下karma.conf.js文件:
module.exports = function (config) {
var options = {
plugins: [
"karma-browserify",
"karma-chrome-launcher",
"karma-firefox-launcher",
"karma-ie-launcher",
//"karma-opera-launcher",
"karma-phantomjs-launcher",
"karma-mocha"
],
...
browsers: [
"Chrome",
"Firefox",
"IE",
//"Opera",
"PhantomJS"
]
};
if (process.env.TRAVIS) {
options.customLaunchers = {
Chrome_travis_ci: {
base: 'Chrome',
flags: ['--no-sandbox']
}
};
options.browsers = [
"Chrome_travis_ci",
"Firefox",
//"IE",
//"Opera",
"PhantomJS"
];
}
config.set(options);
};
及以下.travis.yml:
language: node_js
node_js:
- "5"
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
中的Internet Explorer是Windows環境下唯一的工作,所以它不被Travis支持(因爲它使用Linux)。 karma-opera-launcher有嚴重的錯誤,所以我無法在Travis和Windows上使用它。根據插件的github頁面,它應該在Linux上工作,但我不想花費更多時間。
所以這些修改不會相互干擾,因爲只有Chrome需要修改,而且這些修改是由自定義啓動程序包含的。所有非PhantomJS瀏覽器都需要在.travis.yml中顯示和xvfb。
另一種可能的解決方案是使用SauceLabs,但這種測試對我來說並不重要,所以我不想爲此支付250美元/年。