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

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

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

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

相关推荐
新时代牛马21 分钟前
Linux 磁盘管理:分区、文件系统、挂载与扩容
linux·运维·服务器
海宇数据1 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化残值评估网关
人工智能·python·架构·自动化
大树881 小时前
液冷系统的真正瓶颈,藏在那层不到1毫米的材料里
大数据·运维·服务器·人工智能·ai
yindeshuiketang1 小时前
企业FDE架构方法论到实战指南从想法到商业变现:需求·设计·技术·测试·运维·交付·变现-小红书&抖音 AI马教授 职场启航宝
运维·人工智能·架构
网硕互联的小客服1 小时前
没有公网IP,如何让外网访问内网服务器?
运维·服务器
布裘1 小时前
【银河麒麟】服务器系统开机黑屏故障排查与修复
linux·运维·服务器·银河麒麟·无法启动
凌风的跨境分享2 小时前
Temu店群运维提效:定时策略自动化任务全场景实操指南
大数据·运维·前端·人工智能·架构·自动化
Zenova EdgeOS2 小时前
Linux iotop:工业边缘 I/O 高级分析实战
linux·运维·服务器
Black蜡笔小新2 小时前
运维提效!视频汇聚平台EasyCVR视频质量诊断,掉线花屏自动预警
运维·安全·音视频
又見山2 小时前
Codex 实战:用 AI 写运维脚本
运维·人工智能