Selenium 3及Docker环境踩坑记录
问题:Selenium Docker环境下执行超时
Selenium2的hub&node镜像下执行脚本时经常碰到Session was terminated due to TIMEOUT
解决方法:虽然网上有些资料说可以修改启动参数,但似乎Selenium2无法支持修改TIMEOUT参数。只能用Selenium3的hub&node,然后配置参数。如果是通过docker-compose启动,可以加环境变量GRID_TIMEOUT,根据脚本可能页面无操作的情况有多长来设置,设置得尽量大一些(单位:毫秒)。如果是一次性的修改,可以用Kitematic查看Hub的参数,在settings tab修改GRID_TIMEOUT的值后保存,过两秒之后在Home tab就可以看到更新后的timeout生效了。
问题:selenium升级到3之后, RIDE执行的时候报如下错误“RobotFramework Installation not found”.
解决方法:pip install –upgrade robotframework-selenium2Library这个命令会将robotframework升级到3.1.X.解决办法是将robotframework降到3.0.
pip uninstall robotframework
pip installrobotframework==3.0
问题:Selenium3升级后本地执行老的脚本失败
解决方法:由于Selenium3部分关键字更改,有的甚至不兼容(例如GetElement Attribute),从1个参数改成2个参数了,需要及时更改脚本。大部分是warning的关键字修改,可以看到执行报的warning之后批量修改。
问题:Selenium3升级后本地执行脚本时报Unableto find a matching set of capabilities
解决方法:升级本地Firefox到高版本