测试APP
框架一:python+appium+unittest
appium是对selenuim的封装,其中使用的是get_screenshot_as_base64 方法获取页面截图的base64编码,故而框架使用时,生成的报告可进行自动捕捉异常,并进行截图放在报告里,具体可参考: https://github.com/GoverSky/HTMLTestRunner_cn文档进行报告完善,引用的报告是HTMLTestRunner,报告样式较为传统大概为:
框架二:python+uiautomator2+unittest
UiAutomator本是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。之后为了适用python语言,故在手机上运行了一个http rpc服务,将uiautomator中的功能开放出来,然后再将这些http接口封装成Python库为了区分称之为:uiautomator2,该框架与selenium完全不同,要在报告中包含截图的话,需要引用 BeautifulReport, BeautifulReport是对HTMLTestRunner的二次封装,报告样式好看,但截图是给需要截图的案例上加上@BeautifulReport.add_test_img('案例名称'),不能自动进行捕捉,因为该框架中没有支持base64的截图方法,且上个案例的截图图片会自动赋给下个案例,目前网上无解决方案,报告样式大概为:
故,综合以上结论:
- app的接口自动化测试报告用: BeautifulReport,接口不需要截图,且页面展示较为好看,如果需要部署的jenkins上面的话还是使用HTMLTestRunner,因为jenkins上不支持BeautifulReport,无法显示报告内容
- app的界面自动化测试,用HTMLTestRunner界面的截图的增加有助于追踪问题
测试web
框架python+selenium+unittest
- 同样的测试接口用: BeautifulReport,界面显示较为好看,但要部署到jenkins上面的话还是使用HTMLTestRunner,原因同上
2.界面化测试的话,用HTMLTestRunner界面的截图的增加有助于追踪问题