当前位置: 首页 > 面试题库 >

selenium和无头环境

柴瀚
2023-03-14
问题内容

我最近在Red Hat Server上安装了Python 2.7,Robot Framework和Selenium
Library(我仍然不知道我是否成功…),以便在Web应用程序上运行一些测试。

因此,我尝试使用Robot Framework进行一个简单的测试用例,以查看Selenium Library是否起作用,只是打开一个网页,仅此而已…

Selenium Server根据ps的结果启动并运行,并且Firefox二进制文件位于PATH中。

从机器人框架(使用pybot testcasename.tsv)运行测试用例时,出现异常:

错误:捕获屏幕快照到字符串的问题:java.awt.AWTException:无头环境

那么,什么是 无头环境 ?是否有人知道是否还需要安装或配置其他东西?


问题答案:

使用X虚拟帧缓冲区(Xvfb):

我们可以使用xvfb为硒创建无头环境(例如,通过SSH运行)。

说明:

  1. xvfb以下选项开始:

$ Xvfb :89 -ac -noreset

(在哪里:89创建了虚拟的“显示”)。

  1. 然后,将DISPLAY变量设置为此虚拟显示:

$ export DISPLAY=:89

  1. 此时,我们可以根据需要运行selenium服务器。示例如下。

运行服务器Java归档文件:

$ java -jar selenium-server.jar

在Python中:

from selenium import webdriver

driver = webdriver.Firefox()
...


 类似资料:
  • 问题内容: 我正在使用python-selenium和Chrome 59,并尝试自动执行简单的下载序列。当我正常启动浏览器时,下载有效,但是当我以无头模式运行时,下载不起作用。 我什至尝试添加默认路径: 在常规实现中,添加默认路径是可行的,但是无头版本仍然存在相同的问题。 如何使下载以无头模式开始? 问题答案: 是的,这是安全的“功能”。如前所述,这里是Bug讨论:https : //bugs.c

  • 问题内容: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.common.exceptions import StaleElementReferenceException, TimeoutException from selenium.webdriver.support

  • 问题内容: 我想无头运行Firefox。 Firefox不隐藏浏览器窗口或在虚拟桌面中打开它,而是通过使用“ -headless”标志来支持无头模式。 问题是我知道如何在Chrome中执行此操作,但在Firefox中却不行。 我的代码: 我的WinForm应用程序只有一个名为StartBtn的按钮。单击该按钮后,Firefox应该无头运行,但会在正常窗口中打开。 更新 我将firefox更新为56

  • 问题内容: 我正在尝试无头运行Selenium(不显示浏览器)。其他问题已指出是执行此操作的工具。但是,它似乎非常不稳定,一直崩溃,因此我正在寻找另一种选择。 有没有非Xvfb方式运行Selenium的方式吗? 问题答案: 我认为您不运行X服务器就无法运行浏览器。 如果您不喜欢Xvfb,那么正如Pascal所说,最好的选择可能是运行VNC服务器- 我个人喜欢Xtightvnc。这意味着您正在运行一

  • 问题内容: 我正在尝试遵循Selenium Webdrive教程 http://www.toolsqa.com/selenium-webdriver/headless-browser-testing-selenium- webdriver/ 有一个简单的测试,这里是步骤: 开启网页http://google.com 获取页面标题。 搜索“ Selenium” 再次检查页面标题。 从类代码示例开始,

  • 问题内容: 我遇到了一个问题,我们的一个站点一直在云浏览器中以无头模式请求验证码,因此我将其切换为无头,以便我自己输入验证码,我想下一次会工作,也许是因为一些cookie已经被存储了,但是即使我多次输入验证码也没有。 还值得一提的是,无论在哪种模式下,它都可以在本地正常运行,对于非自动化版本,它在云中也可以很好地运行,但是一旦我在Selenium上以任何模式运行它,它就会不断要求验证码。任何想法可