Webdo Không thể kết nối với máy chủ 127.0.0.1 trên cổng 7055 sau 45000 ms


138

Tôi có hộp nơi tôi chạy thử nghiệm. Có vẻ như Jenkins sẽ thực hiện và thực hiện các lệnh được mô tả trong công việc cụ thể đang chạy.

Ở đây tôi đang cố gắng chạy thử nghiệm Selenium WebSearch của mình, nhưng nó cho tôi biết rằng tôi có lỗi khi khởi chạy firefox. Ý tưởng cuối cùng là chạy hoàn toàn các webtests trên hộp này và cũng chụp một số ảnh chụp màn hình về các lỗi.

Tôi đang sử dụng selenium-java-2.25.jar, firefox 10, hệ điều hành linux.

Điều thú vị là tôi có thể tự nhập ssh vào hộp, sao chép tạm thời cookie ma thuật từ một người dùng khác trên hộp (để lấy đường hầm X), thực hiện export DISPLAY=mydisplay:1.0, sau đó khởi chạy các bài kiểm tra selen của tôi bằng kiến. Và điều này sẽ mang đến firefox và các bài kiểm tra tốt.

Có nhiều chủ đề khác nhau ở đây dường như có cùng một vấn đề, và tôi nghĩ rằng tôi đã thử hầu hết chúng. Đây là những gì tôi đã làm:

  • Khởi động lại hộp, đăng nhập lại với VNC.

  • Đặt một tập lệnh bash trong Jenkins để chạy trước khi chạy các bài kiểm tra selen. Kịch bản bash về cơ bản chỉ làm một export DISPLAY=mydisplay:1.0. Nó cũng thực thi xclock. Điều này hoạt động như tôi có thể thấy xclock đang được hiển thị trong VNC.

  • iptables đã bị tắt

  • firefox được đặt chính xác trong / usr / bin / firefox

  • sshd_config hiển thị có X11Forwarding là đúng.

  • Việc hạ cấp firefox đã giúp một số người, nhưng tôi không muốn làm điều này. Webdo vẫn nên hỗ trợ FF 10.

Tuy nhiên, không có điều nào ở trên giải quyết được vấn đề.

Dường như cổng 7055 trên localhost thậm chí còn tồn tại:

netstat -an | grep 7055 - Không có gì in

Đây là những gì / etc / hosts của tôi nói:

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

Có lẽ nó có liên quan đến localhost: 7055 không tồn tại? Tôi không chắc chắn nơi để đi từ đây. Tuy nhiên, tại sao đầu ra lỗi cho biết nó đang tìm kiếm display: :0.0khi tôi đã chỉ định mydisplay:1.0?

Và cuối cùng là đầu ra lỗi tôi nhận được:

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

Tôi đã tái tạo vấn đề này dưới selenium 2.31.0
Dima Star

Tôi đang gặp vấn đề này với Selenium 2.47.1 và tôi không thấy thông báo rằng máy chủ trình điều khiển firefox bắt đầu trên cổng XXXX. Thay vào đó, tôi nhận được một cửa sổ trống mở và không kiểm soát trình duyệt, giả sử vì cổng không mở để nghe các lệnh giao thức dây từ thử nghiệm.
djangofan

Có vẻ như sự kết hợp giữa máy chủ Selenium 2.47.1 và Firefox 40 vẫn ổn, không hoạt động với Firefox 41 đối với tôi.
Rostislav Matl

Nếu bạn không có GUI trong hộp của mình và bạn đang chạy thử nghiệm trong hộp bằng firefox, bạn sẽ gặp lỗi này. Tôi khuyên bạn nên thử với Xvfb trong trình điều khiển hiển thị bộ nhớ. Hoặc đây cũng có thể là một vấn đề của phiên bản firefox và khả năng tương thích phiên bản selen.
Prasanta Biswas

Câu trả lời:


91

Không biết bạn đã giải quyết vấn đề này chưa, nhưng tôi vừa giải quyết vấn đề tương tự từ phía bên kia.

Dường như Selenium và Firefox gặp khó khăn khi nói chuyện với nhau - Tôi nghi ngờ Firefox 'tiến hóa' thay đổi qua một số bản phát hành, do đó khả năng tương thích ngược và xuôi không phải lúc nào cũng được đảm bảo và dường như không tương thích luôn tạo ra cùng một lỗi.

Vấn đề của tôi bắt đầu khi tôi chuyển từ FF 15 sang FF 16. Chạy trên Ubuntu, điều này xảy ra tự động một cách kỳ diệu cùng với các nâng cấp khác nhưng tôi tin rằng đây là thay đổi quan trọng.

Vấn đề đã được giải quyết bằng cách chuyển từ Selenium 2.24.1 sang Selenium 2.25.0

Vì thay đổi selen chỉ là tải xuống tệp jar và chạy nó thay vì tệp cũ, nên thử cách này như một trình khắc phục sự cố nhanh chóng và dễ dàng - nếu nó không hữu ích, chỉ cần chuyển lại. Trong trường hợp của bạn, tôi không chắc nên thử phiên bản Selenium nào, nhưng tôi nghĩ 2.24 nên hoạt động với FF 10.

Một vấn đề khác mà tôi đã tìm thấy trong quá khứ là Firefox sẽ không chạy bằng root trên Ubuntu. Điều này xảy ra nếu Selenium đang chạy như một dịch vụ, hoặc có thể nếu nó được kích hoạt từ tập lệnh bash hoặc cron job. Điều này có thể giải thích tại sao nó chạy cho bạn nhưng không phải cho Jenkins.


2
Tôi đang sử dụng FF 19.0 và selenium-server-standalone-2.29.0.jar trong Ubuntu. Khi tôi chạy thử nghiệm selen của mình ở Jenkins, tôi cũng gặp lỗi tương tự: org.openqa.selenium.firefox.NotConnectedException: Không thể kết nối với máy chủ 127.0.0.1 trên cổng 7055 sau 45000 ms. Đầu ra của bảng điều khiển Firefox: [testng] Lỗi: không hiển thị được chỉ định [testng] Lỗi: không hiển thị được chỉ định
Ripon Al Wasim

@RiponAlWasim Bất kỳ may mắn nào giải quyết vấn đề? Tôi đang chạy 2.31.0 và có cùng một vấn đề.
Petr Peller

@Petr Peller: phiên bản FF của bạn là gì?
Ripon Al Wasim

1
Đây dường như là một vấn đề đang diễn ra. Tôi đã gặp lỗi này với Selenium WebSearch 2.47 và Firefox 44. Cập nhật Selenium WebSearch lên 2.53 đã sửa nó.
B Bảy

1
tl; dr - Nâng cấp Selenium (các tệp .jar tại đây - selenium-release.st
Storage.googleapis.com/index.html

14

Tôi đã có một vấn đề tương tự. Có lẽ câu trả lời này sẽ giúp bạn là tốt.

Có vẻ như bạn có hai lỗi khác nhau đang diễn ra:

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

Lý do cho Unable to connectlỗi là phiên bản Selenium Server không biết cách làm việc với phiên bản Firefox mới hơn. Bạn cần tải xuống phiên bản mới hơn của Máy chủ Selenium hỗ trợ phiên bản Firefox mới hơn.

Lý do cho Error: no display specifiedlỗi là Firefox đang được khởi chạy, nhưng không có máy chủ X (GUI) đang chạy trên máy chủ từ xa. Bạn có thể sử dụng chuyển tiếp X11 để chạy Firefox trên máy chủ từ xa, nhưng hiển thị nó trên máy chủ cục bộ của bạn. Trên Mac OS X, bạn sẽ cần tải xuống XQuartz để sử dụng chuyển tiếp X11.


13

Bạn cần kiểm tra tính tương thích của trình duyệt trước khi chọn kiểm tra với Selenium:

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

Điều này có thể giúp trả lời câu hỏi trên.


Đây là vấn đề tôi gặp phải. Và đó không phải là trình duyệt trong trường hợp của tôi. Đó là hệ điều hành cơ bản. Tôi đang sử dụng Mac OS X - Yosemite. Và chỉ có selenium mới nhất dường như đang làm việc với nó.
Ajit S

2
liên kết bị hỏng thưa ông
mido


6

Tôi đã giải quyết vấn đề này bằng cách hạ cấp Firefox của tôi xuống phiên bản cũ hơn trước đây hoạt động tốt với Selenium-WebDriver. Trong trường hợp của tôi, tôi đã phải hạ cấp xuống Firefox 18 và phiên bản này đã hoạt động với Selenium 2.27

Đây là liên kết để có được các phiên bản cũ hơn của firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/release/


5

Vấn đề này đã ám ảnh tôi trong một thời gian dài và tôi đã thấy một giải pháp hoạt động trong trường hợp Firefox là sử dụng trình điều khiển firefox được nâng cấp .

  • Nếu nâng cấp firefox của bạn đang diễn ra tự động hơn bạn có thể phải đối mặt với vấn đề này một lần trong một thời gian. Có vẻ như các chàng trai Firefox đang phát triển quá nhanh hoặc họ không quan tâm đến khả năng tương thích ngược.

  • Mỗi lần tôi thấy vấn đề này trên các tập lệnh cũ của mình, tôi sẽ kiểm tra xem phiên bản firefox có thay đổi hay không - hầu hết các lần.

  • Sau đó, tôi truy cập maven repo cho trình điều khiển selenium firefox - http://mvnreposective.com/artifact/org.seleniumhq.selenium/selenium-firefox- ấn và tải xuống phiên bản mới nhất.

  • hoặc cập nhật pom.xml của tôi (nếu maven được sử dụng) với phiên bản trình điều khiển firefox mới ngay bây giờ - 2.40.0

  • Không có cách nào dễ dàng để tránh vấn đề này trừ khi bạn thực sự chặn cập nhật tự động từ firefox (Bạn có thể thực hiện việc này (Trên Mac) trong tùy chọn - Nâng cao - Cập nhật - Chọn "Kiểm tra cập nhật, nhưng hãy để tôi chọn có cài đặt chúng không" )

  • Nếu tập lệnh của bạn đang chạy trên chế độ tự động thì bạn có thể muốn tắt cập nhật. Tuy nhiên điều này có thể tạo ra các vấn đề khác. Vì hầu hết mọi người / người dùng có thể có các cập nhật firefox được bật theo mặc định. Vì vậy, ứng dụng của bạn không thực sự được thử nghiệm trên bất kỳ phiên bản nào sau này.


5

Tôi đã có Firefox 47Selenium 2.53 và tôi cũng gặp lỗi tương tự. Giải pháp của tôi là đổi Firefox 47 thành Firefox 46 , vấn đề đã được giải quyết.


4

Cập nhật lọ selenium, tải xuống selenium 2.31.0

Vấn đề này đã được giải quyết bởi những kẻ selen

Đây là một vấn đề tương thích.

Chúc mừng


3

Vấn đề với tập lệnh là môi trường được sử dụng cho tập lệnh không giống với môi trường được sử dụng cho các thử nghiệm của bạn, vì vậy việc đặt các biến môi trường không có gì cho các thử nghiệm của bạn.

Để đặt đúng biến bạn cần đặt nó trong Jenkins. Chuyển đến Manage Jenkins> Manage Nodes> Master> Configure . Chọn hộp kiểm Biến môi trường , sau đó nhập HIỂN THỊ vào hộp tên và đặt giá trị thành: 1.0.

Ngoài ra, bạn sẽ cần đặt quyền, thử tắt các điều khiển truy cập xhost của mình bằng xhost +thiết bị đầu cuối.


1
Cái "xhost +" đó đã khắc phục vấn đề của tôi, đó là việc chạy webroll với sudo không mở trình duyệt - bây giờ nó hoạt động.
Nick Perkins

2

Tôi cũng phải đối mặt với vấn đề tương tự. Bất cứ khi nào chúng tôi hoặc webler mở ra, trình duyệt FF sẽ kiểm tra các bản cập nhật nếu có. Trong trường hợp đó, tôi sẽ cố gắng cập nhật trong thời gian thực hiện và sau đó bạn sẽ gặp lỗi ngay cả khi nó được cập nhật đúng cách chỉ vì bạn chưa cập nhật phiên bản Selenium một cách thích hợp.

Hướng đến " http://docs.seleniumhq.org/doad/ " và tải xuống phiên bản mới nhất. Bây giờ đi và kiểm tra, vấn đề sẽ được giải quyết, thực sự. :)


1

Tôi đã nhận được cùng một lỗi; Tôi đã sử dụng selenium-java phiên bản 2.25.0 và Firefox vresion 18.0.2; Tôi đã thay đổi phiên bản selenium-java thành 2.30.0 và hiện đã hoạt động.


1

Để giải quyết vấn đề này, hãy sử dụng các tệp jar mới có sẵn trên http://docs.seleniumhq.org/doad/ . Tương ứng với java, C #, php, v.v ... Firefox 27.0.1 yêu cầu 2.39.0 phiên bản trình điều khiển.


Đối với tôi, nó cũng hoạt động với Firefox 29.0 và trình điều khiển selenium 2.39.0 (Trước khi tôi gặp vấn đề tương tự tại Lubfox 14.0.4)
Huluvu424242

1

Chỉ cần cài đặt Xvnc Plugin trong Jenkins. Vấn đề cần được giải quyết.


1

Tôi gặp lỗi tương tự "selenium_Unable khi kết nối với máy chủ 127.0.0.1 trên cổng 7055" Giải pháp: Tôi đã sử dụng selenium-java-2.48.2 với phiên bản Firefox 43.0.1 và hiện tại nó hoạt động tốt.


1

Tôi cũng gặp vấn đề tương tự nhưng vấn đề được giải quyết sau khi hạ phiên bản firefox xuống 35.0.1 và phiên bản selen của tôi là 2.43


1

Tôi có cùng một vấn đề chính xác khi chạy docker nhưng tôi đã tìm thấy giải pháp trong nhật ký trước lỗi bạn đã đề cập.

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)

Tôi đã làm theo lời khuyên và vấn đề đã được sắp xếp.


0

Đây là cách nó hoạt động khi tôi sử dụng thuộc tính tĩnh của IWebDriver và gọi nó từ nhiều phương thức thử nghiệm.

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

    ...
}

Giống

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

Giải pháp

Đối với mỗi phương thức kiểm tra cuộc gọi, tạo phiên bản mới của Trình điều khiển

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

0

Cập nhật lọ selenium nếu tập lệnh selen của chúng tôi không thực thi. Hiện tại tôi đang sử dụng selenium-java-2.43.0-srcs

Bây giờ nó đang làm việc tốt


0

Nó xảy ra trên các phiên bản khác nhau của ff. Tôi đang sử dụng phiên bản ff 39 mới nhất bằng cách sử dụng selenium-server-standalone-2.41.0.jar và selenium-java-2.41.0.zip có lỗi tương tự.

Nhận các tệp jar máy chủ và máy khách mới nhất tại đây để tương thích tôi đã sử dụng phiên bản máy chủ và máy khách tương ứng 2.47.0 và 2.47.1. Và bùm! Nó đã làm việc.


0

Điều này xảy ra vì các phiên bản cũ. Chỉ cần cập nhật trình duyệt lên phiên bản mới nhất và cập nhật gói weben selenium lên phiên bản mới nhất.


0

Chỉ cần khởi động lại thiết bị đầu cuối. Terminal bị treo không có gì khác. Mọi thứ sẽ hoạt động tốt sau đó


0

Thêm vào cơ sở kiến ​​thức. Chúng tôi đã có cùng một vấn đề trên Tre. Vấn đề đã được giải quyết bằng cách sử dụng Thuộc tính Môi trường trên Tre.

DISPLAY=":1"

Thêm giá trị làm thuộc tính hệ thống trong pom.xml hoặc dòng lệnh không hoạt động.


0

Trên Windows: Kiểm tra cả "độ bit" của Firefox của bạn. Firefox 43.0.1 64bit không hoạt động với Selenium 2.50.0. Hoạt động tốt với Firefox 43.0.1 32 bit ...


0

Tôi cũng bị mắc kẹt trong lỗi này trong ba ngày và cuối cùng đã tìm ra nó. Bạn có thể xem câu trả lời tôi đã đưa ra ở đây . Đây là vấn đề tương thích với trình duyệt và máy chủ selenium. Tôi hy vọng điều này có ích. Bạn có thể kiểm tra tính tương thích của trình duyệt từ liên kết này


0

Tôi đã có cùng một vấn đề ngày hôm nay. Để khắc phục, tôi đã hạ cấp phiên bản firefox 51 xuống 47 và nó đang hoạt động.

Lưu ý: Tôi đang sử dụng Linux Mate Mate, trong Hộp ảo, với máy chủ là Ubuntu Mate khác. Tất cả các hệ điều hành là 64 bit và firefox cũng vậy.



0

Tôi đã có cùng một vấn đề với firefox 38.

Sau khi sử dụng các phụ thuộc phiên bản sau, tôi có thể giải quyết vấn đề.

    <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

Tôi nghĩ rằng đây có thể là một vấn đề của màn hình. Nếu bạn không có GUI trong hộp, thì việc khởi chạy firefox từ weben selen sẽ gây ra lỗi này.

Để giải quyết vấn đề này, trước tiên hãy cài đặt Xvfb [ yum install Xvfb -y] (trình điều khiển hiển thị ảo) trong hộp. Sau đó chạy thử nghiệm của bạn từ jenkins với xvfv-run -a -d <your test execution command>. Điều này sẽ khởi chạy trình duyệt trong một bộ đệm hiển thị ảo. Ngoài ra, nó có khả năng nhận được ảnh chụp màn hình bằng cách sử dụng weben selenium.


-1

Giải pháp -

1) Nâng cấp Máy chủ Selenium của bạn, ví dụ: bình selenium "selenium-server-standalone-2.xx.x.JAR" TO "selenium-server-standalone-2.45.0.JAR"

2) Nâng cấp Trình điều khiển máy khách Selenium của bạn, ví dụ như thư mục selenium libs "selenium-java-2.xx.x" TO "selenium-java-2.45.0"

3) Kiểm tra và cài đặt phiên bản Firefox tương thích

Tham khảo - Tải xuống libs & jar đã cập nhật tức là Phiên bản 2.45.0

Điều này sẽ giải quyết vấn đề của bạn .. Chúc mừng !!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.