我们有一个自动化项目,用硒webdriver和红宝石(水豚)开发。 我们在测试用例失败时收集截图。当我们在本地机器上运行案例时,屏幕截图完全正常。但是当我们在远程计算机上运行它们时,我们面临着屏幕截图上的字符编码问题。 你有任何想法解决这个问题吗?
示例截图:
Chromedriver版本:2.38.552522
Chrome版本:Google Chrome 66.0.3359.139
远程机器:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
驱动程序配置:
Capybara.default_driver = :headless_chrome
Capybara.javascript_driver = :headless_chrome
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, browser: :chrome)
end
Capybara.register_driver :headless_chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument 'headless'
options.add_argument 'disable-gpu'
options.add_argument 'disable-popup-blocking'
options.add_argument 'no-sandbox'
Capybara::Selenium::Driver.new app, browser: :chrome, options: options
end
收集截图:
page.save_screenshot('testResults/report_smoke_mobile/screenshot_'+scenario.name+'.png')
答案 0 :(得分:0)
将解放字体安装到docker image修复了问题
yum -y install liberation-*
答案 1 :(得分:0)
将字体安装到docker镜像。这对我有用!
yum groupinstall -y Fonts