diff --git a/Public/panduan.py b/Public/panduan.py index d8c88f6..d4df8d3 100644 --- a/Public/panduan.py +++ b/Public/panduan.py @@ -16,3 +16,13 @@ def assert_in(asserqiwang,fanhuijson): else: LOG.info('填写测试预期值') raise ('请填写期望值') +@logger('断言测试结果') +def assertre(asserqingwang): + if len(asserqingwang.split('=')) > 1: + data = asserqingwang.split('&') + result = dict([(item.split('=')) for item in data]) + return result + else: + LOG.info('填写测试预期值') + raise ('请填写期望值') + diff --git a/README.md b/README.md index b310468..b0e5d36 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ ## qq交流群:194704520 ### 使用的库 requests,绝大部分是基于Python原有的库进行的,这样简单方便, ### 使用脚本参数分离等思想,尽可能降低代码的耦合度。 -# 最近更新增加了记录测试结果的,后期打算加入测试数据的统计。 # 首先我们来看下我们的目录 ##  diff --git a/ceshi.py b/ceshi.py deleted file mode 100644 index e6038c6..0000000 --- a/ceshi.py +++ /dev/null @@ -1,21 +0,0 @@ -list1=[1,2,3,4,5,6,7] -list2=['a','b','c','d'] -list3=[] -i=0 -for i in range(len(list2)): - list3.append({'id':list1[i],'password':list2[i]}) - i+=1 -print(list3) -# import ddt,unittest -# data=[{1:1, 2:2},{1:2, 2:3},{1:3, 2:4}] -# @ddt.ddt -# class Testcase(unittest.TestCase): -# def setUp(self): -# pass -# def tearDown(self): -# pass -# @ddt.data(*data) -# def test(self,data): -# self.assertEqual(data[1],data[2]) -# if __name__=='__main__': -# unittest.main() diff --git a/img/ddt_log.png b/img/ddt_log.png new file mode 100644 index 0000000..f887258 Binary files /dev/null and b/img/ddt_log.png differ diff --git a/img/ddt_report.png b/img/ddt_report.png new file mode 100644 index 0000000..aa1d4a5 Binary files /dev/null and b/img/ddt_report.png differ diff --git a/img/测试报告.png b/img/测试报告.png new file mode 100644 index 0000000..5ed7ad6 Binary files /dev/null and b/img/测试报告.png differ diff --git a/log/jiekou-2017-10-31-21.log b/log/jiekou-2017-10-31-21.log deleted file mode 100644 index a46ad1e..0000000 --- a/log/jiekou-2017-10-31-21.log +++ /dev/null @@ -1,10 +0,0 @@ -[2017-10-31 21:17:01.191553] INFO: jiekou: 当前模块 requests封装 -[2017-10-31 21:17:01.273558] INFO: jiekou: 当前模块 生成数据驱动所用数据 -[2017-10-31 21:17:01.274558] INFO: jiekou: 当前模块 解析测试用例文件 -[2017-10-31 21:17:16.660438] INFO: jiekou: 当前模块 requests封装 -[2017-10-31 21:17:16.739442] INFO: jiekou: 当前模块 生成数据驱动所用数据 -[2017-10-31 21:17:16.740442] INFO: jiekou: 当前模块 解析测试用例文件 -[2017-10-31 21:17:16.754443] INFO: jiekou: 当前模块 执行测试用例 -[2017-10-31 21:18:18.624982] INFO: jiekou: 当前模块 requests封装 -[2017-10-31 21:18:18.704987] INFO: jiekou: 当前模块 生成数据驱动所用数据 -[2017-10-31 21:18:18.705987] INFO: jiekou: 当前模块 解析测试用例文件 diff --git a/log/jiekou-2017-11-01-10.log b/log/jiekou-2017-11-01-10.log new file mode 100644 index 0000000..79264f7 --- /dev/null +++ b/log/jiekou-2017-11-01-10.log @@ -0,0 +1,284 @@ +[2017-11-01 10:06:23.188881] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:06:23.264885] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:06:23.264885] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:06:23.278886] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:06:23.278886] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:06:23.278886] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:06:23.311888] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:06:23.311888] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:06:23.312888] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:06:23.313888] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:06:23.313888] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:06:23.313888] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:06:23.343890] INFO: jiekou: 返回结果:{'code': 40002, 'text': '有啥事吗?'} +[2017-11-01 10:06:23.343890] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:06:23.344890] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:06:23.344890] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:06:23.344890] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:06:23.344890] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:06:23.344890] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:07:06.760373] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:07:06.838377] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:07:06.838377] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:07:06.852378] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:06.853378] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:07:06.853378] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:07:06.886380] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:07:06.886380] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:07:06.886380] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:07:06.887380] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:06.887380] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:07:06.887380] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:07:06.920382] INFO: jiekou: 返回结果:{'code': 40002, 'text': '此时无声胜有声?'} +[2017-11-01 10:07:06.920382] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:07:06.921382] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:07:06.921382] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:06.921382] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:07:06.921382] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:07:06.921382] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:07:20.637167] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:07:20.736172] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:07:20.737172] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:07:20.749173] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:20.749173] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:07:20.750173] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:07:20.789175] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:07:20.789175] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:07:24.632395] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:07:24.732401] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:07:24.733401] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:07:24.745401] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:24.746402] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:07:24.746402] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:07:24.785404] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:07:24.785404] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:07:53.710058] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:07:53.714058] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:53.715058] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:07:53.715058] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:07:53.748060] INFO: jiekou: 返回结果:{'code': 40002, 'text': '干哈呀?'} +[2017-11-01 10:07:53.749060] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:07:56.700229] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:07:56.801235] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:07:56.801235] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:07:56.813236] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:07:56.814236] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:07:56.814236] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:07:56.849238] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:07:56.849238] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:08:04.610682] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:08:04.689686] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:08:04.689686] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:08:04.704687] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:08:04.704687] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:08:04.704687] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:08:04.738689] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:08:04.738689] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:08:04.738689] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:08:04.740689] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:08:04.740689] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:08:04.740689] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:08:04.776691] INFO: jiekou: 返回结果:{'code': 40002, 'text': '有啥事吗?'} +[2017-11-01 10:08:04.776691] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:08:04.777691] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:08:04.777691] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:08:04.778691] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:08:04.778691] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:08:04.778691] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:20:30.384337] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:20:30.459342] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:20:30.459342] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:20:30.474343] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:20:30.474343] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:20:30.474343] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:20:30.513345] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:20:30.513345] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:20:30.514345] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:20:30.515345] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:20:30.515345] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:20:30.515345] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:20:30.544347] INFO: jiekou: 返回结果:{'code': 40002, 'text': '你想说什么就直说,不用藏在心里哈~'} +[2017-11-01 10:20:30.544347] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:20:30.544347] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:20:30.545347] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:20:30.545347] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:20:30.545347] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:20:30.545347] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:21:01.846137] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:21:01.921141] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:21:01.921141] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:21:01.936142] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:21:01.936142] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:21:01.936142] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:21:01.972144] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:21:01.972144] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:21:01.973144] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:21:01.973144] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:21:01.974144] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:21:01.974144] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:21:02.003146] INFO: jiekou: 返回结果:{'code': 40002, 'text': 'what?'} +[2017-11-01 10:21:02.003146] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:21:02.004146] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:21:02.005146] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:21:02.005146] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:21:02.005146] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:21:02.006146] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:21:44.590582] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:21:44.667586] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:21:44.667586] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:21:44.682587] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:21:44.682587] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:21:44.683587] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:21:44.717589] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:21:44.718589] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:21:44.718589] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:21:44.719589] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:21:44.719589] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:21:44.719589] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:21:44.755591] INFO: jiekou: 返回结果:{'code': 40002, 'text': '你想和我说什么呢?'} +[2017-11-01 10:21:44.755591] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:21:44.756591] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:21:44.757591] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:21:44.757591] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:21:44.757591] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:21:44.757591] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:23:21.727138] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:23:21.806142] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:23:21.806142] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:23:21.821143] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:23:21.821143] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:23:21.821143] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:23:21.855145] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:23:21.855145] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:23:21.855145] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:23:21.856145] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:23:21.856145] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:23:21.857145] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:23:21.886147] INFO: jiekou: 返回结果:{'code': 40002, 'text': 'what?'} +[2017-11-01 10:23:21.886147] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:23:21.886147] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:23:21.886147] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:23:21.887147] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:23:21.887147] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:23:21.887147] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:23:48.852689] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:23:48.928694] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:23:48.928694] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:23:48.943694] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:23:48.943694] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:23:48.943694] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:23:48.981697] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:23:48.981697] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:23:48.981697] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:23:48.982697] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:23:48.983697] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:23:48.983697] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:23:49.021699] INFO: jiekou: 返回结果:{'code': 40002, 'text': '干哈呀?'} +[2017-11-01 10:23:49.021699] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:23:49.021699] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:23:49.022699] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:23:49.022699] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:23:49.022699] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:23:49.022699] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:24.567732] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:24:24.644736] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:24:24.644736] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:24:24.659737] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:24.659737] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:24:24.659737] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:24:24.694739] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:24:24.694739] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:24:24.694739] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:24.696739] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:24.696739] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:24:24.696739] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:24:24.728741] INFO: jiekou: 返回结果:{'code': 40002, 'text': '干啥呀?'} +[2017-11-01 10:24:24.728741] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:24:24.728741] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:24.729741] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:24.729741] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:24:24.729741] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:24:24.729741] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:31.959155] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:24:32.040159] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:24:32.040159] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:24:32.054160] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:32.055160] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:24:32.055160] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:24:32.089162] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:24:32.090162] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:24:32.090162] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:32.091162] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:32.091162] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:24:32.091162] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:24:32.126164] INFO: jiekou: 返回结果:{'code': 40002, 'text': '有些话,难以说出口?'} +[2017-11-01 10:24:32.127164] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:24:32.127164] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:32.127164] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:32.127164] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:24:32.128164] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:24:32.128164] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:40.651652] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:24:40.728656] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:24:40.728656] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:24:40.743657] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:40.743657] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:24:40.743657] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:24:40.777659] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:24:40.777659] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:24:40.777659] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:40.778659] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:40.778659] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:24:40.779659] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:24:40.814661] INFO: jiekou: 返回结果:{'code': 40002, 'text': '干啥呀?'} +[2017-11-01 10:24:40.815661] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:24:40.815661] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:24:40.816661] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:24:40.816661] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:24:40.816661] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:24:40.817661] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:25:40.019048] INFO: jiekou: 当前模块 requests封装 +[2017-11-01 10:25:40.093052] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2017-11-01 10:25:40.094052] INFO: jiekou: 当前模块 解析测试用例文件 +[2017-11-01 10:25:40.109053] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:25:40.109053] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST +[2017-11-01 10:25:40.109053] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None +[2017-11-01 10:25:40.143055] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'} +[2017-11-01 10:25:40.143055] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:25:40.144055] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:25:40.144055] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:25:40.144055] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST +[2017-11-01 10:25:40.144055] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api +,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None +[2017-11-01 10:25:40.177057] INFO: jiekou: 返回结果:{'code': 40002, 'text': 'what?'} +[2017-11-01 10:25:40.177057] INFO: jiekou: 当前模块 断言测试结果 +[2017-11-01 10:25:40.178057] INFO: jiekou: 测试用例执行完毕 +[2017-11-01 10:25:40.178057] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:25:40.178057] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:25:40.178057] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:25:40.178057] INFO: jiekou: 测试用例执行完毕 diff --git a/run_excel_re.py b/run_excel_re.py index efaec37..8450e10 100644 --- a/run_excel_re.py +++ b/run_excel_re.py @@ -6,7 +6,7 @@ """ from Public.pyreport_excel import create import os,threading,datetime -from testCase.test_case import testinterface +from testCase.case import testinterface from Public.emmail import sendemali from Public.get_excel import datacel from Public.create_report import save_result diff --git a/run_html.py b/run_html.py index 85cdc3d..7e93182 100644 --- a/run_html.py +++ b/run_html.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # @Author : leizi import unittest,os,datetime,time -from testCase.test_case import testinterface +from testCase.case import testinterface from Public.py_Html import createHtml from Public.get_excel import datacel from Public.emmail import sendemali diff --git a/run_new.py b/run_new.py index b8286f8..36c26be 100644 --- a/run_new.py +++ b/run_new.py @@ -1,13 +1,15 @@ -from testCase.test import ApiTest +# -*- coding: utf-8 -*- +# @Author : leizi +from testCase.ddt_case import MyTest import unittest,time,os from Public import BSTestRunner if __name__=='__main__': suite = unittest.TestSuite() - suite.addTests(unittest.TestLoader().loadTestsFromTestCase(ApiTest)) + suite.addTests(unittest.TestLoader().loadTestsFromTestCase(MyTest)) now = time.strftime('%Y-%m%d', time.localtime(time.time())) basedir = os.path.abspath(os.path.dirname(__file__)) file_dir = os.path.join(basedir, 'test_Report') file = os.path.join(file_dir, (now + '.html')) re_open = open(file, 'wb') runner = BSTestRunner.BSTestRunner(stream=re_open, title='接口测试报告', description='测试结果') - runner.run(suite) \ No newline at end of file + runner.run(suite) diff --git a/testCase/test_case.py b/testCase/case.py similarity index 97% rename from testCase/test_case.py rename to testCase/case.py index badab4b..9d00989 100644 --- a/testCase/test_case.py +++ b/testCase/case.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # @Time : 2017/6/4 20:15 # @Author : lileilei -# @File : test_case.py +# @File : case.py from Interface.testFengzhuang import TestApi from Public.get_excel import datacel from Public.log import LOG,logger diff --git a/testCase/test.py b/testCase/ddt_case.py similarity index 69% rename from testCase/test.py rename to testCase/ddt_case.py index ac2e4fb..1e09ef3 100644 --- a/testCase/test.py +++ b/testCase/ddt_case.py @@ -1,20 +1,20 @@ from Interface.testFengzhuang import TestApi from Public.get_excel import datacel,makedata from Public.log import LOG,logger -import ddt,unittest +from Public.panduan import assertre +import ddt,unittest,time,os data_test=makedata() -@logger('执行测试用例') @ddt.ddt -class ApiTest(unittest.TestCase): +class MyTest(unittest.TestCase): def setUp(self): - pass + LOG.info('测试用例开始执行') def tearDown(self): - pass + LOG.info('测试用例执行完毕') @ddt.data(*data_test) def test_api(self,data_test): api = TestApi(url=data_test['url'], key=data_test['key'], connent=data_test['coneent'], fangshi=data_test['fangshi']) LOG.info('输入参数:url:%s,key:%s,参数:%s,请求方式:%s'%(data_test['url'],data_test['key'],data_test['coneent'], LOG.info('输入参数:url:%s,key:%s,参数:%s,请求方式:%s'%(data_test['url'],data_test['key'],data_test['coneent'],data_test['fangshi'])))) apijson = api.getJson() LOG.info('返回结果:%s'%apijson) - self.assertEqual(data_test['qiwang'],apijson,msg='预期和返回不一致') - + qingwang=assertre(asserqingwang=data_test['qiwang']) + self.assertNotEqual(dict(qingwang),dict(apijson),msg='预期和返回不一致') diff --git a/test_Report/2017-1031.html b/test_Report/2017-1101.html similarity index 50% rename from test_Report/2017-1031.html rename to test_Report/2017-1101.html index 2c72daa..8c6ced5 100644 --- a/test_Report/2017-1031.html +++ b/test_Report/2017-1101.html @@ -150,9 +150,9 @@ function showOutput(id, name) {
Start Time: 2017-10-31 21:15:03
-Duration: 0:00:00
-Status: none
+Start Time: 2017-11-01 10:25:40
+Duration: 0:00:00.070004
+Status: Pass 2 Error 1
测试结果
+
+pt1.1: [2017-11-01 10:25:40.109053] INFO: jiekou: 测试用例开始执行
+[2017-11-01 10:25:40.109053] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:POST
+[2017-11-01 10:25:40.109053] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api,key:aaaa,参数:sasa,请求方式:None
+[2017-11-01 10:25:40.143055] INFO: jiekou: 返回结果:{'code': 40001, 'text': '亲爱的,key不对哦。'}
+[2017-11-01 10:25:40.143055] INFO: jiekou: 当前模块 断言测试结果
+[2017-11-01 10:25:40.144055] INFO: jiekou: 测试用例执行完毕
+
+
+
+
+
+pt1.2: [2017-11-01 10:25:40.144055] INFO: jiekou: 测试用例开始执行
+[2017-11-01 10:25:40.144055] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api
+,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:POST
+[2017-11-01 10:25:40.144055] INFO: jiekou: 输入参数:url:http://www.tuling123.com/openapi/api
+,key:dfeb1cc8125943d29764a2f2f5c33739,参数:,请求方式:None
+[2017-11-01 10:25:40.177057] INFO: jiekou: 返回结果:{'code': 40002, 'text': 'what?'}
+[2017-11-01 10:25:40.177057] INFO: jiekou: 当前模块 断言测试结果
+[2017-11-01 10:25:40.178057] INFO: jiekou: 测试用例执行完毕
+
+
+
+ + +ft1.3: [2017-11-01 10:25:40.178057] INFO: jiekou: 测试用例开始执行 +[2017-11-01 10:25:40.178057] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:GET +[2017-11-01 10:25:40.178057] INFO: jiekou: 输入参数:url:https://api.douban.com/v2/photo/:id,key:,参数:,请求方式:None +[2017-11-01 10:25:40.178057] INFO: jiekou: 测试用例执行完毕 +Traceback (most recent call last): + File "C:\Users\Administrator\AppData\Roaming\Python\Python36\site-packages\ddt.py", line 139, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\Administrator\Desktop\jiekou-python3\testCase\ddt_case.py", line 17, in test_api + apijson = api.getJson() + File "C:\Users\Administrator\Desktop\jiekou-python3\Interface\testFengzhuang.py", line 27, in getJson + json_data = self.testapi() + File "C:\Users\Administrator\Desktop\jiekou-python3\Interface\testFengzhuang.py", line 21, in testapi + response = reques.get(self.url,self.parem) +TypeError: get() takes 2 positional arguments but 3 were given + + ++