现象
在执行web自动化测试时,运行无头模式时,测试报告往往会报错,但是在正常模式下运行是没有报错的。
原因
无头模式下,前端的js
脚本有的会不完全加载,具体表现为一个元素的类在浏览器检查时会变为class=aaa show
但是在无头模式下,这个元素依旧为class=aaa
并没有通过js
脚本改变了元素的属性。
解决
- 尽量在定位时,少采用因为
js
脚本导致元素属性变化而产生的临时唯一性,作为定位的依据。 - 在自动化脚本编写完毕后,进行无头模式运行一遍,确保无头浏览器下的稳定性。