各位小伙伴们,大家好,今天给大家带来的是关于自动化测试常见的三大问题及解决方案,希望给遇到这三大问题的你一些帮助
一,就是我们定位元素的时候,定位不到或有时定位得到,有时定位不到。
特别是喜欢复制粘贴xpath路径的小伙伴们来说老是出现这个问题。我们来分析一下为什么会出现这种情况,然后我们就知道怎么解决这个问题了。
会出现这个定位不到元素的情况,因素有很多个,需要我们一一排查。有服务器的问题,有动态id问题,有元素属性问题,有iframe问题,有页面操作逻辑问题,当然也有你自己写错问题。
服务器问题最有可能出现有时能定位,有时定位不到的问题,你定位到了是因为服务器已经把元素返回到客户端了,你就定位到了。你定位不到,是因为你运行你的自动化测试脚本的时候,服务器还没有把你需要定位的元素返回到客户端,所以你定位不到,这种情况我们可以采取多等待元素出现的时间或判断元素是否出现再去定位。
如果你是通过id去定位的,那么要关注一下这个id是否是动态的,如果是,那么就换别的定位方法去定位,最快解决这个问题。
还有一种情况,这个元素在你定位的时候是隐藏的,这样你也定位不到。Iframe的问题是你没有切换进入iframe中,这种情况比较容易发现。
页面操作逻辑问题也会让你定位不到元素,也就是说必须要先出现其他元素或你要先操作一些步骤,你需要定位的元素才能出现,还有一种情况,你直接复制xpath,得到的是绝对路径,然后运行的过程中这个路径无效了,你也定位不到元素。
二、兼容性问题
你编写的自动化测试脚本用在用火狐浏览器打开的网站进行测试没有问题,但遇到用谷歌浏览器打开的网站进行测试就出现了问题。
这种情况就是你的自动化测试脚本中没有深层次的区分判断浏览器的品种问题,这个需要你仔细分析2种浏览器带来的不同地方,然后针对性的修改你的自动化测试脚本,在脚本中多写预判,多写容错机制。
三、封装定位函数的时候,定位不了元素了,单独拿出来可以定位,一封装到函数中,就定位不了。
这种情况大部分是参数输入到函数中被改变了,参数来一段字符串,然后进入到函数内,发现这个字符串变了,特别是直接把定位元素某个值,直接传入到参数中,特别容易出问题。建议定义变量储存这个字符串,然后通过变量传递到函数内,然后在函数内再次验证这个字符串,如果ok再进行元素定位,如果不ok,就要想办法处理字符串,处理成你想要的结果。
【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!