Selenium支持无头浏览器testing吗?
目前我在看Selenium Server,而且我似乎没有注意到支持无头浏览器testing的驱动程序。
除非我错了,否则不支持。 如果你在X上,你可以创build一个虚拟的framebuffer来隐藏浏览器窗口,但这不是一个真正的无头浏览器。
任何人都可以启发我吗? Selenium支持无头浏览器testing吗?
您不必使用PhantomJS作为Selenium的替代品。 Selenium包含一个PhantomJS webdriver类,它在GhostDriver平台上运行。 只需将PhantomJS二进制文件安装到您的机器上。 在Python中,你可以使用:
from selenium import webdriver dr = webdriver.PhantomJS()
和瞧。
WebDriver API支持HTMLUnit作为testing的浏览器。 ruby人一直在使用水豚为他们的无头seleniumtesting,所以它肯定是可行的。
我知道这是一个老post。 认为这将有助于其他人正在寻找答案。
您可以使用XVFB在任何Linux发行版中安装完整的firefox。 这确保您的testing是在真实的浏览器中执行的。 一旦你进行了无头设置,你可以使用你select的webdriver来连接和运行testing。
无头浏览器是一个坏主意。 他们给你一些testing,但不像真正的用户会看到什么,他们掩盖了很多只有真正的浏览器遇到的问题。 在无头环境下( 例如 ,Windows或带有XVFB的Linux),使用“头部”浏览器( 即 ,除HTMLUnit以外的任何内容)无疑会更好。
我注意到你说使用X framebuffer不是一个真正的无头的解决scheme,但是,对于大多数,我认为这是可以接受的。 除此之外,如果您有兴趣将此作为解决scheme,则此服务将有助于帮助您。
是的,selenium支持无头浏览器testing…但我发现HTMLUnit大多数时候失败…我正在寻找一种替代scheme… PhantomJs真的很好,你可以肯定地试一试它是非常快的,当与其他浏览器这对烟雾testing非常有用
用ruby和macOS: brew install phantomjs
然后:
driver = Selenium::WebDriver.for :phantomjs
Selenium以某种方式支持无头浏览器testing。 Docker Selenium由SeleniumHQ维护。 这些docker集装箱开箱即用的xvfb支持。 PhantomJS等工具可以与Selenium连接。 但是,它并没有得到Selenium的正式支持。
就像其他人所描述的一样,PhantomJS并不是真正的推荐。 Selenium的重点是自动化浏览器。 但为什么自动化浏览器没有人使用? 我从来没有理解开发人员经常忽略这种情况。