2013-02-13 3 views
7

capybara-webkit을 사용하여 웹 사이트를 테스트 할 때 스크린 샷을 찍을 때 CSS의 @ font-face 선언은 무시됩니다.Capybara-Webkit의 @ font-face 글꼴 표시

FontAwesome을 사용하고 있기 때문에 이것은 특히 나쁩니다. 따라서 실제 브라우저에서 페이지가 어떻게 표시되는지에 큰 차이가 있습니다.

어떻게 재현 : https://gist.github.com/anonymous/4948827

출력 : http://i.imgur.com/5lsrleY.jpg

이 문제를 해결하기 위해 어떤 방법이 있나요?

+0

아무 문제없이 성공 했습니까? – luckyjazzbo

답변

1

capybara-webkit가에 내장되어 qt의 버전에 따라 웹킷은 화이트리스트가 아닌 로컬 호스트 URL을 필요로한다. 여기에는 글꼴과 같은 외부 자산에 대한 메타 참조가 포함됩니다.

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

당신이 전에있는 경우 : 각 이미, 그냥 대신에 그것을 던져

는이 RSpec에 구성 블록에 spec_helper.rb이 추가, 전 세계적으로 일어날 수 있도록합니다. allow_url은 문자열 배열을 받아들입니다.

본인의 취지에 의견을 말했습니다.

+0

이 화이트리스트는 잠시 동안 있지만 Qt가 경고를받는 것으로 생각합니다. 그러나 qt5는이 솔루션을 표시합니다. – IAmNaN

1

일부 연구에 따르면 PhantomJS와 마찬가지로 Capybara-Webkit에서 사용자 지정 글꼴을 렌더링 할 수 있습니다. 이 PhantomJS Forum Post은 문제를 식별합니다. 간략한 요약 :

  1. SVG 글꼴이 가장 효과적입니다.
  2. OTF 글꼴이 작동하지 않는 경향이 있습니다.
  3. Qt5로 수정해야하므로 빌드 한 Qt 버전을 확인하십시오.