文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python生成html报告

2023-01-31 01:48

关注

转自:http://blog.sina.com.cn/s/blog_893e15b70101fhg5.html

即将开始一系列的自动化项目实践,很多公共类和属性都需要提前搞定。今天,解决了测试报告的一些难题,参照了很多博文,最终觉得HTMLTestRunner非常不错,自己也研读了源码,可进行一些自定义的配置。
下面就说一些体会:
一、配置:
HTMLTestRunner看了源码才知道作者是:Wai Yip Tung.到底这是哪位大神就不做深究了,至少我很敬佩。
1、下载HTMLTestRunner.py文件:地址http://tungwaiyip.info/software/HTMLTestRunner.html
2、将该文件保存在python安装路径下的lib文件夹中。在文件中能import HTMLTestRunner成功,即配置成功。
注:如果失败,在项目中新建一个这样的文件也是可以的,只要达到能引入和使用就行。

二、使用
引入完成后,在调用测试文件中加入如下代码即可:
if __name__ == '__main__':
    testunit=unittest.TestSuite()   #定义一个单元测试容器
    testunit.addTest(element("test_find_element"))  #将测试用例加入到测试容器中
    testunit.addTest(element("test_search"))
    
    filename="./xxx.html"  #定义个报告存放路径,支持相对路径。
    fp=file(filename,'wb')
    runner =HTMLTestRunner.HTMLTestRunner(stream=fp,title='Report_title',description='Report_description')  #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
    runner.run(testunit) #自动进行测试

生成报告如下:
[转载]python <wbr>webdriver测试报告

element:单元测试类名
test_find_element:测试用例方法名
详细信息:测试用例方法中print的数据、出错后信息。

附上单元测试里的一些方法:
常用方法:
assertEqual(a, b)     a == b      
assertNotEqual(a, b)     a != b      
assertTrue(x)     bool(x) is True      
assertFalse(x)     bool(x) is False      
assertIs(a, b)     a is b     #python 2.7
assertIsNot(a, b)     a is not b    #python 2.7
assertIsNone(x)     x is None     #python 2.7
assertIsNotNone(x)     x is not None     #python 2.7
assertIn(a, b)     a in b     #python 2.7
assertNotIn(a, b)     a not in b     #python 2.7
assertIsInstance(a, b)     isinstance(a, b)     #python 2.7
assertNotIsInstance(a, b)     not isinstance(a, b)     #python 2.7

用于执行更具体的检查,如:

Method     Checks that     New in
assertAlmostEqual(a, b)     round(a-b, 7) == 0      
assertNotAlmostEqual(a, b)     round(a-b, 7) != 0      
assertGreater(a, b)     a > b     #python 2.7
assertGreaterEqual(a, b)     a >= b     #python 2.7
assertLess(a, b)     a < b     #python 2.7
assertLessEqual(a, b)     a <= b     #python 2.7
assertRegexpMatches(s, re)     regex.search(s)     #python 2.7
assertNotRegexpMatches(s, re)     not regex.search(s)     #python 2.7
assertItemsEqual(a, b)     sorted(a) == sorted(b) and works with unhashable objs     #python 2.7
assertDictContainsSubset(a, b)     all the key/value pairs in a exist in b     #python 2.7
assertMultiLineEqual(a, b)     strings     #python 2.7
assertSequenceEqual(a, b)     sequences     #python 2.7
assertListEqual(a, b)     lists     #python 2.7
assertTupleEqual(a, b)     tuples     #python 2.7
assertSetEqual(a, b)     sets or frozensets     #python 2.7
assertDictEqual(a, b)     dicts     #python 2.7
assertMultiLineEqual(a, b)     strings    #python 2.7
assertSequenceEqual(a, b)     sequences     #python 2.7
assertListEqual(a, b)     lists     #python 2.7
assertTupleEqual(a, b)     tuples     #python 2.7
assertSetEqual(a, b)     sets or frozensets     #python 2.7
assertDictEqual(a, b)     dicts    #python 2.7

更多请参见:http://docs.python.org/2/library/unittest.html
正在品读源码,下次在专门写下里面的东西。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯