亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Selenium 2.53不使用Firefox 47

Selenium 2.53不使用Firefox 47

一只斗牛犬 2019-12-19 12:13:56
Selenium 2.53不使用Firefox 47我在WebDriver中使用Firefox時出錯了。org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.Firefox版本:47.0硒:2.53.0Windows 10 64位有沒有人得到類似的問題,或者知道解決這個問題的方法是什么?它在Chrome上運行得很好,但是對于Firefox,沒有一個URL會被加載。
查看完整描述

3 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

不幸的是,Selenium WebDriver 2.53.0與Firefox 47.0不兼容。WebDriver組件,它處理Firefox瀏覽器(FirefoxDriver)將停止。從3.0版開始,Selenium WebDriver將需要geckodriver二進制文件,用于管理Firefox瀏覽器。更多信息這里這里.

因此,為了在Selenium WebDriver 2.53.0中使用Firefox 47.0作為瀏覽器,您需要下載Firefox驅動程序(它是一個名為geckodriver從0.8.0版到以前的版本wires)并將其絕對路徑導出到變量webdriver.gecko.driver作為Java代碼中的系統屬性:

System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");

幸運的是,圖書館WebDriverManager可以為您完成此工作,即為您的計算機(Linux、Mac或Windows)下載合適的Marionette二進制文件,并導出適當系統屬性的值。若要使用此庫,需要將此依賴項包含到項目中:

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.6.1</version></dependency>

..然后在使用WebDriver之前在程序中執行這一行:

WebDriverManager.firefoxdriver().setup();

使用WebDriver的JUnit 4測試用例的完整運行示例如下:

public class FirefoxTest {

    protected WebDriver driver;

    @BeforeClass
    public static void setupClass() {
        WebDriverManager.firefoxdriver().setup();
    }

    @Before
    public void setupTest() {
        driver = new FirefoxDriver();
    }

    @After
    public void teardown() {
        if (driver != null) {
            driver.quit();
        }
    }

    @Test
    public void test() {
        // Your test code here
    }}

考慮到Marionette將是未來唯一的選擇(WebDriver 3+和Firefox 48+),但目前(編寫時版本為0.9.0)并不十分穩定??匆幌?/trans>木偶路線圖更多細節。

更新

硒WebDriver2.53.1已經于2016年6月30日發布。FirefoxDriver正在重新使用Firefox47.0.1作為瀏覽器。



查看完整回答
反對 回復 2019-12-20
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

我也有同樣的問題,發現你需要更換驅動程序,因為放棄支持..而不是使用Firefox驅動程序,您需要使用木偶為了運行你的測試。我目前正在通過設置我自己,并可以張貼一些建議的步驟,如果你想當我有一個工作的例子。

下面是我在Mac上運行Java環境所遵循的步驟(在我的Linux安裝(Fedora、CentOS和Ubuntu)中也為我工作):

  1. 發布頁面

  2. 解壓檔案
  3. 為Marionette創建一個目錄(即,

    mkdir -p /opt/marionette)

  4. 將解壓縮的可執行文件移動到您創建的目錄中。
  5. 更新您的

    $PATH

    若要包含可執行文件(同時,請編輯

    .bash_profile

    如果你愿意的話)
  6. :邦邦:確保你

    chmod +x /opt/marionette/wires-x.x.x

    所以它是可執行的
  7. 在啟動過程中,請確保使用以下代碼(這是我在Mac上使用的代碼)

速記

仍然不像預期的那樣工作,但至少現在啟動了瀏覽器。需要找出原因-現在看來我需要重寫我的測試才能讓它正常工作。

Java片段

WebDriver browser = new MarionetteDriver();System.setProperty("webdriver.gecko.driver", "/opt/marionette/wires-0.7.1-OSX");



查看完整回答
反對 回復 2019-12-20
  • 3 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號