问题背景:在Linux服务器Docker环境下跑WebUI脚本
在Linux服务器Docker环境下跑WebUI脚本,发现在Web页面测试附件上传问题总是找不到文件,同样的脚本在本地Windows环境下跑脚本是可以成功的,问题找不到思路和方案,后来一步步排查才知道问题的根源卡在哪里了,请看下图
脚本报错:
理清了下思路,在宿主机上跑UI自动化脚本是浏览器容器在跑,所以在跑附件上传时候是在容器里面来找路径,而不是宿主机里面,所以问题就卡在这里:
解决思路:
方案一:Jenkins持续集成创建job拉取代码后,将想要做文件上传的目录直接copy到指定的浏览器docker容器里面的某个路径下,然后将代码里面文件上传的upload()方法的路径指明docker的路径即可。
方案二:每次构建的时候,我写个shell脚本,然后来创建容器,做路径映射,然后每次保证用你这个新启动的浏览器
我们以方案一为例子:
1.用存在的镜像madehao/selenium-node-chrome:latest来创建容器,并命名容器的NAMES为chrome74_jiawenheng
查看镜像:docker images