Pertanyaan Karma tidak dapat memulai Firefox dengan Jenkins dan Ubuntu 12.04


Saya telah menyiapkan pekerjaan Jenkins yang harus menjalankan Firefox. Masuk ke Ubuntu dengan pengguna Jenkins, saya dapat secara manual meluncurkan Firefox tanpa masalah. Namun, ketika saya menjalankan pekerjaan di Jenkins, saya mendapatkan:

[EnvInject] - Loading node environment variables.
Building in workspace /var/lib/jenkins/jobs/cbx4-ci/workspace
Fetching changes from the remote Git repository
Fetching upstream changes from git@bitbucket.org:cognibox/cbx4.git
Checking out Revision c90b791227b3788c2e023fd13db74ed1664428d1 (origin/master)
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content 
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
FIREFOX_BIN=/usr/bin/firefox

[EnvInject] - Variables injected successfully.
[workspace] $ /bin/sh -xe /tmp/hudson985724635788604565.sh
+ bash -ex runkarma.sh
+ node_modules/karma/bin/karma start config/karma.conf.js --reporters junit
[32mINFO [karma]: [39mKarma v0.10.9 server started at http://localhost:9876/
[32mINFO [launcher]: [39mStarting browser Firefox
[31mERROR [launcher]: [39mCannot start Firefox

[32mINFO [launcher]: [39mTrying to start Firefox again.
[31mERROR [launcher]: [39mCannot start Firefox

[32mINFO [launcher]: [39mTrying to start Firefox again.
[31mERROR [launcher]: [39mCannot start Firefox

Seperti yang Anda lihat, saya telah menyuntikkan variabel lingkungan untuk menunjuk ke Firefox.

Beberapa nomor versi yang berguna jika ini dapat membantu:

Jenkins 1.546 NodeJs 0.10.24 Karma 0,10,9

Edit:

Mungkin baik untuk mengetahui bahwa saya harus melakukan operasi untuk pengguna jenkins untuk dapat menjalankan firefox di tempat pertama. Sebagai pengguna utama saya, saya harus mengaktifkan pengguna lain untuk meluncurkan firefox dengan melakukan xhost +local:. Tanpa itu, pengguna jenkins terus mendapatkan kesalahan berikut.

No protocol specified
No protocol specified
No protocol specified
No protocol specified
Error: cannot open display: :0

Meskipun ini mungkin masalah terpisah yang saya selesaikan, mungkin ada insiden pada pertanyaan yang saya tanyakan, jadi saya merasa penting untuk menambahkan detail ini.


5
2018-01-14 21:59


asal


Jawaban:


Mengerti. Ternyata masalahnya berasal dari kesalahpahaman tentang cara menjalankan karma di tempat pertama.

Tugas Jenkins sedang dilakukan karma start, dengan set otomatis ke true. Sebaliknya, saya menyalakan karma dengan autowatch false di rc.local (skrip yang dijalankan saat boot) dan tugas Jenkins mengeksekusi karma run sebagai gantinya. Ini memecahkan masalah sepenuhnya.

Edit: Memasang file plugin xvnc, dan mengaktifkannya untuk membangun bekerja untuk memulai karma dan menjalankan karma.

Edit: Masalahnya kembali ketika saya meningkatkan ke 14.04. Perbaikannya adalah untuk memastikan bahwa variabel lingkungan yang disuntikkan dalam build mengarah ke versi X11.

FIREFOX_BIN=/usr/bin/X11/firefox
CHROME_BIN=/usr/bin/X11/google-chrome

5
2018-01-20 21:20



Maukah Anda menjalankan karma dengan --log-level debug dan juga --no-colors sehingga kita dapat memiliki gagasan yang lebih baik tentang alasan mengapa gagal?

Saya Anda juga mencoba dengan browser lain? Saya sering mengalami masalah saat menjalankan alat GUI dalam Jenkins.

Anda mungkin ingin mencoba menjalankan rangkaian uji dengan PhantomJS (http://phantomjs.org/) hanya untuk melihat apakah browser tanpa kepala akan menyelesaikan masalah


1
2018-01-20 14:15