7

当我使用 capybara-webkit 测试我的网站并截屏时,CSS 中的 @font-face 声明被忽略。

这尤其糟糕,因为我使用的是 FontAwesome,因此页面在真实浏览器中的显示方式会有很大差异。

如何重现:https ://gist.github.com/anonymous/4948827

输出:http: //i.imgur.com/5lsrleY.jpg

有没有什么办法解决这一问题?

4

2 回答 2

1

一些研究表明,完全可以在 Capybara-Webkit 中呈现自定义字体,与使用 PhantomJS 相同。这个PhantomJS 论坛帖子确定了问题。快速总结:

  1. SVG 字体效果最好。
  2. OTF 字体往往不起作用。
  3. 它应该使用 Qt5 修复,因此请检查您构建的 Qt 版本。
于 2014-01-03T12:20:36.383 回答
0

根据构建的版本qtcapybara-webkitwebkit 需要将非 localhost url 列入白名单。这包括对外部资产(如字体)的元引用。

要在全局范围内实现这一点,请将其添加到 rspec 配置块中的 spec_helper.rb 中:

config.before(:each) do
  page.driver.allow_url("the-domain-name.com")
end

如果你已经有一个 before :each ,只需把它扔在那里。allow_url也接受一个字符串数组。

为此,我在您的要点中发表了评论。

于 2015-02-13T22:38:57.547 回答