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

具有下载功能的无头浏览器测试?

罗飞宇
2023-03-14
问题内容

我一直在寻找在osx中​​进行无头测试的解决方案。但是我需要能够保存服务器返回的文件。

我已经测试了selenium,phantomjs,casperjs,并研究了可以在网上找到的任何东西。

他们都不支持下载。我错过了什么吗?有没有无头的浏览器/测试框架支持下载?


问题答案:

您可以做的是:

  • 启动 虚拟显示 (请参阅Xvfb)
  • Firefox使用配置为 自动保存 文件的 首选项启动浏览器 csv

__带有附加注释的python中的 工作示例
(使用pyvirtualdisplay
xvfb包装器):

from os import getcwd
import time

from pyvirtualdisplay import Display
from selenium import webdriver

# start the virtual display
display = Display(visible=0, size=(800, 600))
display.start()

# configure firefox profile to automatically save csv files in the current directory
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")

browser = webdriver.Firefox(firefox_profile=fp)
browser.get('http://www.nationale-loterij.be/nl/onze-spelen/lotto/resultaten')

# check the option
browser.find_element_by_id('corporatebody_3_corporategrid93961a8f9b424ed6bd0697df356d9483_1_rblType_0').click()

# click the link
browser.find_element_by_name('corporatebody_3$corporategrid93961a8f9b424ed6bd0697df356d9483_1$btnDownload').click()

# hardcoded delay for waiting a file download (better check for the downloaded file to appear on the disk)
time.sleep(2)

# quit the browser
browser.quit()

# stop the display
display.stop()


 类似资料:
  • 问题内容: 我将扮演一个恶魔的拥护者片刻。我一直想知道为什么将浏览器检测(而不是功能检测)视为一种不好的做法。如果我测试某个浏览器的某个版本并确认该功能以某种可预测的方式运行,则可以决定对其进行特殊处理。这样做的理由是将来会万无一失,因为此部分浏览器版本不会更改。另一方面,如果我检测到DOM元素具有函数X,则不一定表示: 此功能在所有浏览器中的工作方式相同,并且 更重要的是,即使在所有未来的浏览器

  • 问题内容: 我想在无头模式下为所有3种浏览器Chrome,Firefox和IE运行脚本 以下是Chrome的代码: 注意:其工作正常 Firefox: 注意:其工作正常 IE浏览器: 同样,我想在IE中使用选项执行 问题答案: IE不支持无头模式(因为如今IE尚未接受任何形式的更新或改进。)。 但是您可以使用trifle.js,这是一种浏览器,可以将其以无头模式模拟某些IE版本,因为它被编码为Ph

  • 本文向大家介绍IE浏览器下PNG相关功能,包括了IE浏览器下PNG相关功能的使用技巧和注意事项,需要的朋友参考一下 目前互联网对于网页效果要求越来越高,不可避免的用到PNG图片,PNG分为几种格 式,PNG8 PNG24 PNG32,其中最常用的,也是显示效果和大小比较适中的则是PNG24,支持半透明,透明,颜色也非常丰富,但由于咱们国人使用IE系列或以IE为内核系列的浏览器占大多数,并且由于 W

  • 问题内容: 目前,我正在查看Selenium Server,但似乎没有注意到支持无头浏览器测试的驱动程序。 除非我弄错了,否则它不支持。如果您使用的是X,则可以创建一个虚拟的帧缓冲区来隐藏浏览器窗口,但这并不是真正的无头浏览器。 谁能启发我?Selenium是否支持无头浏览器测试? 问题答案: 您无需使用PhantomJS替代Selenium。Selenium包括一个在GhostDriver平台上

  • 使用: Angular CLI在Chrome中默认运行测试,这很好,但是如果我需要在仅控制台环境(无头浏览器)中运行它们呢? 如果我可以在每次运行它时指定是否想要无浏览器,那就太好了,所以类似于: 编辑: 运行PhantomJS我得到了以下信息: PhantomJS 2.1.1 (Linux 0.0.0)错误类型错误:useValue,useFactory,数据不可迭代!http://localh

  • 问题内容: 我的目标是运行来自Jenkins的基于自动化的Selenium Webdriver,但是jenkins在构建作业时无法打开浏览器。所以我修改了代码以使其在无头模式下运行。自实施无头浏览器以来,存在一些大问题 可以在无头浏览器上处理端到端业务?导致端到端需要检查元素作为过程 如果无头浏览器无法处理,您有什么建议吗? 谢谢,我对自动化的集成程度很低 问题答案: 您无需更改代码即可在无头模式