前言
之前的文章我们把重试和测试报告集成进来了,但是我们发现在实际的执行中,发现一些问题。本文带着你,一起去解决执行中的问题。带你搞定自动化测试框架搭建过程中的问题。
正文
一、对于失败重试次数的疑惑
在不同的地方,对于失败重试的默认值不一样,比如在BSTestRunner中两个地方的配置的默认是不一样的。
还有在MyResult中的配置也是不一样的,虽然正常的我们都应该知道这里肯定是没有问题的,但是统一我们该用配置文件统一控制。
即在config.py中增加trynumcommonnum的配。那么其他的代码都可以共用这里面的配置。
对应的其他地方的配置都一起改过来了。这样的话,没有传递失败重试测试的默认的都是3次。我们在入口的地方,可以根据不同项目做定制化,那么我们这个项目想要默认三次,那么我们可以在调用的地方不用传递。但是可能有些项目有特殊的要求,比如A项目需要用8次,那么我们可以在配置值文件中增加一个配置参数控制。runprojecttrynum=8
在实际调用的地方我们传递这个配置。我们调用的地方是在run方法中,即
这样我们就可以 根据不一样的项目去配置我们的参数即可。
二、测试用例执行完毕,测试用例执行失败了,如何去调试呢。
我们看下测试用例给的失败
仔细看看我们的代码,没有发现问题,但是我们看下appium的日志,
2021-05-22 06:26:20:523 [W3C] Encountered internal error running command: Error: Could not acquire lock on /var/folders/js/0g27g4wn01gctzxvfyk781mm0000gn/T/uia2_device_port_guard. Original error: Error: EEXIST: file already exists, open '/var/folders/js/0g27g4wn01gctzxvfyk781mm0000gn/T/uia2_device_port_guard'
2021-05-22 06:26:20:523 [W3C] at guard (/usr/local/lib/node_modules/appium/node_modules/appium-support/lib/util.js:477:13)
看着报错,是文件已经存在了,那么我们把目录下面的文件删除就可以解决这个问题了。打开文件目录然后delete即可。然后我们再去执行。这样就不会报错。执行完毕的测试报告如下:
测试报告
最新代码已经提交
https://gitee.com/liwanlei/appiumdemo
后记
发现问题,解决问题。遇到问题,慢慢解决问题即可。
欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识