自动化中遇到的问题归纳总结

1、动态元素定位不到

解决方法:尽量使用固定元素定位,如没有固定元素,则采用绝对路径进行定位,因为元素路径是唯一且不变的

2、自动化脚本执行速度较慢

尽量使用css方法定位元素,使用等待时,少用sleep方法,尽量不用隐式等待,涉及到一些if elif条件判断时,尽量把可能发生的条件放在前面写,这样可以减少程序判断的次数,提高效率

3、弹框内有按钮点击不到

解决方法:弹框里面有设置滚动条,首先进入弹框里面,将滚动条滑动到最底部才可以点击确定或者取消按钮

4、报错

启动后,打开谷歌浏览器,不出现内容,报浏览器不安全|data

解决方法:webdriver-chrome版本升级

5、元素没有加载出来

因为时间等待原因:显示等待(只匹配目标元素),隐式等待(等待页面加载完成),强制等待

6、定位的元素是随机变化的

解决方法:通过元素xpath或者css来定位

7、iframe或frame处理

解决方法:在元素定位过程中,如果出现了<frame>或者<iframe>标签,说明该页面中嵌套了一个新的页面,该页面内的元素无法直接定位。因此,在定位新页面元素之前,我们需要先执行driver.switch_to.frame()方法,切换到该frame下面,再对该frame下的元素进行定位和操作;如果想操作该frame以外的元素,可以通过driver.switch_to.parent_frame()方法切换到上一级frame。

8、出现"object is not iterable"

解决方法:

  1. 首先查看脚本,测试用例出现问题

  2. 组织用例时出现错误(我开始是用for循环遍历y,加入测试集合中,返回集合,老是会出现错误,最后改成下方代码,直接返回y,解决问题)

9、出现"Indentation Error"

是语法问题,脚本代码没有正确对齐

10、使用PO设计模式封装的页面元素类

都有初始化函数"init"

11、页面元素调用Page类时候

Page函数,后面括号的"self"不用写

12、Page的初始化包含(self,driver)两个元素

在页面封装类中,初始化中调用方式为Page.init(self,driver)

13、类中定义变量

比如x="hello",调用使用:self.x

14、在测试用例调用自己页面封装的类时

经过实例化后po=Lzsp(driver),定义函数时候, 不需要再括号中写self

15、打印输出时显示"not all arguments curerted during string format"

是说明前后参数不对应:%前面是一个"%s",而后面的参数是("xy","xy")两个。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
追风赶月、几秒前
【Linux】线程概念与线程控制
linux·运维·服务器
CP-DD14 分钟前
Docker 容器化开发 应用
运维·docker·容器
霍格沃兹测试开发学社测试人社区2 小时前
提升软件测试报告的质量:Allure2中添加用例失败截图、日志、HTML块和视频的方法
软件测试·测试开发
努力的悟空2 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化
幽兰的天空2 小时前
默语博主的推荐:探索技术世界的旅程
学习·程序人生·生活·美食·交友·美女·帅哥
Rstln2 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
周末不下雨3 小时前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
耗同学一米八4 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络
东华果汁哥4 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
肖永威5 小时前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos