Webdriver Tidak dapat terhubung ke host 127.0.0.1 pada port 7055 setelah 45000 ms

138

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 mengeksekusi xclock. 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.0ketika 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)
pengguna1636922
sumber
Saya mereproduksi masalah ini di bawah selenium 2.31.0
Dima Star
Saya mengalami masalah dengan Selenium 2.47.1 dan saya tidak melihat pesan bahwa server driver firefox dimulai pada port XXXX. Sebagai gantinya saya mendapatkan jendela kosong yang terbuka dan tidak ada kontrol atas browser, dengan asumsi karena port tidak terbuka untuk mendengarkan perintah protokol kawat dari tes.
djangofan
Tampaknya kombinasi server Selenium 2.47.1 dan Firefox 40 OK, tidak bekerja dengan Firefox 41 untuk saya.
Rostislav Matl
Jika Anda tidak memiliki GUI di dalam kotak Anda dan Anda menjalankan tes Anda di dalam kotak menggunakan firefox, Anda mendapatkan kesalahan ini. Saya sarankan Anda mencoba dengan Xvfb di driver tampilan memori. Atau ini juga bisa menjadi masalah versi firefox dan kompatibilitas versi selenium.
Prasanta Biswas

Jawaban:

91

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.

pengguna1771179
sumber
2
Saya menggunakan FF 19.0 dan selenium-server-standalone-2.29.0.jar di Ubuntu. Ketika saya menjalankan tes selenium di Jenkins, saya mendapatkan kesalahan yang sama: org.openqa.selenium.firefox.NotConnectedException: Tidak dapat terhubung ke host 127.0.0.1 di port 7055 setelah 45000 ms. Output konsol Firefox: [testng] Kesalahan: tidak ada tampilan yang ditentukan [testng] Kesalahan: tidak ada tampilan yang ditentukan
Ripon Al Wasim
@RiponAlWasim Keberuntungan menyelesaikan masalah ini? Saya menjalankan 2.31.0 dan memiliki masalah yang sama.
Petr Peller
@Petr Peller: apa versi FF Anda?
Ripon Al Wasim
1
Ini tampaknya menjadi masalah yang berkelanjutan. Saya mendapatkan kesalahan ini dengan Selenium Webdriver 2.47 dan Firefox 44. Memperbarui Selenium Webdriver ke 2.53 memperbaikinya.
B Seven
1
tl; dr - Tingkatkan Selenium (file .jar di sini - selenium-release.storage.googleapis.com/index.html )
rinogo
14

Saya punya masalah serupa. Mungkin jawaban ini akan membantu Anda juga.

Sepertinya Anda memiliki dua kesalahan berbeda yang terjadi:

  1. Unable to connect to host 127.0.0.1 on port 7055
  2. Error: no display specified

Alasan Unable to connectkesalahan 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 specifiedkesalahan 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.

Andrew
sumber
13

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.

Viraj Pai
sumber
Ini adalah masalah yang saya temui. Dan itu bukan browser dalam kasus saya. Itu adalah OS yang mendasarinya. Saya menggunakan Mac OS X - Yosemite. Dan hanya selenium terbaru yang tampaknya bekerja dengannya.
Ajit S
2
tautan rusak pak
mido
6

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/

gps
sumber
5

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.

software.wikipedia
sumber
5

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.

BrennQuin
sumber
4

Perbarui guci selenium, unduh selenium 2.31.0

Masalah ini telah diatasi oleh para selenium guys

Ini adalah masalah kompatibilitas.

Bersulang

Prabhat
sumber
3

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.

aajenkins
sumber
1
"Xhost +" itu memperbaiki masalah saya, yaitu menjalankan webdriver dengan sudo tidak membuka browser - sekarang ia berfungsi.
Nick Perkins
2

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. :)

Mani P
sumber
1

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.

Radu L.
sumber
1

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.

Ankit K Gupta
sumber
Bagi saya ini bekerja dengan Firefox 29.0 dan driver selenium 2.39.0 juga (Sebelum saya punya masalah yang sama di lubuntu 14.0.4)
Huluvu424242
1

Cukup instal Xvnc Plugin di Jenkins. Masalahnya harus dipecahkan.

Tarique
sumber
1

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.

Samir 007
sumber
1

Saya juga memiliki masalah yang sama tetapi masalah teratasi setelah menurunkan versi firefox ke 35.0.1 dan versi selenium saya adalah 2.43

SHAIK NAWAZ SHAREEF
sumber
1

Saya memiliki masalah yang sama persis menjalankan buruh pelabuhan tetapi saya menemukan solusi di log sebelum kesalahan yang telah Anda sebutkan.

selenium_1  | 2016-11-11 11:19:34,498 DEBG 'xvfb' stderr output:
selenium_1  | (EE)
selenium_1  | Fatal server error:
selenium_1  | (EE) Server is already active for display 99
selenium_1  |   If this server is no longer running, remove /tmp/.X99-lock
selenium_1  |   and start again.
selenium_1  | (EE)

Saya sudah mengikuti saran dan masalah sudah beres.

Krzysztof Dabrowski
sumber
0

Ini adalah bagaimana perilakunya ketika saya menggunakan properti statis IWebDriver dan menyebutnya dari beberapa metode pengujian.

public class LanguageMenu
{
    private static IWebDriver drv;

    static LanguageMenu()
    {
       drv = Driver.Instance;
    }
    ...

    public static void English()
    {
        drv.FindElement(By.Id("mvc_lang_en"));
        el.Click();
    }

    public static void Rusian()
    {
        ...
    }

    ...
}

Suka

 [TestMethod]
 public void Language_SwitchTo_English()
 {
     LanguageMenu.English();
     Assert.IsTrue(ContactPage.IsAt("Contact"));
 }

 [TestMethod]
 public void Language_SwitchTo_Rusian()
 {
     LanguageMenu.English();
     Assert.IsTrue(ContactPage.IsAt("Контакт"));
 }

Larutan

Untuk setiap metode pengujian panggilan buat instance baru Driver

 private static void English()
 {
            var drv = Driver.Instance;
            var el = drv.FindElement(By.Id("mvc_lang_en"));
            el.Click();
 }
ZbynekSulc
sumber
0

Perbarui guci selenium jika skrip selenium kami tidak dieksekusi. Saat ini saya menggunakan selenium-java-2.43.0-srcs

Sekarang berfungsi dengan baik

swathi
sumber
0

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.

AHashmi
sumber
0

Ini terjadi karena versi lama. Cukup perbarui browser ke versi terbaru dan perbarui paket selenium webdriver ke versi terbaru.

Prabu Ananthakrishnan
sumber
0

Nyalakan kembali terminal. Terminal digantung tidak ada yang lain. Semuanya akan berfungsi dengan baik setelah itu

Sachin Mour
sumber
0

Menambah basis pengetahuan. Kami memiliki masalah yang sama pada Bamboo. Masalahnya diselesaikan dengan menggunakan Properti Lingkungan pada Bambu.

DISPLAY=":1"

Menambahkan nilai sebagai properti sistem di pom.xml, atau baris perintah tidak berfungsi.

Kolam
sumber
0

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 ...

Ivan
sumber
0

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

sagar chapagain
sumber
0

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.

Topera
sumber
0

Menginstal Firefox Setup 18.0.exe berfungsi untuk saya

Enayath Ali
sumber
0

Saya memiliki masalah yang sama dengan firefox 38.

Setelah menggunakan dependensi versi berikut, saya bisa menyelesaikan masalah.

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.53.0</version>
    </dependency> 
Udara Seneviratne
sumber
0

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 dengan xvfv-run -a -d <your test execution command>. Ini akan meluncurkan browser dalam buffer tampilan virtual. Itu juga mampu mendapatkan tangkapan layar menggunakan selenium webdriver.

Prasanta Biswas
sumber
-1

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 !!

NarendraC
sumber