zoukankan      html  css  js  c++  java
  • selenium学习笔记(HTMLTestRunner测试报告)

    之前提到selenium加入unittest框架、可以引入HTMLTestRunner扩展、以此来生成测试报告

    首先是分享下载的百度云地址

    http://pan.baidu.com/s/1pKUItWR

    文件名:HTMLTestRunner.py

    下载成功后放入相应的python目录下如: “C:Python27Lib”

    通过python自带的IDLE

    如果没有报错、则说明添加成功

    之后是利用之前写好的博客园登录脚本

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 import time
     5 import unittest
     6 
     7 from selenium import webdriver
     8 
     9 
    10 class TestCnblogs(unittest.TestCase):
    11     def setUp(self):
    12         print "自动化测试用例执行开始"
    13         self.driver = webdriver.Firefox()
    14         self.driver.implicitly_wait(30)
    15         # 智能等待30S
    16         self.Errors = []
    17         # 错误信息列表
    18 
    19     def tearDown(self):
    20         self.driver.quit()
    21         self.assertEqual([], self.Errors)
    22         # 检查错误信息列表 若不为空则返回显示
    23         print "自动化测试用例执行结束"
    24 
    25     def test_cnblogs_login(self):
    26         u"""博客园登录"""
    27         driver = self.driver
    28         driver.get("http://www.cnblogs.com/")
    29         # 测试地址 后面可以添加响应地址
    30         driver.find_element_by_css_selector("a[onclick = 'login();return false']").click()
    31         driver.find_element_by_css_selector("input[type = 'text']").click()
    32         driver.find_element_by_css_selector("input[type = 'text']").send_keys(u"堕落的伊丝莉")
    33         # 这里用户名由于是中文前面要加 u
    34         driver.find_element_by_css_selector("input[type = 'password']").click()
    35         driver.find_element_by_css_selector("input[type = 'password']").send_keys("xxxxxx")
    36         # 输入密码、密码当然按照实际内容添加
    37         driver.find_element_by_css_selector("input[type = 'submit']").click()
    38         time.sleep(2)
    39         driver.close()
    40 
    41 
    42 if __name__ == "__main__":
    43     unittest.main()

    这里存在一个问题、如果把生成测试报告的代码内容写在     if __name__ == "__main__":

    之下运行成功且不报错、但是生成的html文件内容为空

    两种解决方式 一种是在cmd里执行脚本

    另一种是写在另一文件加载上面的测试脚本代码

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 from test_case.cnblogs import TestCnblogs
     5 import HTMLTestRunner
     6 import unittest
     7 
     8 testreport = unittest.TestSuite()
     9 
    10 testreport.addTest(TestCnblogs("test_cnblogs_login"))
    11 filename = "E:\work\python project\selenium_python\report.html"
    12 fp = file(filename, "wb")
    13 runner = HTMLTestRunner.HTMLTestRunner(
    14         stream=fp,
    15         title=u"博客园测试报告",
    16         description=u"用例执行情况:"
    17 )
    18 runner.run(testreport)

    这样直接在相应的python开发环境下运行即可成功生成测试报告

  • 相关阅读:
    0430
    hlg1306再遇攻击--射线法判断点是否在多边形内部
    hlg1429凸多边形 二分+叉积
    计算几何
    像个孩子一样
    i am so happy
    hdu3371Connect the Cities---最小生成树kruskal
    hlg1339Touring DIJ+堆优化
    hdu3790最短路问题
    Lucky Goddess
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/5446542.html
Copyright © 2011-2022 走看看