最近在学习如何做UI自动化的时候加入无头模式去运行,也就是无界面运行,当然在这个过程自己也踩了很多抗,首先就是分享一下自己是在持续集成工具 jenkins 里面去创建了centos的节点去进行的,以下是我的环境
- python3.8+selenium+pytest
- 服务器使用的是阿里云 centos
- 创建的节点是 centos节点
遇到的坑点1
- 在将代码应用到 po (Page Object)模式里面,先去实例化了driver,然后才去进行添加无头模式,这样就导致我无论怎么去运行都一直是有界面的运行模式,这个坑点浪费了我很多时间,错误的代码如下:
- 从上图可以看到,我明显是先进行了实例化,然后才去添加的无头模式,这样是不可以的,就好比如:你先把车开走了,怎么装货呢?应该是先把货装到车上,然后才去开车是一个道理
遇到的坑点2
- 在我们日常学习当中,有这样一个场景,就是当你在配置好你的环境变量的时候,你需要将你的pycharm、cmd重新打开再去验证才可以,这个时候我们应用无头模式这里,我们可以去设置一个配置文件 .ini ,然后再去设置临时的环境变量,在代码中去读取我们设置的临时环境变量。相关的截图如下
图1
图2
注意:
- 如果你是 mac 或者Linux 系统, 你不需要去设置这个HOME临时环境变量,可以直接使用我上面的shell 脚本去查看
- 如果你是windows,你需要在你计算机的系统环境变量去设置,
除此之外,这里还有一个最需要注意的,不管你是mac、Linux、还是 windows,你都必须要将你设置的配置文件 .ini 移动到你的HOME临时环境变量里面,否则会一直报没有driver,如下图,这里自己亲自踩坑的坑点
- 如下图所示,我将配置.ini 文件移动到我的HOME路径下