Saya memiliki kotak tempat saya menjalankan tes. Sepertinya Jenkins akan ssh in dan menjalankan perintah yang dijelaskan dalam pekerjaan spesifik yang sedang berjalan.
Di sini saya mencoba menjalankan tes Selenium Webdriver saya, tetapi memberitahu saya bahwa saya memiliki kesalahan dalam meluncurkan firefox. Gagasan akhirnya adalah menjalankan sepenuhnya webtests pada kotak ini, dan juga mengambil beberapa tangkapan layar dari kesalahan.
Saya menggunakan selenium-java-2.25.jar, firefox 10, OS linux.
Yang lucu adalah saya bisa memasukkan secara manual ke dalam kotak, sementara menyalin cookie ajaib dari pengguna lain di kotak (untuk mendapatkan terowongan X), melakukan export DISPLAY=mydisplay:1.0
, lalu meluncurkan tes selenium saya menggunakan semut. Dan ini akan memunculkan firefox dan tes-tesnya baik-baik saja.
Ada berbagai utas di sini yang tampaknya memiliki masalah yang sama persis, dan saya pikir saya sudah mencoba sebagian besar dari mereka. Inilah yang telah saya lakukan:
Nyalakan ulang kotaknya, masuk kembali dengan VNC.
Menempatkan skrip bash di Jenkins untuk dijalankan sebelum menjalankan tes selenium. Script bash pada dasarnya hanya melakukan
export DISPLAY=mydisplay:1.0
. Itu juga mengeksekusixclock
. Ini berfungsi karena saya dapat melihat xclock ditampilkan di VNC.iptables telah dimatikan
firefox terletak dengan benar di / usr / bin / firefox
sshd_config menunjukkan memiliki X11Forwarding sebagai true.
Seharusnya menurunkan versi firefox membantu beberapa orang, tetapi saya tidak ingin melakukan ini. Webdriver seharusnya mendukung FF 10.
Namun, tidak satupun dari yang di atas menyelesaikan masalah.
Tampaknya tidak ada port 7055 di localhost:
netstat -an | grep 7055
- Tidak ada yang dicetak
Inilah yang dikatakan / etc / hosts saya:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
Mungkin ada hubungannya dengan localhost: 7055 tidak ada? Saya tidak yakin ke mana harus pergi dari sini. tetap saja, mengapa output kesalahan mengatakan sedang mencari display: :0.0
ketika saya telah menentukan mydisplay:1.0
?
Dan akhirnya output kesalahan yang saya terima:
[testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng]
[testng] at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:245)
[testng] at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:185)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:174)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
[testng] at com.test.webtest.browser.BrowserFactory.createBrowser(BrowserFactory.java:24)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[testng] at java.lang.reflect.Method.invoke(Method.java:601)
Jawaban:
Tidak tahu apakah Anda menyelesaikan masalah ini, tetapi saya baru saja menyelesaikan masalah yang sama dari sisi lain.
Tampaknya Selenium dan Firefox mengalami kesulitan untuk berbicara satu sama lain - Saya menduga perubahan Firefox 'berevolusi' pada sejumlah rilis, jadi kompatibilitas ke belakang dan ke depan tidak selalu dijamin, dan ketidakcocokan tampaknya selalu menghasilkan kesalahan yang sama.
Masalah saya mulai ketika saya pindah dari FF 15 ke FF 16. Berjalan di Ubuntu, ini terjadi secara otomatis bersama dengan peningkatan lainnya tapi saya percaya ini adalah perubahan kritis.
Masalahnya diselesaikan dengan berpindah dari Selenium 2.24.1 ke Selenium 2.25.0
Karena perubahan selenium hanya mengunduh file jar dan menjalankannya alih-alih yang lama, ada baiknya mencoba ini sebagai pemecah masalah yang cepat dan mudah - jika tidak membantu, cukup beralih kembali. Dalam kasus Anda, saya tidak yakin versi Selenium mana yang harus dicoba, tetapi saya pikir 2,24 harus bekerja dengan FF 10.
Masalah lain yang saya temukan di masa lalu adalah Firefox tidak akan berjalan sebagai root di Ubuntu. Ini terjadi jika Selenium dijalankan sebagai layanan, atau mungkin jika itu dinyalakan dari skrip bash atau pekerjaan cron. Ini mungkin menjelaskan mengapa ini berlaku untuk Anda tetapi tidak untuk Jenkins.
sumber
Saya punya masalah serupa. Mungkin jawaban ini akan membantu Anda juga.
Sepertinya Anda memiliki dua kesalahan berbeda yang terjadi:
Unable to connect to host 127.0.0.1 on port 7055
Error: no display specified
Alasan
Unable to connect
kesalahan adalah bahwa versi Selenium Server tidak tahu cara bekerja dengan versi Firefox yang lebih baru. Anda perlu mengunduh versi Selenium Server yang lebih baru yang mendukung versi Firefox yang lebih baru.Alasan
Error: no display specified
kesalahan adalah Firefox diluncurkan, tetapi tidak ada X server (GUI) yang berjalan di host jarak jauh. Anda dapat menggunakan penerusan X11 untuk menjalankan Firefox pada host jarak jauh, tetapi tampilkan di host lokal Anda. Pada Mac OS X, Anda harus mengunduh XQuartz untuk menggunakan penerusan X11.sumber
Anda perlu memeriksa kompatibilitas browser sebelum memilih untuk menguji dengan Selenium:
https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG
Ini mungkin membantu untuk menjawab pertanyaan di atas.
sumber
Dapatkan botol Selenium terbaru (2,30) untuk FireFox 19
Anda dapat mengunduh toples terbaru (2.31 saat penulisan) di sini: https://code.google.com/p/selenium/downloads/list
sumber
Saya mengatasi masalah ini dengan menurunkan versi Firefox saya ke versi yang lebih lama yang sebelumnya bekerja dengan baik dengan Selenium-WebDriver. Dalam kasus saya, saya harus menurunkan versi kembali ke Firefox 18 dan versi ini bekerja dengan Selenium 2.27
Berikut ini tautan untuk mendapatkan versi firefox yang lebih lama: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
sumber
Masalah ini telah menghantui saya untuk waktu yang lama dan saya telah melihat satu solusi yang dapat digunakan jika Firefox menggunakan driver firefox yang ditingkatkan .
Jika pemutakhiran firefox Anda terjadi secara otomatis, Anda mungkin akan menghadapi masalah ini sesekali. Sepertinya Firefox berkembang terlalu cepat, atau mereka tidak peduli dengan kompatibilitas ke belakang.
Setiap kali saya melihat masalah ini pada skrip lama saya, saya memeriksa apakah versi firefox telah berubah sejak - sebagian besar kali itu.
Lalu saya pergi ke maven repo untuk repo driver selenium firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver dan unduh versi terbaru.
atau perbarui pom.xml saya (jika maven digunakan) dengan versi baru dari driver firefox sekarang ini - 2.40.0
Tidak ada cara mudah untuk menghindari masalah ini kecuali Anda benar-benar secara eksplisit memblokir pembaruan terotomatisasi dari firefox (Anda dapat melakukan ini (Di Mac) dalam preferensi - Lanjutan - Pembaruan - Pilih "Periksa pembaruan, tetapi biarkan saya memilih apakah akan menginstalnya" )
Jika skrip Anda berjalan pada mode otomatis maka Anda mungkin ingin menonaktifkan pembaruan. Namun ini dapat membuat masalah lain. Karena kebanyakan orang / pengguna mungkin mengaktifkan pembaruan firefox secara default. Jadi aplikasi Anda tidak benar-benar diuji pada versi yang lebih baru.
sumber
Saya memiliki Firefox 47 dan Selenium 2.53 , dan saya mendapatkan kesalahan yang sama. Solusi saya adalah mengubah Firefox 47 ke Firefox 46 , masalahnya selesai.
sumber
Perbarui guci selenium, unduh selenium 2.31.0
Masalah ini telah diatasi oleh para selenium guys
Ini adalah masalah kompatibilitas.
Bersulang
sumber
Masalah dengan skrip adalah bahwa lingkungan yang digunakan untuk skrip tidak sama dengan yang digunakan untuk pengujian Anda, jadi mengatur variabel lingkungan di sana tidak melakukan apa pun untuk pengujian Anda.
Untuk mengatur variabel dengan benar, Anda perlu mengaturnya di Jenkins. Pergi ke Kelola Jenkins> Kelola Nodes> Master> Configure . Centang kotak Variabel lingkungan , lalu masukkan DISPLAY di kotak nama, dan tetapkan nilainya ke: 1.0.
Selain itu Anda perlu mengatur izin, coba nonaktifkan kontrol akses xhost Anda menggunakan
xhost +
di terminal.sumber
Saya juga menghadapi masalah yang sama. Setiap kali kita atau driver web membuka browser FF akan memeriksa pembaruan jika ada. Dalam hal ini, saya akan mencoba memperbarui selama waktu eksekusi dan kemudian Anda akan mendapatkan kesalahan bahkan jika itu diperbarui dengan benar hanya karena Anda belum memperbarui versi Selenium dengan tepat.
Arahkan ke " http://docs.seleniumhq.org/download/ " dan unduh versi terbaru. Sekarang, pergi dan periksa, memang masalahnya akan teratasi. :)
sumber
Saya mendapat kesalahan yang sama; Saya telah menggunakan selenium-java versi 2.25.0 dan Firefox vresion 18.0.2; Saya telah mengubah versi selenium-java menjadi 2.30.0 dan sekarang berfungsi.
sumber
Untuk mengatasi masalah ini, gunakan file jar baru yang tersedia di http://docs.seleniumhq.org/download/ . Seperti masing-masing untuk java, C #, php dll ... Firefox 27.0.1 memerlukan 2.39.0 versi driver.
sumber
Cukup instal Xvnc Plugin di Jenkins. Masalahnya harus dipecahkan.
sumber
Saya mendapat kesalahan yang sama "selenium_Unable untuk terhubung ke host 127.0.0.1 pada port 7055" Solusi: Saya telah menggunakan selenium-java-2.48.2 dengan Firefox versi 43.0.1 dan sekarang berfungsi dengan baik.
sumber
Saya juga memiliki masalah yang sama tetapi masalah teratasi setelah menurunkan versi firefox ke 35.0.1 dan versi selenium saya adalah 2.43
sumber
Saya memiliki masalah yang sama persis menjalankan buruh pelabuhan tetapi saya menemukan solusi di log sebelum kesalahan yang telah Anda sebutkan.
Saya sudah mengikuti saran dan masalah sudah beres.
sumber
Ini adalah bagaimana perilakunya ketika saya menggunakan properti statis IWebDriver dan menyebutnya dari beberapa metode pengujian.
Suka
Larutan
Untuk setiap metode pengujian panggilan buat instance baru Driver
sumber
Perbarui guci selenium jika skrip selenium kami tidak dieksekusi. Saat ini saya menggunakan selenium-java-2.43.0-srcs
Sekarang berfungsi dengan baik
sumber
Ini terjadi pada berbagai versi ff. Saya menggunakan ff versi 39 terbaru dengan menggunakan selenium-server-standalone-2.41.0.jar dan selenium-java-2.41.0.zip yang menunjukkan kesalahan yang sama.
Dapatkan file server dan jar klien terbaru di sini untuk kompatibilitas yang saya gunakan masing-masing versi server dan klien 2.47.0 dan 2.47.1. Dan Boom! Itu berhasil.
sumber
Ini terjadi karena versi lama. Cukup perbarui browser ke versi terbaru dan perbarui paket selenium webdriver ke versi terbaru.
sumber
Nyalakan kembali terminal. Terminal digantung tidak ada yang lain. Semuanya akan berfungsi dengan baik setelah itu
sumber
Menambah basis pengetahuan. Kami memiliki masalah yang sama pada Bamboo. Masalahnya diselesaikan dengan menggunakan Properti Lingkungan pada Bambu.
Menambahkan nilai sebagai properti sistem di pom.xml, atau baris perintah tidak berfungsi.
sumber
Di Windows: Periksa juga "bitness" dari Firefox Anda. Firefox 43.0.1 64bit tidak berfungsi dengan Selenium 2.50.0. Bekerja dengan baik dengan Firefox 43.0.1 32bit ...
sumber
Saya juga terjebak pada kesalahan ini selama tiga hari dan akhirnya menemukan jawabannya. Anda dapat melihat jawaban yang saya berikan di sini . Ini adalah masalah kompatibilitas browser dan server selenium. Saya harap ini membantu. Anda dapat memeriksa kompatibilitas peramban dari tautan ini
sumber
Saya memiliki masalah yang sama hari ini. Untuk memperbaikinya saya menurunkan versi firefox 51 ke 47 dan berfungsi.
Catatan: Saya menggunakan Linux Ubuntu Mate, di Virtual Box, dengan host yang lain Ubuntu Mate. Semua OS adalah 64 bit dan firefox juga.
sumber
Menginstal Firefox Setup 18.0.exe berfungsi untuk saya
sumber
Saya memiliki masalah yang sama dengan firefox 38.
Setelah menggunakan dependensi versi berikut, saya bisa menyelesaikan masalah.
sumber
Saya pikir ini bisa menjadi masalah tampilan. Jika Anda tidak memiliki GUI di dalam kotak, maka meluncurkan firefox dari selenium webdriver akan memberikan kesalahan ini.
Untuk mengatasi ini, instal Xvfb [
yum install Xvfb -y
] (driver tampilan virtual) terlebih dahulu di dalam kotak. Kemudian jalankan tes Anda dari jenkins denganxvfv-run -a -d <your test execution command>
. Ini akan meluncurkan browser dalam buffer tampilan virtual. Itu juga mampu mendapatkan tangkapan layar menggunakan selenium webdriver.sumber
Solusi -
1) Tingkatkan Server Selenium Anda yaitu tabung selenium "selenium-server-standalone-2.xx.x.JAR" TO "selenium-server-standalone-2.45.0.JAR"
2) Tingkatkan Driver Klien Selenium Anda yaitu folder selenium libs "selenium-java-2.xx.x" TO "selenium-java-2.45.0"
3) Periksa dan Instal versi Firefox yang kompatibel
Refer - Unduh selenium libs & jar yang diperbarui, yaitu Versi 2.45.0
Ini akan MENYELESAIKAN masalah Anda .. Ceria !!
sumber