• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

UI自动化实战进阶后续

python Huny 2695次浏览 0个评论

前言

最近几天因为回老家的缘故,暂时没空学习和记录,好不容易抽空那就赶紧开始后面的实战。
前面我们已经基本完成了测试的框架,并且也有了PO设计模式,后面我们还缺少什么呢?做为自动化测试最主要的测试报告我们是不是还没有,所以今天主要是要集成测试报告。

安装

Unittest测试报告虽然没有自带的测试报告,但是已经有了第三方的测试报告HTMLTestRunner。不过它只支持python2,对于python3可能需要下载后修改文件部分地方进行适配。不过好在已经有人
也解决了这个问题,更新了HTMLTestRunner-python3版本
下载地址:https://pypi.org/project/HTMLTestRunner-Python3/#files
下载后解压出一个HTMLTestRunner.py的包然后放在项目的lib目录下
UI自动化实战进阶后续
UI自动化实战进阶后续

编码

#run_test_report.py
import unittest
from lib.HTMLTestRunner import HTMLTestRunner
import os
import time

if __name__ == '__main__':
    path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'test_blog_case')
    suite = unittest.defaultTestLoader.discover(path, pattern='test*.py')

    project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    report_dir = os.path.join(project_root, 'report')
    current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
    report_abspath = os.path.join(report_dir, "HTMLReport_{}.html".format(current_time))
    with open(report_abspath, 'wb') as f:
        runner = HTMLTestRunner(stream=f,
                                title='自动化测试报告',
                                description='用例执行情况',
                                verbosity=2
                                )
        runner.run(suite)

运行

运行后自动生成一个测试报告的目录,并且测试报告一并生成。这样我们的测试框架就集成生成测试报告的能力了。
UI自动化实战进阶后续
UI自动化实战进阶后续

扩展

测试报告已经生成了,如果有追求完美的朋友那么我们可以替换一个更漂亮的测试报告模板,或者进行汉化。
如果能力强的请自行进行二次开发,那么后面的教程可以忽略。
下载地址: https://github.com/TesterlifeRaymond/BeautifulReport
下载后解压到lib目录下,然后调整上面的代码

#run_test_report.py
import unittest
# from lib.HTMLTestRunner import HTMLTestRunner
from lib.BeautifulReport.BeautifulReport import BeautifulReport
import os
import time

if __name__ == '__main__':
    path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'test_blog_case')
    suite = unittest.defaultTestLoader.discover(path, pattern='test*.py', top_level_dir=None)

    project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    report_dir = os.path.join(project_root, 'report')
    current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
    # report_abspath = os.path.join(report_dir, "HTMLReport_{}.html".format(current_time))
    # with open(report_abspath, 'wb') as f:
    #     runner = HTMLTestRunner(stream=f,
    #                             title='自动化测试报告',
    #                             description='用例执行情况',
    #                             verbosity=2
    #                             )

    result = BeautifulReport(suite)
    result.report(filename=current_time +'自动化测试报告',
                                description='用例执行情况',
                                log_path=report_dir
                                )
    # runner.run(suite)

一份漂亮的中文测试报告就生成了。
UI自动化实战进阶后续
WEBUI自动化测试框架主要的功能已经全部实现,后续的失败重跑、失败截图、多线程运行等一系列的如虎添翼的功能暂时就不再学习了,需要的请自行查阅资料并实现。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明UI自动化实战进阶后续
喜欢 (0)

您必须 登录 才能发表评论!

加载中……