2014-02-19 58 views
7

因爲這個問題感覺非常失望!當過我跑我的測試類是露出像Xlib:擴展名「RANDR」缺少顯示「:99」

Testsuite: com.lo.test.selenium.AssignCampaignTestCase 
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 46.991 sec 
------------- Standard Error ----------------- 
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: 
Xlib: extension "RANDR" missing on display ":99". 
*** LOG addons.manager: Application has been upgraded 
*** LOG addons.xpi: startup 
*** LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID: /tmp/anonymous4942696774897131989webdriver-profile/extensions/webdriver-staging 
*** LOG addons.xpi: checkForChanges 
*** LOG addons.xpi-utils: Opening database 
*** LOG addons.xpi-utils: Creating database schema 
*** LOG addons.xpi: New add-on [email protected] installed in app-profile 
*** LOG addons.xpi: New add-on {972ce4c6-7e08-4474-a285-3208198ce6fd} installed in app-global 
*** LOG addons.xpi: Updating database with changes to installed add-ons 
*** LOG addons.xpi-utils: Updating add-on states 
*** LOG addons.xpi-utils: Writing add-ons list 
*** LOG addons.manager: shutdown 
*** LOG addons.xpi: shutdown 
*** LOG addons.xpi-utils: shutdown 
*** LOG addons.xpi-utils: Database closed 
Xlib: extension "RANDR" missing on display ":99". 
*** LOG addons.xpi: startup 
*** LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID: /tmp/anonymous4942696774897131989webdriver-profile/extensions/webdriver-staging 
*** LOG addons.xpi: checkForChanges 
*** LOG addons.xpi: No changes found 

     at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:109) 
     at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:245) 
     at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109) 

我的測試類

package com.lo.test.selenium; 
    import static org.junit.Assert.assertTrue; 
    import static org.junit.Assert.fail; 

    import java.util.Properties; 
    import java.util.ResourceBundle; 

    import javax.mail.Flags; 
    import javax.mail.Folder; 
    import javax.mail.Message; 
    import javax.mail.MessagingException; 
    import javax.mail.NoSuchProviderException; 
    import javax.mail.Session; 
    import javax.mail.Store; 
    import org.junit.Test; 
    import org.openqa.selenium.By; 
    import org.openqa.selenium.WebDriver; 
    import org.openqa.selenium.WebElement; 
    import org.openqa.selenium.firefox.FirefoxDriver; 
    import org.openqa.selenium.support.ui.ExpectedConditions; 
    import org.openqa.selenium.support.ui.Select; 
    import org.openqa.selenium.support.ui.WebDriverWait; 

    public class MyExampleTestCase { 

    private static ResourceBundle rb = ResourceBundle.getBundle("global-messages"); 
    static WebDriver driver = new FirefoxDriver(); //Make it static in order to make one  
     instance of this class(helps to avoid opening of 2 browsers at once) 

    @Test 

    public void campaignEmailTestCase() throws InterruptedException { 
MyExampleTestCase emTesObj=new MyExampleTestCase(); 
String fName="test LO"; 
    Integer LeadId=570903; 
    String campaignName="2Get"; 
    String SubjName="Welcome"; //NOTE: No problem,Type without 
    double quotes. It will work for you 
    emTesObj.doLogin(); 
    emTesObj.goToLeadsListPage(); 
    emTesObj.searchByFirstName(fName);//without this also,it will work but Gives you the correct 
    navigation on UI 
    emTesObj.waitBeforePageLoads(LeadId.toString()); //pass the Id attribute which you aspect to 
    see after the page is loaded 
    emTesObj.assignCampaign(LeadId, campaignName); 
    emTesObj.readRecentEmail(SubjName); 
} 



**Update** 

的錯誤,我想這下面的代碼,但它仍然是顯示這段代碼執行和also showed some error with this code

以後同樣的錯誤
Xvfb :21 -screen 0 1024x768x24 -extension RANDR & 

看起來像這段代碼沒有正常運行。請有人幫我這個

+0

您使用的是FF和Selenium版本? –

+0

只是爲了記錄:我的問題是沒有安裝字體。如果'fc-match'沒有輸出,歡迎來到俱樂部。 – Matthias

+0

@Matthias我也解決了,通過安裝字體 –

回答

0

參考我最後的評論,日誌消息"RANDR" missing on display ":99"往往不是問題。檢查您是否安裝了任何字體,運行fc-match。否則,您的Firefox將無法啓動,因此WebDriver將無法連接。

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. 
+0

@i試着安裝你指向的東西,但仍然不能。 –

0

創建一個bash腳本文件,並把下面的代碼。在運行測試之前運行此文件。

#!/usr/bin/env bash 
##script to install the necessary dependency for headless firefox browser 
remove_Xvfb(){ 
kill -9 $(ps -ef | grep [X]vfb | awk '{print $2}') 
} 
remove_screenLock(){ 
Xvfb :3000 -screen 0 1024x768x16 & 
file="/tmp/.X3000-lock" 
if [ -f "$file" ]; then 
    echo "Screen Exits..removing it and installing it again" 
    sudo rm -rf "$file" 
    export DISPLAY=:3000 
else 
    echo "Screen Does not Exists....Creating one" 
    export DISPLAY=:3000 
fi 
} 
yum install -y xdg-utils xorg-x11-server-Xvfb fontconfig freetype freetype-devel fontconfig-devel libstdc++ Xvfb firefox 
sudo ln -s /usr/lib64/firefox/firefox /usr/bin/firefox 
running=`ps ax | grep -v grep | grep Xvfb | wc -l` 
if [ $running -gt 0 ]; then 
    echo " Xvfb is running, removing it" 
    remove_Xvfb 
    remove_screenLock 
else 
    remove_screenLock 
fi 

這將使用firefox瀏覽器爲您的UI基測試用例創建一個虛擬顯示。