ubuntu cli中的Firefox GLib严重错误

ubuntu cli中的Firefox GLib严重错误,firefox,ubuntu,selenium,testing,jenkins,Firefox,Ubuntu,Selenium,Testing,Jenkins,我已经在我的ubuntu服务器上安装了Firefox,所以我可以通过链接到bitbucket的jenkins运行selenium测试 詹金斯告诉我,它没有访问firefox的权限,所以我安装了它 sudo apt-get install firefox 这安装了firefox版本38。测试继续给出这样的错误 org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on

我已经在我的ubuntu服务器上安装了Firefox,所以我可以通过链接到bitbucket的jenkins运行selenium测试

詹金斯告诉我,它没有访问firefox的权限,所以我安装了它

sudo apt-get install firefox
这安装了firefox版本38。测试继续给出这样的错误

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host    
127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

(process:28482): GLib-CRITICAL **: g_slice_set_config: assertion 
'sys_page_size == 0' failed

Error: no display specified

(process:28489): GLib-CRITICAL **: g_slice_set_config: assertion 
'sys_page_size == 0' failed

Error: no display specified
当我检查版本时,会出现此错误。我已经完全删除了firefox,并从tar文件安装到了版本35,因为我知道这可以解决这个问题

它没有修复它,返回的错误完全相同,但版本已更改为35

这是Jenkins正在运行的主要脚本

public class Test {
protected WebDriver driver;

@Before  
public void setUp(){        
driver = new FirefoxDriver(); 
driver.get("http://www.google.com");

} //End Before

@Test

public void testGoogleSearch() { 

   // Find the text input element by its name          
WebElement element =  driver.findElement(By.name("q"));
   // Enter something to search for          
element.sendKeys("Selenium testing tools cookbook");
   // Now submit the form. WebDriver will find             
//the form for us from the element            
element.submit();

System.out.println("You have just logged into the  google6 website");

} //End of google search

@After   
public void tearDown() throws Exception {       
//Close the browser

driver.quit();
}
}//end
我不认为剧本是个问题,但我想我会尝试建立一个完整的画面

非常感谢您对修复firefox错误的任何帮助。谢谢

更新1

我使用的是Maven,selenium的版本是2.45.0

更新2

我正在无头运行firefox

我在ubuntu和selenium 2.46.0中使用firefox 39尝试了你的脚本,效果很好

我认为您的Selenium版本可能与您的Firefox版本不兼容。尝试使用selenium 2.46.0

您可以获得selenium 2.46.0的Maven依赖项

希望这能帮助你

编辑

我在ubuntu和selenium 2.46.0中使用Firefox39尝试了你的脚本,效果很好

我认为您的Selenium版本可能与您的Firefox版本不兼容。尝试使用selenium 2.46.0

您可以获得selenium 2.46.0的Maven依赖项

希望这能帮助你

编辑


您的主要问题是,您没有运行X-Server,因此Firefox无法连接到显示器。这就是为什么你会得到

错误:未指定显示

哪一个应该是你的主要问题

要解决这个问题,您需要设置Xvfb或真正的X-Server,具体取决于您拥有的服务器类型,并正确寻址它的公开显示,即如果您的Xvfb恰好在display:1上运行,则使用display=:1运行selenium服务器进程

一段时间前帮助我掌握了这个问题。或者从Selenium本身查看项目。如果你有办法在你的机器上启动一个docker容器,这应该是解决这个问题的最快方法,如果没有的话,浏览他们的文件可以很好地理解如何在ubuntu机器上设置一个headless Selenium环境


祝你好运你的问题,欢迎来到这个舒适的地狱部分称为无头测试

您的主要问题是,您没有运行X-Server,因此Firefox无法连接到显示器。这就是为什么你会得到

错误:未指定显示

哪一个应该是你的主要问题

要解决这个问题,您需要设置Xvfb或真正的X-Server,具体取决于您拥有的服务器类型,并正确寻址它的公开显示,即如果您的Xvfb恰好在display:1上运行,则使用display=:1运行selenium服务器进程

一段时间前帮助我掌握了这个问题。或者从Selenium本身查看项目。如果你有办法在你的机器上启动一个docker容器,这应该是解决这个问题的最快方法,如果没有的话,浏览他们的文件可以很好地理解如何在ubuntu机器上设置一个headless Selenium环境


祝你好运你的问题,欢迎来到这个舒适的地狱部分称为无头测试

您能告诉我们您使用的是哪个selenium版本吗?您是通过maven运行测试吗?您能告诉我们您使用的是哪个selenium版本吗?您是通过maven运行测试吗?谢谢您的回复,但是我不明白为什么我在检查firefox版本时会看到这个油嘴滑舌的严重错误,如果它与selenium有关的话。不过我可能错了。嗨@argo,我觉得GStreamer似乎有问题。请尝试在about:config页面上将media.GStreamer.enabled pref设置为false对不起,如果这个问题看起来很愚蠢,但我不太确定about:config页面在哪里,我需要进入服务器上安装firefox的位置吗?因为当测试脚本调用firefox时,我纯粹是通过服务器上的cmd行运行firefox。@arg0您已打开firefox并转到“关于配置”页面,并将media.gstreamer.enabled设置为false。请参考上面的屏幕截图。我认为我无法打开窗口,因为我试图在服务器上运行firefox。我无法让它显示窗口。感谢您的回复,但我不明白为什么我在检查firefox版本时会看到GLib严重错误,如果它与selenium有关的话。不过我可能错了。嗨@argo,我认为GStreamer似乎有问题。请尝试在about:config页面上将media.GStreamer.enabled pref设置为false抱歉,如果这个问题看起来很愚蠢,但我不太确定about:config页面在哪里,我需要进入吗
在服务器上安装firefox的位置?因为当测试脚本调用firefox时,我纯粹是通过服务器上的cmd行运行firefox。@arg0您已打开firefox并转到“关于配置”页面,并将media.gstreamer.enabled设置为false。请参考上面的屏幕截图。我认为我无法打开窗口,因为我试图在服务器上运行firefox。我不能让它显示一个窗口。