Webdriver 45000 ms sonra bağlantı noktası 7055'te 127.0.0.1 ana bilgisayarına bağlanılamıyor


138

Testler yaptığım bir kutu var. Jenkins, çalışan belirli bir işte açıklanan komutları ssh yapar ve çalıştırır gibi görünüyor.

Burada Selenium Webdriver testlerimi yapmaya çalışıyorum, ancak bana firefox'u başlatırken hatalar yaşadığımı söylüyor. Son fikir, bu kutudaki web testlerini tamamen çalıştırmak ve ayrıca bazı ekran görüntülerini almaktır.

Selenium-java-2.25.jar, firefox 10, linux OS kullanıyorum.

Komik olan şey, kutuya manuel olarak ssh, geçici olarak kutudaki başka bir kullanıcıdan sihirli çerezi kopyalayabilmem (bir X tüneli almak için), bir yapmam ve export DISPLAY=mydisplay:1.0ardından selenyum testlerimi karınca kullanarak başlatabilmem. Bu da firefox'u ve testleri güzelleştirecek.

Burada aynı sorun var gibi görünüyor çeşitli konuları vardır, ve ben çoğu denedim düşünüyorum. İşte yaptığım şey:

  • Kutuyu yeniden başlatın, VNC ile tekrar oturum açın.

  • Selenyum testlerini çalıştırmadan önce çalıştırmak için Jenkins'e bir bash betiği yerleştirdi. Bash betiği temelde bir export DISPLAY=mydisplay:1.0. Ayrıca yürütür xclock. Bu VNC görüntülenen xclock görebilirsiniz göre çalışır.

  • iptables kapatıldı

  • firefox / usr / bin / firefox içinde doğru bir şekilde konumlandırılmıştır

  • sshd_config, X11Forwarding özelliğinin doğru olduğunu gösterir.

  • Sözde firefox'u düşürmek bazı insanlara yardımcı oldu, ancak bunu yapmak istemiyorum. Web sürücüsü yine de FF 10'u desteklemelidir.

Ancak, yukarıdakilerin hiçbiri sorunu çözmez.

Yerel ana bilgisayardaki 7055 numaralı bağlantı noktası bile var gibi görünmüyor:

netstat -an | grep 7055 - Hiçbir şey yazdırmıyor

/ Etc / hosts cihazım şöyle diyor:

  1 127.0.0.1               localhost.localdomain localhost
  2 ::1             localhost6.localdomain6 localhost6

Belki de localhost ile bir ilgisi var: 7055 mevcut değil? Buradan nereye gideceğinden emin değilim. yine de, hata çıktısı neden display: :0.0belirttiğimde aradığını söylüyor mydisplay:1.0?

Ve son olarak aldığım hata çıktısı:

[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)

Bu problemi selenyum 2.31.0
Dima Star

Selenium 2.47.1 ile bu sorunu yaşıyorum ve XXXX bağlantı noktasında firefox sürücü sunucusunun başladığını görmüyorum. Bunun yerine, portun tel protokol komutlarını testten dinlemek için açılmadığı için, açılan boş bir pencere alıyorum ve tarayıcı üzerinde kontrol yok.
djangofan

Selenium sunucusu 2.47.1 ve Firefox 40 kombinasyonu benim için Firefox 41 ile çalışmıyor.
Rostislav Matl

Kutunuzda GUI yoksa ve testlerinizi firefox kullanarak kutuda çalıştırıyorsanız, bu hatayı alırsınız. Bellek ekran sürücüsünde Xvfb ile denemenizi öneririm. Veya bu, firefox sürümü ve selenyum sürümü uyumluluğu sorunu da olabilir.
Prasanta Biswas

Yanıtlar:


91

Bu sorunu çözüp çözmediğinizi bilmiyorum, ama aynı sorunu diğer taraftan çözdüm.

Görünüşe göre Selenium ve Firefox birbirleriyle konuşmakta zorluk çekiyor - Firefox'un bir dizi sürümde 'evrim geçirdiğini' sanıyorum, bu nedenle geriye ve ileri uyumluluk her zaman garanti edilmez ve uyumsuzluk her zaman aynı hatayı üretir gibi görünüyor.

Sorunum FF 15'ten FF 16'ya taşındığımda başladı. Ubuntu üzerinde çalışırken, bu otomatik olarak diğer yükseltmelerle birlikte sihirli bir şekilde gerçekleşiyor, ancak bu kritik değişiklik olduğuna inanıyorum.

Sorun, Selenyum 2.24.1'den Selenyum 2.25.0'a taşınarak çözüldü

Selenyum değişikliği sadece jar dosyasını indirin ve eskisi yerine çalıştırdığından, bunu hızlı ve kolay bir sorun giderici olarak denemeye değer - eğer yardımcı olmazsa, sadece geri dönün. Senin durumunda, hangi Selenium sürümünü denemek için emin değilim, ama 2.24 FF 10 ile çalışması gerektiğini düşünüyorum.

Geçmişte bulduğum bir başka sorun, Firefox'un Ubuntu'da kök olarak çalışmadığı. Bu, Selenium bir hizmet olarak çalışıyorsa veya büyük olasılıkla bir bash betiği veya cron işinden atılmışsa gerçekleşir. Bu neden sizin için çalıştığını açıklayabilir ancak Jenkins için değil.


2
Ubuntu'da FF 19.0 ve selenyum-sunucu-standalone-2.29.0.jar kullanıyorum. Jenkins selenyum testlerimi çalıştırdığımda aynı hatayı aldım: org.openqa.selenium.firefox.NotConnectedException: 45000 ms sonra bağlantı noktası 7055 üzerinde 127.0.0.1 ana bilgisayarına bağlanılamıyor. Firefox konsolu çıkışı: [testng] Hata: görüntü belirtilmedi [testng] Hata: görüntü belirtilmedi
Ripon Al Wasim

@RiponAlWasim Sorunu çözme şansın var mı? 2.31.0 çalıştırıyorum ve aynı sorunu var.
Petr Peller

@Petr Peller: FF'nizin sürümü nedir?
Ripon Al Wasim

1
Bu devam etmekte olan bir sorun gibi görünüyor. Selenium Webdriver 2.47 ve Firefox 44 ile bu hatayı aldım. Selenium Webdriver'ı 2.53'e güncellemek düzeltildi.
B Seven

1
tl; dr - Selenium'u yükseltin (.jar dosyaları burada - selenium-release.storage.googleapis.com/index.html )
rinogo

14

Benzer bir sorunum vardı. Belki de bu cevap size yardımcı olacaktır.

İki farklı hatanız var gibi görünüyor:

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

Unable to connectHatanın nedeni , Selenium Server sürümünün daha yeni Firefox sürümüyle nasıl çalışacağını bilmemesidir. Selenium Server'ın daha yeni Firefox sürümünü destekleyen daha yeni bir sürümünü indirmeniz gerekir.

Error: no display specifiedHatanın nedeni , Firefox'un başlatılmasıdır, ancak uzak ana bilgisayarda çalışan X sunucusu (GUI) yoktur. X11 iletmeyi Firefox'u uzak ana bilgisayarda çalıştırmak için kullanabilir, ancak yerel ana bilgisayarınızda görüntüleyebilirsiniz. Mac OS X'te, X11 iletmeyi kullanmak için XQuartz'ı indirmeniz gerekir .


13

Selenium ile test etmeyi seçmeden önce tarayıcı uyumluluğunu kontrol etmeniz gerekir:

https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG

Bu, yukarıdaki soruyu cevaplamaya yardımcı olabilir.


Karşılaştığım sorun buydu. Ve benim durumumda tarayıcı değildi. Temel işletim sistemiydi. Mac OS X - Yosemite kullanıyorum. Ve sadece son selenyum bununla çalışıyor gibi görünüyor.
Ajit S

2
bağlantı kesildi efendim
mido



5

Bu sorun beni uzun zamandır rahatsız etti ve Firefox'un yükseltilmiş firefox sürücüsünü kullanması durumunda bir çalışma çözümü gördüm .

  • Senin Eğer firefox yükseltmeleri otomatik oluyor sen arada bir bu sorunu karşılaşabilir daha. Firefox'ların çok hızlı geliştiği ya da geriye dönük uyumluluğu umursamayacakları anlaşılıyor.

  • Eski scriptlerimde bu sorunu her gördüğümde firefox sürümünün o zamandan beri değişip değişmediğini kontrol ediyorum - çoğu zaman.

  • Sonra selenium firefox sürücü repo için maven repo'ya gidiyorum - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver ve en son sürümü indirin.

  • ya da pom.xml'imi (maven kullanılıyorsa) şu anda firefox sürücüsünün yeni sürümü ile güncelleyin - 2.40.0

  • Otomatik güncellemeyi firefox'tan gerçekten açıkça engellemediğiniz sürece bu sorunu önlemenin kolay bir yolu yoktur (Bunu (Mac'te) tercihlerde yapabilirsiniz - Gelişmiş - Güncelleme - "Güncellemeleri kontrol et, ancak yüklemeyi seçip seçmeme izin ver" seçeneğini belirleyin. )

  • Komut dosyalarınız otomatik modda çalışıyorsa, güncellemeleri devre dışı bırakmak isteyebilirsiniz. Ancak bu başka sorunlar yaratabilir. Çoğu kişi / kullanıcı varsayılan olarak etkinleştirilen firefox güncellemelerine sahip olabilir. Yani uygulamanız daha sonraki sürümlerde gerçekten test edilmiyor.


5

Firefox 47 ve Selenium 2.53 vardı ve aynı hatayı aldım. Benim çözümüm Firefox 47'yi Firefox 46 olarak değiştirmekti , sorun çözüldü.


4

Selenyum kavanozlarını güncelleyin, selenyum 2.31.0'ı indirin

Bu sorun selenyum adamları tarafından çözüldü

Bu bir uyumluluk sorunuydu.

Şerefe


3

Komut dosyasıyla ilgili sorun, komut dosyası için kullanılan ortamın testleriniz için kullanılan ortamla aynı olmamasıdır, bu nedenle ortam değişkenlerini ayarlamak testleriniz için hiçbir şey yapmaz.

Değişkeni doğru şekilde ayarlamak için onu Jenkins'te ayarlamanız gerekir. Git Düğümler> Usta> Configure> Jenkins yönetin . Kontrol değişkenleri Ortamı kutuyu işaretleyip ardından adı kutusunda DISPLAY girin ve değerini ayarlamak: 1.0.

Ayrıca izinleri ayarlamanız gerekir, xhost erişim denetimlerinizi xhost +terminalde kullanarak devre dışı bırakmayı deneyin .


1
Bu "xhost +" sorunumu düzeltti, sudo ile webdriver'ı çalıştırmak bir tarayıcı açmıyordu - şimdi çalışıyor.
Nick Perkins

2

Aynı problemle de karşılaştım. Biz veya webdriver her açıldığında, FF tarayıcı varsa güncellemeleri kontrol edecektir. Bu durumda, yürütme süresi boyunca güncellemeye çalışacağım ve sonra Selenium sürümünü uygun şekilde güncellemediğiniz için düzgün bir şekilde güncellenmiş olsa bile hatayı alacaksınız.

" Http://docs.seleniumhq.org/download/ " adresine gidin ve en son sürümü indirin. Şimdi git ve kontrol et, sorun gerçekten çözülecekti. :)


1

Aynı hatayı aldım; Selenyum-java sürüm 2.25.0 ve Firefox vresion 18.0.2 kullandım; Selenium-java versiyonunu 2.30.0 olarak değiştirdim ve şimdi çalışıyor.



1

Sadece Xvnc Plugin'i Jenkins'e yükleyin. Sorun çözülmeli.


1

Ben aynı hata "selenium_Uzaktan 7055 üzerinde 127.0.0.1 ana bilgisayara bağlanılamıyor" hatası var Çözüm: Firefox 43.0.1 sürümü ile selenium-java-2.48.2 kullandım ve şimdi iyi çalışıyor.


1

Ben de aynı sorunu vardı ama firefox sürümü 35.0.1'e düşürüldükten sonra sorun çözüldü ve selenyum sürümüm 2.43


1

Docker'ı çalıştırırken aynı sorunu yaşadım, ancak günlükte bahsettiğiniz hatadan önceki çözümü buldum.

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)

Tavsiyeyi takip ettim ve sorun çözüldü.


0

IWebDriver'ın statik özelliğini kullandığımda ve çoklu test yöntemlerinden çağırdığımda bu şekilde davranır.

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()
    {
        ...
    }

    ...
}

Sevmek

 [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("Контакт"));
 }

Çözüm

Her arama testi yöntemi için yeni bir Driver örneği oluşturun

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

0

Selenyum komut dosyamız çalışmıyorsa selenyum kavanozlarını güncelleyin. Şu anda selenium-java-2.43.0-srcs kullanıyorum

Şimdi iyi çalışıyor


0

Farklı ff sürümlerinde olur. Selenium-server-standalone-2.41.0.jar ve aynı hatayı gösteren selenium-java-2.41.0.zip kullanarak en son ff 39 sürümünü kullanıyorum.

Kullanılan sunucu ve istemci sürüm 2.47.0 ve 2.47.1 için uyumluluk için en son sunucu ve istemci jar dosyalarını buradan alın . Ve Boom! İşe yaradı.


0

Bu, eski sürümler nedeniyle olur. Tarayıcıyı en son sürüme güncelleyin ve selenyum webdriver paketini en son sürüme güncelleyin.


0

Terminali yeniden başlatmanız yeterlidir. Terminal başka hiçbir şey asılmamış. Bundan sonra her şey yoluna girecek


0

Bilgi tabanına ekleme. Bambu için de aynı sorunu yaşadık. Sorun, Bambu üzerindeki Çevresel Özellikler kullanılarak çözüldü.

DISPLAY=":1"

Pom.xml dosyasına veya komut satırına sistem özellikleri olarak değer eklemek işe yaramadı.


0

Windows'ta: Firefox'unuzun "bit" değerini de kontrol edin. Firefox 43.0.1 64bit, Selenium 2.50.0 ile çalışmaz. Firefox 43.0.1 32bit ile iyi çalışıyor ...


0

Ben de üç gün boyunca bu hata sıkışmış ve nihayet out.You ben verdik cevabı görebilirsiniz bunu anladım burada .Bu tarayıcısı ve selenyum sunucusu uyumluluk konudur. Bu helps.You tarayıcı uyumluluğu kontrol edebilirsiniz umut Bu bağlantıyı


0

Bugün de aynı sorunu yaşadım. Düzeltmek için firefox sürüm 51'i 47'ye düşürdüm ve çalışıyor.

Not: Sanal Kutuda bir Linux Ubuntu Mate kullanıyorum, ana bilgisayar başka bir Ubuntu Mate. Tüm işletim sistemleri 64 bit ve firefox'tur.



0

Firefox 38 ile aynı sorunu yaşadım.

Aşağıdaki sürüm bağımlılıklarını kullandıktan sonra sorunu çözebilirim.

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

0

Bence bu bir görüntüleme sorunu olabilir. Kutuda GUI'niz yoksa, selenyum webdriver'dan firefox'u başlatmak bu hatayı verecektir.

Bu sorunu çözmek için önce kutuya Xvfb [ yum install Xvfb -y] (sanal ekran sürücüsü) yükleyin . Sonra testinizi jenkinlerden ile çalıştırın xvfv-run -a -d <your test execution command>. Bu, tarayıcıyı bir sanal ekran arabelleğinde başlatır. Ayrıca selenyum webdriver kullanarak ekran görüntüleri alabilirsiniz.


-1

Çözüm -

1) Selenyum Sunucunuzu, örneğin selenyum kavanozunu "selenium-server-standalone-2.xx.x.JAR" TO "selenium-server-standalone-2.45.0.JAR" sürümüne yükseltin.

2) Selenyum İstemci Sürücünüzü yükseltin, örneğin selenyum libs klasörü "selenium-java-2.xx.x" "selenium-java-2.45.0"

3) Uyumlu Firefox sürümünü kontrol edin ve yükleyin

Bakın - Güncellenmiş selenyum kütüphanelerini indirin ve örn. Sürüm 2.45.0

Bu sorununuzu çözecektir .. Şerefe !!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.