Sử dụng PhantomJS thay vì Chrome. Karma có PhantomJS launcher.
PhantomJS dựa trên Blink.
Install PhantomJS:
npm karma-phantomjs-launcher --save-dev
Thêm vào Karma config:
module.exports = function(config) {
config.set({
browsers : ['PhantomJS']
});
};
EDIT
Đây là phần od Dockerfile
ENV NODE_VERSION 0.12.7
ENV NPM_VERSION 3.5.1
ENV PHANTOM_JS phantomjs-1.9.8-linux-x86_64
# App and test
RUN set -x \
&& buildDeps='curl git bzip2 file libfreetype6 libfontconfig1 python-pip python-dev libpq-dev libmemcached-dev libzmq-dev libjpeg62-turbo-dev zlib1g-dev libtiff5-dev make g++ psmisc' \
&& apt-get update \
&& apt-get install -y $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& curl -SLO "https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2" \
&& tar xvjf $PHANTOM_JS.tar.bz2 \
&& mv $PHANTOM_JS /usr/local/share \
&& ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --verify SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION-linux-x64.tar.gz\$" SHASUMS256.txt.asc | sha256sum -c - \
&& tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \
&& rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc \
&& npm install -g [email protected]"$NPM_VERSION" grunt-cli \
&& npm install \
&& npm cache clear \
&& ./node_modules/.bin/bower install --allow-root \
&& npm test \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -rf /usr/local/bin/node /usr/local/bin/npm /usr/local/include/node /usr/local/lib/node_modules \
&& rm -rf /usr/local/share/$PHANTOM_JS /usr/local/bin/phantomjs
Trong trường hợp này Docker tạo một lớp. Trong lớp này
- cài đặt libs và các công cụ (debian jessie)
- cài đặt PhantomJS
- cài đặt NodeJS
- chạy thử nghiệm
- loại bỏ libs và các công cụ
- loại bỏ NodeJS
- loại bỏ PhantomJS
Thử nghiệm đang chạy và Bạn không có PhantomJS trong vùng chứa sản xuất.
Nguồn
2015-12-15 10:56:50
có giao diện https: // github.com/jfrazelle/dockerfiles/blob/master/chrome/stable/Dockerfile về Chrome – user2915097
Cảm ơn tôi đã đọc bài đăng trên blog phía sau đó trước đây nhưng nó không làm rõ cho tôi cách tiến hành trong trường hợp này. – MichaelJones
nếu bạn đi với "Tạo một hình ảnh mới kế thừa từ hình ảnh ứng dụng của tôi và thêm Chrome và những thứ khác?", Bạn sẽ cần người giám sát https://docs.docker.com/engine/articles/using_supervisord/ hoặc như vậy (s6, runit, các công cụ daemon ...) để quản lý các quy trình của bạn – user2915097