From 49a537539e75d108adbc358736f23fb5d0064d71 Mon Sep 17 00:00:00 2001 From: liwanlei Date: Tue, 24 Apr 2018 08:33:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?java=E5=AE=9E=E7=8E=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E7=9A=84=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit java实现版本链接的增加 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 598dc65..d00164d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # 接口测试框架(基于json格式、http协议,dubbo协议请求,python3,不兼容python2.x版本) - +##  java实现版本:https://github.com/liwanlei/java_jiekou ## 注:现在基于Excel文件管理测试用例基本实现,) # 2018-3-13版本修改 ### 原来的测试报告更加详细的展示错误类型,对部分代码进行了优化,断言结果返回更加详细,更快的定位测试问题 @@ -39,4 +39,4 @@ ![Alt text](https://github.com/liwanlei/jiekou/blob/master/img/excel.png) ![Alt text](https://github.com/liwanlei/jiekou/blob/master/img/excel2.png) ### 现在的测试结构更加完整,最新的一次提交增加了log日志的展示,使功能更加完善,log日志在控制台展示如下,对目录进行优化 -![Alt text](https://github.com/liwanlei/jiekou/blob/master/img/log.png) \ No newline at end of file +![Alt text](https://github.com/liwanlei/jiekou/blob/master/img/log.png) From ee3372e29b584247748478a9c55d85d001f300d4 Mon Sep 17 00:00:00 2001 From: liwanlei Date: Mon, 30 Apr 2018 14:04:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=C2=99=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Public/get_excel_new.py | 17 ++ Public/py_Html.py | 131 +++++++---- img/cebaogaotu.png | Bin 57576 -> 61284 bytes log/jiekou-2018-04-12-14.log | 131 ----------- log/jiekou-2018-04-30-13.log | 312 +++++++++++++++++++++++++++ run_http_html.py | 6 +- test_Report/201804121418-result.html | 85 -------- test_Report/201804301358-result.html | 130 +++++++++++ test_case_data/case.xlsx | Bin 11159 -> 10890 bytes 9 files changed, 557 insertions(+), 255 deletions(-) create mode 100644 Public/get_excel_new.py delete mode 100644 log/jiekou-2018-04-12-14.log create mode 100644 log/jiekou-2018-04-30-13.log delete mode 100644 test_Report/201804121418-result.html create mode 100644 test_Report/201804301358-result.html diff --git a/Public/get_excel_new.py b/Public/get_excel_new.py new file mode 100644 index 0000000..5448d4a --- /dev/null +++ b/Public/get_excel_new.py @@ -0,0 +1,17 @@ +""" +@author: lileilei +@file: get_excel_new.py +@time: 2018/4/30 11:04 +""" +import xlrd +def datacel(filrpath): + all_case=[] + file=xlrd.open_workbook(filrpath) + me=file.sheets()[0] + nrows=me.nrows + for i in range(1,nrows): + all_case.append({"id":me.cell(i,0).value,'key':me.cell(i,2).value, + 'coneent':me.cell(i,3).value,'url':me.cell(i,4).value, + 'name':me.cell(i,1).value,'fangshi':me.cell(i,5).value, + 'assert':me.cell(i,6).value}) + return all_case \ No newline at end of file diff --git a/Public/py_Html.py b/Public/py_Html.py index 7d366a8..955d8f1 100644 --- a/Public/py_Html.py +++ b/Public/py_Html.py @@ -8,35 +8,61 @@ import os titles='接口测试' def title(titles): title=''' - - - - %s - - - + + + %s + + + + + + + + + + '''%(titles) return title connent=''' -
+

接口测试的结果

''' def shouye(starttime,endtime,passge,fail,excepthions,weizhicuowu): beijing=''' -

开始时间: %s

-

结束时间: %s

-

耗时: %s

-

结果: + + + + + + + + + +
开始时间: %s
结束时间: %s
耗时: %s
结果: Pass: %s Fail: %s exception: %s - weizhicuowu : %s

-

测试详情如下

'''%(starttime,endtime,(endtime-starttime),passge,fail,excepthions,weizhicuowu) + weizhicuowu : %s
+

'''%(starttime,endtime,(endtime-starttime),passge,fail,excepthions,weizhicuowu) return beijing -shanghai=''' -

 

- +shanghai='''
+
+
+ + + + + +
+
+
+
@@ -51,41 +77,74 @@ shanghai=''' ''' def passfail(tend): if tend =='pass': - htl=' ' + htl='''''' elif tend =='fail': - htl=' ' + htl='''''' elif tend=='weizhi': - htl='' + htl='''''' else: - htl = '' + htl = '' return htl -def ceshixiangqing(id,name,key,coneent,url,meth,yuqi,json,relust): +def ceshixiangqing(reslt,id,name,key,coneent,url,meth,yuqi,json,relust): xiangqing=''' - + + - - %s - - '''%(id,name,key,coneent,url,meth,yuqi,json,passfail(relust)) + '''%(reslt,id,name,key,coneent,url,meth,yuqi,json,passfail(relust)) return xiangqing -weibu=''' -
用例ID  用例名字passpassfailfailerrorerrorerrorexect
%s %s %s%s%s - %s %s %s %s
- - ''' +weibu='''
+ + +''' def relust(titles,starttime,endtime,passge,fail,id,name,key,coneent,url,meth,yuqi,json,relust,exceptions,weizhi): if type(name) ==list: relus=' ' for i in range(len(name)): - relus+=(ceshixiangqing(id[i],name[i],key[i],coneent[i],url[i],meth[i],yuqi[i],json[i],relust[i])) + if relust[i] == "pass": + clazz = "success" + elif relust[i]== "fail": + clazz = "warning" + elif relust[i]== "weizhi": + clazz = "danger" + else: + clazz='error' + relus+=(ceshixiangqing(clazz,id[i],name[i],key[i],coneent[i],url[i],meth[i],yuqi[i],json[i],relust[i])) text=title(titles)+connent+shouye(starttime,endtime,passge,fail,exceptions,weizhi)+shanghai+relus+weibu else: text=title(titles)+connent+shouye(starttime,endtime,passge,fail,exceptions,weizhi)+shanghai+ceshixiangqing(id,name,key,coneent,url,meth,yuqi,json,relust)+weibu @@ -93,4 +152,4 @@ def relust(titles,starttime,endtime,passge,fail,id,name,key,coneent,url,meth,yuq def createHtml(filepath,titles,starttime,endtime,passge,fail,id,name,key,coneent,url,meth,yuqi,json,relusts,exceptions,weizhi): texts=relust(titles,starttime,endtime,passge,fail,id,name,key,coneent,url,meth,yuqi,json,relusts,exceptions,weizhi) with open(filepath,'wb') as f: - f.write(texts.encode()) \ No newline at end of file + f.write(texts.encode('utf-8')) \ No newline at end of file diff --git a/img/cebaogaotu.png b/img/cebaogaotu.png index d32f7b9e27f7995f7cc8e825032cd7c2a46c6d57..957379dfae221379bf1680f78d89679e389ef06e 100644 GIT binary patch literal 61284 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 literal 57576 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

@z|N8-F_N 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 diff --git a/log/jiekou-2018-04-12-14.log b/log/jiekou-2018-04-12-14.log deleted file mode 100644 index 4a11711..0000000 --- a/log/jiekou-2018-04-12-14.log +++ /dev/null @@ -1,131 +0,0 @@ -[2018-04-12 14:14:47.902256] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:14:47.916257] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:14:47.916257] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:14:48.166271] INFO: jiekou: 当前模块 生成数据驱动所用数据 -[2018-04-12 14:14:48.167271] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:14:48.167271] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:14:48.167271] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:14:48.167271] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:14:48.167271] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:14:48.167271] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:15:16.884914] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:15:16.884914] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:15:16.884914] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:15:16.894914] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:15:16.895914] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:15:16.895914] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:15:16.895914] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:16:01.084442] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:16:01.085442] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:16:01.085442] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:01.099442] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:16:01.100443] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:16:01.100443] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:01.100443] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:16:03.536582] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:16:03.537582] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:16:03.537582] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:03.547583] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:16:03.547583] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:16:03.547583] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:03.548583] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:16:05.210678] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:16:05.211678] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:16:05.211678] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:05.221678] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:16:05.221678] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:16:05.221678] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:05.221678] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:16:06.842771] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:16:06.843771] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:16:06.843771] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:06.854772] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:16:06.854772] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:16:06.854772] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:06.854772] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:16:08.608872] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:16:08.609872] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:16:08.609872] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:08.619873] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:16:08.620873] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-04-12 14:16:08.620873] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:08.620873] INFO: jiekou: 打开测试用例失败,原因是: -[2018-04-12 14:16:33.525297] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:16:33.526297] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:16:33.526297] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:16:33.538298] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:16:33.538298] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\case.xlsx',) -[2018-04-12 14:16:33.538298] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:18:09.201770] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:18:09.201770] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:18:09.201770] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:18:09.212770] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:18:09.212770] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\case.xlsx',) -[2018-04-12 14:18:09.212770] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:18:09.249772] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:18:09.249772] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\case.xlsx',) -[2018-04-12 14:18:09.249772] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:18:09.253772] INFO: jiekou: 当前模块 测试 -[2018-04-12 14:18:09.253772] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:18:09.253772] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:18:09.344778] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 -[2018-04-12 14:18:09.344778] INFO: jiekou: 当前模块 断言测试结果 -[2018-04-12 14:18:09.344778] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:18:09.344778] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} -[2018-04-12 14:18:09.369779] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api - ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 -[2018-04-12 14:18:09.369779] INFO: jiekou: 当前模块 断言测试结果 -[2018-04-12 14:18:09.369779] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:18:09.369779] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} -[2018-04-12 14:18:09.619793] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: -[2018-04-12 14:18:09.619793] INFO: jiekou: 当前模块 断言测试结果 -[2018-04-12 14:18:09.619793] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:18:09.619793] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} -[2018-04-12 14:18:09.620793] INFO: jiekou: 填写测试预期值 -[2018-04-12 14:19:46.871356] INFO: jiekou: 当前模块 requests封装 -[2018-04-12 14:19:46.871356] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:19:46.872356] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:19:46.882357] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:19:46.882357] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\case.xlsx',) -[2018-04-12 14:19:46.882357] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:19:46.892357] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:19:46.893357] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\case.xlsx',) -[2018-04-12 14:19:46.893357] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:19:46.896357] INFO: jiekou: 当前模块 测试 -[2018-04-12 14:19:46.896357] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:19:46.896357] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:19:46.934359] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 -[2018-04-12 14:19:46.935360] INFO: jiekou: 当前模块 断言测试结果 -[2018-04-12 14:19:46.935360] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:19:46.935360] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} -[2018-04-12 14:19:46.962361] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api - ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 -[2018-04-12 14:19:46.963361] INFO: jiekou: 当前模块 断言测试结果 -[2018-04-12 14:19:46.963361] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:19:46.963361] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} -[2018-04-12 14:19:47.043366] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: -[2018-04-12 14:19:47.043366] INFO: jiekou: 当前模块 断言测试结果 -[2018-04-12 14:19:47.043366] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:19:47.044366] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} -[2018-04-12 14:19:47.044366] INFO: jiekou: 填写测试预期值 -[2018-04-12 14:20:09.075626] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:20:09.076626] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\dubbocase.xlsx',) -[2018-04-12 14:20:09.076626] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:20:09.268637] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:20:09.268637] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:20:09.268637] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:21:10.014111] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:21:10.015111] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\dubbocase.xlsx',) -[2018-04-12 14:21:10.015111] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:21:10.195122] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:21:10.196122] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:21:10.196122] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:21:20.072687] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:21:20.072687] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\dubbocase.xlsx',) -[2018-04-12 14:21:20.073687] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:21:20.250697] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-04-12 14:21:20.251697] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case_data\\dubbocase.xlsx',) -[2018-04-12 14:21:20.251697] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-04-12 14:21:20.255697] INFO: jiekou: 当前模块 dubbo接口测试 -[2018-04-12 14:21:20.255697] INFO: jiekou: 全部args参数参数信息 , () -[2018-04-12 14:21:20.255697] INFO: jiekou: 全部kwargs参数信息 , {} diff --git a/log/jiekou-2018-04-30-13.log b/log/jiekou-2018-04-30-13.log new file mode 100644 index 0000000..4837a46 --- /dev/null +++ b/log/jiekou-2018-04-30-13.log @@ -0,0 +1,312 @@ +[2018-04-30 13:30:58.020598] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:30:58.022598] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:30:58.022598] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:30:58.039599] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:30:58.040599] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:30:58.041599] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:30:58.067600] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:30:58.067600] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:30:58.068600] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:30:58.072600] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:30:58.073601] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:30:58.073601] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:30:58.115603] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:30:58.116603] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:30:58.117603] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:30:58.117603] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:30:58.152605] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:30:58.152605] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:30:58.153605] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:30:58.154605] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:30:58.567629] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:30:58.568629] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:30:58.570629] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:30:58.571629] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:30:58.573629] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:34:27.279566] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:34:27.280567] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:34:27.281567] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:34:27.297567] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:34:27.297567] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:34:27.298568] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:34:27.314568] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:34:27.315569] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:34:27.316569] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:34:27.319569] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:34:27.320569] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:34:27.321569] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:34:27.364571] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:34:27.365571] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:34:27.366571] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:34:27.366571] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:34:27.439576] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:34:27.441576] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:34:27.442576] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:34:27.444576] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:34:27.917603] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:34:27.918603] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:34:27.920603] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:34:27.922603] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:34:27.924603] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:37:03.067477] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:37:03.068477] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:03.069477] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:03.085478] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:37:03.086478] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:37:03.086478] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:03.104479] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:37:03.104479] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:37:03.105479] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:03.109479] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:37:03.110479] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:03.110479] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:03.144481] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:37:03.144481] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:37:03.145481] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:03.146482] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:37:03.175483] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:37:03.176483] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:37:03.176483] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:03.177483] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:37:03.597507] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:37:03.597507] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:37:03.598507] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:03.599507] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:37:03.599507] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:37:58.053622] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:37:58.053622] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:58.054622] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:58.070623] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:37:58.071623] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:37:58.072623] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:58.088624] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:37:58.089624] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:37:58.089624] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:58.093624] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:37:58.093624] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:58.094624] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:37:58.135627] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:37:58.135627] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:37:58.136627] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:58.137627] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:37:58.161628] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:37:58.161628] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:37:58.162628] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:58.163628] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:37:58.597653] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:37:58.599653] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:37:58.600653] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:37:58.601653] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:37:58.603653] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:38:29.921445] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:38:29.922445] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:38:29.923445] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:38:29.938446] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:38:29.939446] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:38:29.939446] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:38:29.955447] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:38:29.956447] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:38:29.957447] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:38:29.960447] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:38:29.961447] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:38:29.962447] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:38:30.000449] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:38:30.001449] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:38:30.001449] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:38:30.002449] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:38:30.028451] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:38:30.029451] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:38:30.030451] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:38:30.030451] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:38:30.447475] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:38:30.447475] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:38:30.448475] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:38:30.449475] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:38:30.449475] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:46:04.126424] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:46:04.127424] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:46:04.128424] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:46:04.144425] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:46:04.145425] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:46:04.146425] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:46:04.163426] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:46:04.164426] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:46:04.164426] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:46:04.168426] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:46:04.169426] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:46:04.170426] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:46:04.209429] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:46:04.210429] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:46:04.210429] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:46:04.211429] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:46:04.240430] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:46:04.241430] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:46:04.241430] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:46:04.242430] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:46:04.664455] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:46:04.666455] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:46:04.668455] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:46:04.670455] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:46:04.671455] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:47:38.586827] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:47:38.587827] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:47:38.587827] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:47:38.604828] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:47:38.604828] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:47:38.605828] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:47:38.621829] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:47:38.622829] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:47:38.622829] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:47:38.626829] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:47:38.627829] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:47:38.628829] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:47:38.666831] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:47:38.667831] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:47:38.667831] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:47:38.668831] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:47:38.693833] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:47:38.694833] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:47:38.694833] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:47:38.695833] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:47:39.124857] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:47:39.125857] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:47:39.125857] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:47:39.126858] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:47:39.127858] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:49:25.423937] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:49:25.424937] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:49:25.425937] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:49:25.441938] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:49:25.442938] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:49:25.442938] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:49:25.460939] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:49:25.460939] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:49:25.461940] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:49:25.465940] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:49:25.465940] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:49:25.466940] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:49:25.506942] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:49:25.507942] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:49:25.508942] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:49:25.509942] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:49:25.531944] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:49:25.532944] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:49:25.533944] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:49:25.533944] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:49:25.951968] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:49:25.952968] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:49:25.952968] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:49:25.953968] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:49:25.954968] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:51:48.693132] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:51:48.695132] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:51:48.696132] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:51:48.713133] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:51:48.714133] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:51:48.715133] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:51:48.731134] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:51:48.732134] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:51:48.733134] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:51:48.736134] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:51:48.737134] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:51:48.737134] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:51:48.769136] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:51:48.770136] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:51:48.771136] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:51:48.771136] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:51:48.807138] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:51:48.808138] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:51:48.809139] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:51:48.809139] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:51:49.213162] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:51:49.214162] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:51:49.215162] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:51:49.215162] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:51:49.216162] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:53:27.270770] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:53:27.271770] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:53:27.271770] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:53:27.287771] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:53:27.288771] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:53:27.289771] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:53:27.306772] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:53:27.306772] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:53:27.307772] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:53:27.311773] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:53:27.311773] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:53:27.312773] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:53:27.349775] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:53:27.349775] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:53:27.350775] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:53:27.351775] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:53:27.373776] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:53:27.374776] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:53:27.375776] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:53:27.375776] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:53:28.336831] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:53:28.338831] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:53:28.340831] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:53:28.341831] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:53:28.343832] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:56:01.747606] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:56:01.748606] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:56:01.749606] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:56:01.766607] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:56:01.767607] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:56:01.767607] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:56:01.784608] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:56:01.785608] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:56:01.785608] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:56:01.789608] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:56:01.790608] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:56:01.790608] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:56:01.831611] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:56:01.832611] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:56:01.833611] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:56:01.833611] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:56:01.859612] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:56:01.860612] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:56:01.860612] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:56:01.861612] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:56:02.276636] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:56:02.276636] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:56:02.277636] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:56:02.278636] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:56:02.278636] INFO: jiekou: 填写测试预期值 +[2018-04-30 13:58:25.406823] INFO: jiekou: 当前模块 requests封装 +[2018-04-30 13:58:25.407823] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:58:25.407823] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:58:25.423824] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:58:25.423824] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:58:25.424824] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:58:25.440825] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-04-30 13:58:25.441825] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-04-30 13:58:25.442825] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:58:25.445825] INFO: jiekou: 当前模块 测试 +[2018-04-30 13:58:25.446825] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:58:25.447825] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-04-30 13:58:25.504828] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-04-30 13:58:25.505828] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:58:25.506828] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:58:25.506828] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:58:25.534830] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-04-30 13:58:25.534830] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:58:25.535830] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:58:25.536830] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-04-30 13:58:26.007857] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-04-30 13:58:26.008857] INFO: jiekou: 当前模块 断言测试结果 +[2018-04-30 13:58:26.009857] INFO: jiekou: 全部args参数参数信息 , () +[2018-04-30 13:58:26.009857] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-04-30 13:58:26.010857] INFO: jiekou: 填写测试预期值 diff --git a/run_http_html.py b/run_http_html.py index bf07698..588d828 100644 --- a/run_http_html.py +++ b/run_http_html.py @@ -16,12 +16,12 @@ def start_interface_html_http(): if os.path.exists(filepath) is False: os.system(r'touch %s' % filepath) endtime=datetime.datetime.now() - createHtml(titles='http接口自动化测试报告',filepath=filepath,starttime=starttime, + createHtml(titles=u'http接口自动化测试报告',filepath=filepath,starttime=starttime, endtime=endtime,passge=list_pass,fail=list_fail, id=listid,name=listname,key=listkey,coneent=listconeent,url=listurl,meth=listfangshi, yuqi=listqiwang,json=list_json,relusts=listrelust,weizhi=list_weizhi,exceptions=list_exption) - contec = 'http接口自动化测试完成,测试通过:%s,测试失败:%s,异常:%s,未知错误:%s,详情见:%s' % ( + contec = u'http接口自动化测试完成,测试通过:%s,测试失败:%s,异常:%s,未知错误:%s,详情见:%s' % ( list_pass, list_fail, list_exption, list_weizhi, filepath) - send_ding(content=contec) +# send_ding(content=contec) if __name__ == '__main__': start_interface_html_http() \ No newline at end of file diff --git a/test_Report/201804121418-result.html b/test_Report/201804121418-result.html deleted file mode 100644 index 1829055..0000000 --- a/test_Report/201804121418-result.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - http接口自动化测试报告 - - - - -

-

接口测试的结果

-

开始时间: 2018-04-12 14:18:09.248772

-

结束时间: 2018-04-12 14:18:09.756801

-

耗时: 0:00:00.508029

-

结果: - Pass: 0 - Fail: 2 - exception: 1 - weizhicuowu : 0

-

测试详情如下

-

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
用例ID 用例名字key请求内容url请求方式预期实际返回结果
1.0图灵api接口aaaa{'password':'1222'} - http://www.tuling123.com/openapi/apiPOSTcode=40001{'code': 40007, 'text': '您的请求内容为空。'}fail
2.0图灵api接口dfeb1cc8125943d29764a2f2f5c33739{'password':'1222'} - http://www.tuling123.com/openapi/api -POSTcode=40002{'code': 40007, 'text': '您的请求内容为空。'}fail
3.0豆瓣apidfeb1cc8125943d29764a2f2f5c33739{'password':'1222'} - https://api.douban.com/v2/photo/:idGET填写测试预期值error
- - \ No newline at end of file diff --git a/test_Report/201804301358-result.html b/test_Report/201804301358-result.html new file mode 100644 index 0000000..c95fa94 --- /dev/null +++ b/test_Report/201804301358-result.html @@ -0,0 +1,130 @@ + + + + http接口自动化测试报告 + + + + + + + + + + + +
+

接口测试的结果

+ + + + + + + + + +
开始时间: 2018-04-30 13:58:25.440825
结束时间: 2018-04-30 13:58:26.056860
耗时: 0:00:00.616035
结果: + Pass: 0 + Fail: 2 + exception: 1 + weizhicuowu : 0
+
+
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
用例ID 用例名字key请求内容url请求方式预期实际返回结果
1.0图灵api接口aaaa{'password':'1222'}http://www.tuling123.com/openapi/apiPOSTcode=40001{'code': 40007, 'text': '您的请求内容为空。'}fail
2.0图灵api接口dfeb1cc8125943d29764a2f2f5c33739{'password':'1222'}http://www.tuling123.com/openapi/api +POSTcode=40002{'code': 40007, 'text': '您的请求内容为空。'}fail
3.0豆瓣apidfeb1cc8125943d29764a2f2f5c33739{'password':'1222'}https://api.douban.com/v2/photo/:idGET填写测试预期值exect
+ + + \ No newline at end of file diff --git a/test_case_data/case.xlsx b/test_case_data/case.xlsx index 54ce87b5a0ef2f6321a5978e84d5faeee8db8293..ec6e558767faba355c1b3188069fdc27e95930d3 100644 GIT binary patch literal 10890 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