【发布时间】:2024-05-16 09:40:02
【问题描述】:
我正在结合使用 watir-webdriver 和 chromedriver(在 Mac OS X 上)进行可视化测试。一旦它开始工作,我就切换到使用 PhantomJS 进行无头测试。
def browser_init
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = @browser_timeout
case @browsing_type
when 'visual'
@b = Watir::Browser.new :chrome, :http_client => client
when 'headless'
@b = Watir::Browser.new :phantomjs, :http_client => client
end
end
这是我的问题和问题。我测试的一些网页要么完全以 PDF 格式存储(并且 URL 以 .pdf 结尾),要么包含嵌入的 PDF 内容。这些网页在 :phantomjs 的情况下没有正确反映:它们的 @b.title 或 @b.url 指向之前访问过的页面。在 :chrome 的情况下,pdf 页面的此信息是可访问的,因此可验证以用于测试目的。
由于 PhantomJS 以生成网页 PDF 截图的能力而闻名,我怀疑它无法在网络上打开 PDF 页面。
我是否正确理解 PhantomJS 没有 PDF 插件,还是我做错了什么?在任何一种情况下,我都将非常感谢有关 PDF 页面无头测试的任何建议。
【问题讨论】:
-
这似乎是不可能的,我怀疑 PhantomJS 2 会改变它。虽然,我还没试过。
-
谢谢,ArtjomB。!你知道任何其他可以工作的工具吗?无头/Xvfb 呢?我知道这个不应该在 Mac 上运行,但我可以选择切换到 Linux 平台。
-
不,我不知道其他人。您将不得不使用 xvfb。
标签: pdf phantomjs watir-webdriver headless