软件测试第一次进行自动化项目实训,坑很多,收获也很多,大家一起来踩坑啊!

2021-05-27 19:20发布

哈喽大家好,这里呢,是几个测试小白第一次进行自动化测试,具体的就不啰嗦了,反正我的团队都是娘子军,你们懂...联系方式我都有。好了!接下来介绍一下我们小组在这次自动化测试中每个人遇到的问题和解决方式,组长很懒,每个人的模块是它们原话,理科生***请大家谅解。

(一)小仙女本人

在最后支付时,打开了新窗体,起初一直在第一个窗体定位并且编写代码,但一直不成功,之后开始拍错,排除了定位方法之后,才想起来要切换窗体,最终终于解决了,代码也跑通了。开心!

定位时文本是数字,但是是字符串形式,我要处理的是数字的加减运算,起初在定位到的文本那里进行数字类型,但是尝试很多次,一直在报错,去掉转数据类型,去除获取文本的操作,等等等等...但最终还是在出错,最终,我打开了百度,没有给我答案,经过和同桌讨论,忽然意识到我获取的文本转换成数字之后是有小数点之后的,尝试了flaot类型转换,最终成功了。开心!

进行注册测试时用户名和邮箱不能重复,是随机的,最初我写代码时,是写死的,第一次运行没有发现问题,第二次运行跑不通,问了老师之后知道这两个输入框要输入时随机不重复,后来通过导入random模块,通过数字,字母随机选择,和循环拼接,最终解决了问题。开心!

第一次进行流程测试时很麻烦,包括地址也要一点点填写,下一条用例填写时用的是同一个账户,发现不需要原则配送方式和支付方式了,给了我想法,我手动在这个账号上进行了保存收货地址和支付方式和配送方式,在后面的测试用例中,如果测试点不是这些点,可以省略很多步骤和避免出现没有必要的错误。开心!

(二)小仙女二号

元素定位不到

解决:先查看定位方法是否有误(尤其注意element还是elements);再看有无产生新窗体

什么样的代码最好封装在模块里

经常被调用,可以独立运行

调用属性和方法时,必须保证属性和方法封装在类里,在类外无法调用

代码排除错误的顺序:定位错误代码——解读错误原因——更改错误代码——重新运行代码

 

(三)小仙女三号

Xpath元素与属性结合定位时,元素传入参数时,不能直接传入参数,要使用展位的方式

一些个别元素在使用自己的属性定位时,可能找不到,因为在其他的元素中,可能会有相同的属性

有些弹出的框可能本身就不是弹出框,要判断正确

在页面跳转时,可能会出现新的页面,在定位元素时如果定位不到,要判断是否出现了新的弹出框

 

(四)小仙女四号

id属性的情况下尽量用id定位,其他定位方式可能定位不到,有弹框的情况下要考虑是不是真的弹框,如果是再用处理弹框的方法,不是直接定位即可, 多次重复使用的代码可以但对放在一个模块封装在类里,通过函数调用的方法使用

 

(五)小仙女五号

webdriver自动化运行中有时候用绝对路径定位方式不到,想要找的元素,这一点很不友好呀,因为在使用绝对路径定位时,不仅可以省时省力,最重要的是不用动脑子呀,直接复制粘贴,就OK啦,嘿嘿,说这话,真的一点都不严谨哈!正经的忠告来了啊!在这次iwebshop项目中,真正的感觉到了,时时刻刻保持12分精神,为啥呢,因为你可能因为一个小小的符号,或者一个很熟悉的单词而放过它,最后造成自己半个多小时坐那默默的排错,真的是写代码两分钟,排错两小时。

 

(六)小仙女六号

这种框看似是一个警告框,其实并不是,定位的时候可以直接用标签里面的id或者name值来定位,如果都没有,再考虑用路径来定位

 


 

 

要在新的测试用例中调用webdriver,而webdriver已经封装在模块中,在测试用例里无法像正常情况下直接导包调用,需要封装在模块的init

 

自动化操作的时候,虽然设置的sleep,但是依然很难让系统停下来

 

 

 

 

我没有进行总结,保证了每一个组员的“原生态”,可能有些是重复的,也请大家见谅呀!总归这个文章发表后,我的任务也结束了(哈哈哈)

撒花!!!!!!!!