# 截图服务器安装

SuccBI的缩略图生成是依赖单独的缩略图服务器完成的,该服务器需要进行单独的安装部署。

安装步骤:

# 安装Chrome浏览器

截图需要用到浏览器环境,需要安装Chrome浏览器。

  1. 可以通过访问这里 (opens new window)获取到对应操作系统的75.3770.80版本的chrome浏览器并进行安装。
  2. 或者点击这里 (opens new window),进入相应系统的目录下载安装。
  3. 对于linux系统中安装chrome,可以直接执行该shell脚本进行安装:chrome安装脚本

# 配置WebDriver

WebDriver是控制Chrome浏览器的驱动程序,从这里 (opens new window)获取到我们系统所使用的chrome的webdriver:chromedriver,下载完毕以后,对于不同的操作系统,需要做不同的处理:

  1. 对于windows系统:需要将chromedriver放在系统路径下,一般为c:\windows\system32
  2. 对于linux系统:一般需要将chromedriver放在/usr/bin/下,在chromedriver所属目录执行sudo mv chromedriver /usr/bin即可。

# 安装Selenium

根据需要,可以使用单机部署,也可以部署集群。首先需要安装jdk环境,至少需要jdk8环境,具体参见jdk环境安装

  1. 下载selenium-server-standalone (opens new window)
  2. 根据操作系统,从cmd或者bash进入它的目录,执行(将xxx.xxx.xxx.xxx替换为你的局域网IP地址)

java -Dwebdriver.chrome.driver="/path/to/chromedriver" -jar selenium-server-standalone.jar -role standalone -host xxx.xxx.xxx.xxx

当出现Selenium is up and running on port 4444即可成功。

# 配置截图服务器地址

系统设置 > 基本 > 外观设置 > 截图服务器地址 中配置截图服务器地址,详见截图服务器地址设置

# 问题排查

# Driver info: driver.version: unknown

错误信息:

2019-09-10 12:10:53.860 [pool-1-thread-16] ERROR c.s.m.s.i.t.MetaServiceThumbnailImpl - 生成缩略图出现错误:连接selenium服务失败
org.openqa.selenium.WebDriverException: Error forwarding the new session Error forwarding the request No route to host (Host unreachable)
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
System info: host: 'yk-mbp', ip: '192.168.13.140', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '1.8.0_202'
Driver info: driver.version: unknown
	at org.openqa.grid.web.servlet.handler.RequestHandler.process(RequestHandler.java:118)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:85)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)

排查:

  1. Selenium启动参数是否带上了:-Dwebdriver.chrome.driver="/path/to/chromedriver"

  2. 确保使用的是对应的平台的chromedriver,点击这里 (opens new window)进入相应系统的目录下载。

  3. 确保使用的chromedriver与chrome版本相对应,其中72版本后的chrome,只需要大版本号对应即可,71及之前版本对应关系请参照版本对照表。

    点击查看版本查询方法及版本对照表

    查看chromedriver版本:

    windows下运行chromedriver.exe、linux下运行./chromedriver,即可在运行信息中查看chromedriver版本,比如:Starting ChromeDriver 85.0.4183.83,则当前版本号为85.0.4183.83

    查看chrome版本:

    windows下:在chrome的设置 > 帮助 > 关于Google Chrome中,查看当前版本号

    linux下:运行google-chrome --version,即可获取当前chrome版本号

    版本对照表如下:

    chromedriver版本 chrome版本
    86.0.4240.22 86
    85.0.4183.87 85
    85.0.4183.83 85
    85.0.4183.38 85
    84.0.4147.30 84
    83.0.4103.39 83
    83.0.4103.14 83
    81.0.4044.138 81
    81.0.4044.69 81
    81.0.4044.20 81
    80.0.3987.106 80
    80.0.3987.16 80
    79.0.3945.36 79
    79.0.3945.16 79
    78.0.3904.105 78
    78.0.3904.70 78
    78.0.3904.11 78
    77.0.3865.40 77
    77.0.3865.10 77
    76.0.3809.126 76
    76.0.3809.68 76
    76.0.3809.25 76
    76.0.3809.12 76
    75.0.3770.90 75
    75.0.3770.8 75
    74.0.3729.6 74
    73.0.3683.68 73
    72.0.3626.69 72
    2.46 71-73
    2.46 71-73
    2.45 70-72
    2.44 69-71
    2.43 69-71
    2.42 68-70
    2.41 67-69
    2.4 66-68
    2.39 66-68
    2.38 65-67
    2.37 64-66
    2.36 63-65
    2.35 62-64
  4. /path/to/chromedriver是否是可执行的,Linux系统必须要:chmod +x /path/to/chromedriver

  5. 用浏览器访问Selenium地址,如http://192.168.3.151:4444/,看是否显示了正确的Selenium首页内容,其中包含版本信息,如Selenium Grid Hub v.3.141.59

  6. 确保系统设置 > 基本 > 外观设置 > 截图服务器地址正确设置,详见截图服务器地址设置

是否有帮助?
0条评论
评论