コード例 #1
0
    def test_api_run(self,value,tovalue):
        '''测试用例'''
        # data 参数
        self.value = value   #参数值
        self.tovalue = tovalue #预期结果
        self.val = assertE.Tassert()

        self.log.info(u'------执行测试用例------')
        self.ret = Trequest(base_url=self.url, url_params=self.url_params, headers=self.headers)
        del value['case_name']
        self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(json.dumps(self.value)))
        # a = self.value
        # b = {}
        # for (key,value) in a.items():
        #     b[key] = int(value)
        #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(type(b)))
        #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(b))
        self.response = self.ret.post(data=json.dumps(self.value))#str(value).encode('utf-8')
        self.tcode = self.ret.get_code() #实际结果
        self.log.info(u'请求结果:{}'.format(self.response.text))
        self.log.info(u'------测试用例执行完成,f开始对比结果------')
        self.log.info(u'测试结果比对')
        self.log.info(u'预期结果:{0},实际结果:{1}'.format(self.tovalue,self.tcode))
        self.log.info(u'打印参数:{}'.format(self.value))
        self.log.info(u'预期message:{0},实际message:{1}'.format('ok',self.ret.get_message()))
        self.log.info(u'预期message code:{0},实际message code:{1}'.format('0',self.ret.get_response_message()))
        try:
            self.val.assert_value_valid(str(self.tcode), str(self.tovalue))
        except AssertionError as f:
            self.log.info(u'本条用例执行失败,详细内容请查阅数据对比')
            raise f
コード例 #2
0
class mytest(unittest.TestCase):  #继承unittest.TestCase这个类
    '''第二个接口测试'''
    log = Log()

    def __init__(self,methodName='runTest'):
        super(mytest, self).__init__(methodName)
        self.url = get_url()
        self.url_params = get_urlparams()
        self.headers = get_headers()
    def tearDown(self):

        print(u'单条用例执行完成')

    @classmethod
    def tearDownClass(self):    #需要配合@classmethod装饰器一起使用。(在所有用例前后总共各执行一次。)
        print(u'第二个接口测试完成')

    @classmethod
    def setUpClass(self):        #需要配合@classmethod装饰器一起使用。(在所有用例前后总共各执行一次。)
        print(u'接口测试第二个接口开始调用')
    @ddt.data (*Api_Data_read(r'C:\Users\EDZ\Desktop\ziyuanbao\untitled2\api_test\case\case2\Api_data2.xlsx','Api_data'))
    @ddt.unpack  #如果有unpack,那么[a,b]被分解开,按照用例中的两个参数传递
    def test_api_run(self,value,tovalue):
        '''测试用例'''
        # data 参数
        self.value = value   #参数值
        self.tovalue = tovalue #预期结果
        self.val = assertE.Tassert()

        self.log.info(u'------执行测试用例------')
        self.ret = Trequest(base_url=self.url, url_params=self.url_params, headers=self.headers)
        del value['case_name']
        self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(json.dumps(self.value)))
        # a = self.value
        # b = {}
        # for (key,value) in a.items():
        #     b[key] = int(value)
        #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(type(b)))
        #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(b))
        self.response = self.ret.post(data=json.dumps(self.value))#str(value).encode('utf-8')
        self.tcode = self.ret.get_code() #实际结果
        self.log.info(u'请求结果:{}'.format(self.response.text))
        self.log.info(u'------测试用例执行完成,f开始对比结果------')
        self.log.info(u'测试结果比对')
        self.log.info(u'预期结果:{0},实际结果:{1}'.format(self.tovalue,self.tcode))
        self.log.info(u'打印参数:{}'.format(self.value))
        self.log.info(u'预期message:{0},实际message:{1}'.format('ok',self.ret.get_message()))
        self.log.info(u'预期message code:{0},实际message code:{1}'.format('0',self.ret.get_response_message()))
        try:
            self.val.assert_value_valid(str(self.tcode), str(self.tovalue))
        except AssertionError as f:
            self.log.info(u'本条用例执行失败,详细内容请查阅数据对比')
            raise f


    def runTest(self):
        pass