标签:python3 time main gpo site eal __name__ efault block
selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了。
环境必备:
1.BeautifulReport下载地址:BeautifulReport
2.下载方法:
git clone https://github.com/TesterlifeRaymond/BeautifulReport
3.下载完之后,把BeautifulReport整个包放到python的/Lib/site-packages/目录下
1.项目结构:
case test开头的.py用例脚本
report 放生成的html报告
run_all.py 用于执行全部脚本
2.单个测试脚本test_a.py参考
# coding:utf-8 import unittest from selenium import webdriver import time class Testaa(unittest.TestCase): u‘‘‘测试用例a的集合‘‘‘ @classmethod def setUpClass(cls): cls.driver = webdriver.Firefox() def setUp(self): self.driver.get("https://www.cnblogs.com/yoyoketang/") def test_01(self): u‘‘‘用例1:用例1的操作步骤‘‘‘ t = self.driver.title print(t) self.assertIn("悠悠", t) def test_02(self): u‘‘‘用例2:用例2的操作步骤‘‘‘ t = self.driver.title print(t) self.assertIn("悠悠", t) def test_03(self): u‘‘‘用例3:用例3的操作步骤‘‘‘ t = self.driver.title print(t) self.assertIn("悠悠", t) @classmethod def tearDownClass(cls): cls.driver.quit() if __name__ == "__main__": unittest.main()
3.run_all代码
# coding=utf-8 import unittest from BeautifulReport import BeautifulReport import os from tomorrow import threads # 获取路径 curpath = os.path.dirname(os.path.realpath(__file__)) casepath = os.path.join(curpath, "case") if not os.path.exists(casepath): print("测试用例需放到‘case’文件目录下") os.mkdir(casepath) reportpath = os.path.join(curpath, "report") if not os.path.exists(reportpath): os.mkdir(reportpath) def add_case(case_path=casepath, rule="test*.py"): ‘‘‘加载所有的测试用例‘‘‘ discover = unittest.defaultTestLoader.discover(case_path, pattern=rule, top_level_dir=None) return discover @threads(3) def run(test_suit): result = BeautifulReport(test_suit) result.report(filename=‘report.html‘, description=‘测试deafult报告‘, log_path=‘report‘) if __name__ == "__main__": # 用例集合 cases = add_case() print(cases) for i in cases: print(i) run(i)
4.报告效果图
备注:BeautifulReport是某大神在github分享的框架,这里借花献佛了,更多使用方法参考地址:https://github.com/TesterlifeRaymond/BeautifulReport
selenium+python自动化91-unittest多线程生成报告(BeautifulReport)
标签:python3 time main gpo site eal __name__ efault block
原文地址:https://www.cnblogs.com/jason89/p/8998199.html