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

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,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

相关推荐
AOwhisky8 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238568 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白668 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636999 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
想吃火锅10059 小时前
【leetcode】14.最长公共前缀js
算法·leetcode·职场和发展
aosky10 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器10 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz11 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
RisunJan11 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
Teacher.chenchong12 小时前
AI-Agent2.0 科研全链路实战营:LLM+NotebookLM + 自动化编程 + 文献管理 + 论文写作,搭建本地科研智能体
人工智能·自动化