• 使用unittest 执行测试用例


    1、建立一个函数或者类(继承unittest.TestCase)

     1 #coding=utf-8
     2 
     3 import sys
     4 import requests
     5 import HTMLParser
     6 import unittest
     7 
     8 sys.path.append(r'E:workspacepython	est')
     9 
    10 from Library.gzxnhLibrary import getGzxnhSrtS02
    11 
    12 def Test_request(operCode, userName, passWord):
    13     url = "http://218.201.202.252/hisinterface/service/request"
    14     data = getGzxnhSrtS02(operCode,userName,passWord)
    15     headers = {"Content-Type": "text/xml", "SOAPAction": ""}
    16 
    17     #post请求
    18     response = requests.post(url, data, headers = headers)
    19 
    20     #获取状态码的值
    21     ret = [response.status_code]
    22 
    23     #判断状态码的值是否等于200,不等于200直接返回False
    24     if response.status_code != 200:
    25         return False
    26 
    27     #状态码等于200以后,获取返回的内容
    28     xml = response.text
    29     #print xml
    30 
    31     #对内容进行转译,再获取响应的内容
    32     xml = HTMLParser.HTMLParser().unescape(xml)
    33     #print xml
    34     pos1 = xml.find('<state>')
    35     pos2 = xml.find('</state>')
    36     #print xml[pos1+len('<state>'):pos2]
    37 
    38     # 判断内容的值,和字符串true进行判断,等于返回True;反之,返回False
    39     if xml[pos1+len('<state>'):pos2] == 'true':
    40         return True
    41     else:
    42         return False
    43 
    44 if __name__ == '__main__':
    45     print Test_request('S02','js','08A73F723AE68F27945DB81EC8DB45CB')
    View Code

    2、创建一个自定义的TestCase类(继承unittest.TestCase)

     1 #coding=utf-8
     2 
     3 from huanhuan import Test_request
     4 import unittest
     5 
     6 class Test_hh(unittest.TestCase): #定义一个类,类名(继承unittest.TestCase功能,才能使用这个功能)
     7     def testcase1(self):
     8         ret = Test_request('S02','js','08A73F723AE68F27945DB81EC8DB45CB')
     9         self.assertEqual(ret,True)
    10 
    11 class Test_bb(unittest.TestCase):
    12     def testcase2(self):
    13         ret = Test_request('S02','js','08A73F723AE68F27945DB81EC8DB45CB111')
    14         self.assertEqual(ret, True)
    View Code

    3、通过suite.addTest构建测试集,一个个添加测试用例

     1 #coding=utf-8
     2 
     3 import testCase11
     4 import unittest
     5 
     6 #构建测试集
     7 def suite1():
     8     suite = unittest.TestSuite()  #创建一个TestSuite 的对象
     9     suite.addTest(testCase11.Test_hh("testcase1"))  #使用对象去调取函数 addTest(通过另一个case模块的名 找到里面的类的名称(写类下面测试用例的名称))
    10     suite.addTest(testCase11.Test_bb("testcase2"))
    11 
    12     return suite
    View Code

    4、也可以通过TestLoader构建测试集,一次性添加一个类的测试用例

     1 #coding=utf-8
     2 
     3 import unittest
     4 import testCase11
     5 
     6 #构建TestLoader()测试集
     7 def suite2():
     8     suite = unittest.TestLoader().loadTestsFromTestCase(testCase11.Test_hh) #括号里面放类的名称
     9     return suite
    10 
    11 def suite3():
    12     suite = unittest.TestLoader().loadTestsFromTestCase(testCase11.Test_bb)
    13     return suite
    View Code

    5、执行测试用例(一个测试集、二个测试集)

     1 #coding=utf-8
     2 
     3 import testSuite11
     4 import unittest
     5 import loader11
     6 
     7 # 执行一个测试集
     8 def runner1():
     9     suite = testSuite11.suite1()
    10     unittest.TextTestRunner().run(suite) #执行的是testSuite11内的函数的返回值
    11 
    12 def runner2():
    13     suite1 = testSuite11.suite1()
    14     suite2 = loader11.suite2()
    15     #合并成一个suite
    16     suite = unittest.TestSuite([suite1, suite2])  # 多个类用列表的形式放在括号内[]
    17     #执行
    18     unittest.TextTestRunner(verbosity=2).run(suite)  # 第一个括号的值为类的个数
    19 
    20 if __name__ == '__main__':
    21     runner1()
    View Code
  • 相关阅读:
    3秒后页面跳转代码
    数据库 ""和null的在java 持久化中的区别
    去掉标签元素
    hibernate 自动封装
    hql 多对多查询
    javascript 数组
    spring mvc+mybatis整合
    collection映射
    mybatis中one2many
    mybatis中many2one
  • 原文地址:https://www.cnblogs.com/liuhuanv/p/7857943.html
Copyright © 2020-2023  润新知