Commit aec72d42424e0c297ba4160086852e02e7402a5f

Authored by 175930106
Committed by liujiqiang
1 parent 58ce55a3

删除冗余的代码

Showing 37 changed files with 262 additions and 433 deletions
src/commons/MyRequest.py
@@ -27,13 +27,15 @@ class myrequest(object): @@ -27,13 +27,15 @@ class myrequest(object):
27 return res 27 return res
28 28
29 def post(self,url, data=None, json=None, **kwargs): 29 def post(self,url, data=None, json=None, **kwargs):
  30 + '''处理动态数据的方法'''
30 log.info('{0:=^80}'.format('进行POST请求')) 31 log.info('{0:=^80}'.format('进行POST请求'))
31 log.info('请求地址为{};\n 请求body为{};\n'.format(url,data)) 32 log.info('请求地址为{};\n 请求body为{};\n'.format(url,data))
32 - res = self.se.post(url, data=data, json=json,proxies=self.proxies,**kwargs) 33 + res = self.se.post(url, data=data, json=json,**kwargs)
33 log.info('响应body为{};'.format(res.json())) 34 log.info('响应body为{};'.format(res.json()))
34 return res 35 return res
35 36
36 def post2(self,session,api,**kwargs): 37 def post2(self,session,api,**kwargs):
  38 + '''处理静态数据的方法'''
37 self.se=session 39 self.se=session
38 self.api=api.split("_")[2] 40 self.api=api.split("_")[2]
39 self.api_num=(api.split("_")[2]+api.split("_")[1]) 41 self.api_num=(api.split("_")[2]+api.split("_")[1])
src/commons/__pycache__/MyRequest.cpython-36.pyc
No preview for this file type
src/commons/__pycache__/SendEmail.cpython-36.pyc
No preview for this file type
src/commons/api/__pycache__/login.cpython-36.pyc
No preview for this file type
src/commons/api/__pycache__/upStream.cpython-36.pyc
No preview for this file type
src/commons/api/fieldConfig.py 0 → 100644
  1 +#!/usr/bin/python
  2 +# -*- coding: UTF-8 -*-
  3 +import requests
  4 +import json
  5 +import urllib3
  6 +from commons import ConfigDB as db
  7 +from commons import common as com
  8 +from commons.api.login import login
  9 +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
  10 +ll=login()
  11 +
  12 +#列表查询
  13 +class fieldConfig(login):
  14 +
  15 + url="http://test.trace.diligrp.com:8393/fieldConfig/doUpdate.action"
  16 + header={
  17 + "Host": "test.trace.diligrp.com:8393",
  18 + "Connection": "keep-alive",
  19 + "Content-Length": "1378",
  20 + "Accept": "application/json,text/javascript,*/*;q=0.01",
  21 + "X-Requested-With": "XMLHttpRequest",
  22 + "User-Agent": "Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/91.0.4472.77Safari/537.36",
  23 + "Content-Type": "application/json",
  24 + "Origin": "http://test.trace.diligrp.com:8393",
  25 + "Referer": "http://test.trace.diligrp.com:8393/fieldConfig/bill.html",
  26 + "Accept-Encoding": "gzip,deflate",
  27 + "Accept-Language": "zh-CN,zh-TW;q=0.9,zh;q=0.8,en;q=0.7"}
  28 +
  29 + body={"moduleType":"1","marketId":"8","fieldConfigDetailList":[{"fieldName":"unitPrice","jsonPath":"$.unitPrice","defaultId":"3","displayed":"1","required":"0"},{"fieldName":"arrivalTallynos","jsonPath":"$.arrivalTallynos","defaultId":"10","displayed":"1","required":"0"},{"fieldName":"brandName","jsonPath":"$.brandName","defaultId":"5","displayed":"1","required":"0"},{"fieldName":"truckTareWeight","jsonPath":"$.truckTareWeight","defaultId":"1","displayed":"1","required":"0"},{"fieldName":"originId","jsonPath":"$.originId","defaultId":"7","displayed":"1","required":"0"},{"fieldName":"specName","jsonPath":"$.specName","defaultId":"4","displayed":"1","required":"0"},{"fieldName":"truckType","jsonPath":"$.truckType","defaultId":"2","displayed":"1","required":"1","availableValueList":["10","20"]},{"fieldName":"imageCertList","jsonPath":"$.imageCertList[*]certType","defaultId":"11","displayed":"1","required":"0","availableValueList":["2","3"]},{"fieldName":"arrivalDatetime","jsonPath":"$.arrivalDatetime","defaultId":"9","displayed":"1","required":"0"},{"fieldName":"remark","jsonPath":"$.remark","defaultId":"8","displayed":"1","required":"0"},{"fieldName":"remark","jsonPath":"$.remark","defaultId":"6","displayed":"1","required":"0"},{"fieldName":"measureType","jsonPath":"$.measureType","defaultId":"12","displayed":"1","required":"1","availableValueList":["10","20"]}]}
  30 +
  31 + def __init__(self):
  32 + self.url=fieldConfig.url
  33 + self.header=fieldConfig.header
  34 + self.body=fieldConfig.body
  35 +
  36 + def post(self,name, password,**kwargs):
  37 + se=ll.get_session(name, password)
  38 + re=se.post(**kwargs)
  39 + ll.close_session()
  40 + return re
  41 +
  42 + def post2(self,session,name, password,**kwargs):
  43 + #直接传session,可以适配不用接口使用不同session的场景
  44 + se=ll.get_session(name, password)
  45 + re=session.post(**kwargs)
  46 + ll.close_session()
  47 + return re
  48 +
  49 +
  50 +# tt=fieldConfig()
  51 +# print(id(tt.body))
  52 +# print(id(upStream.body))
  53 +# tt.body["order"]=111
  54 +# print(tt.body)
  55 +# print(upStream.body)
  56 +# print(id(tt.body))
  57 +# print(id(upStream.body))
  58 +# #深拷贝
  59 +# t1=tt.body.copy()
  60 +# print(id(t1))
  61 +# print(id(tt.body))
  62 +# t1["rows"]="666"
  63 +# print(id(t1))
  64 +# print(id(tt.body))
  65 +# print(t1)
  66 +# print(tt.body)
  67 +
  68 +# tt.post("sg_wenze", "111111",url=tt.url,headers=tt.header,json=tt.body,proxies={'http': 'http://localhost:8888'})
  69 +
  70 +# # print(tt.class_var)
  71 +# # print(tt.login_url)
  72 +# tt.demo("sg_wenze", "111111",proxies={'http': 'http://localhost:8888'})
src/commons/api/login.py
@@ -6,7 +6,6 @@ import urllib3 @@ -6,7 +6,6 @@ import urllib3
6 from commons import ConfigDB as db 6 from commons import ConfigDB as db
7 from commons import common as com 7 from commons import common as com
8 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) 8 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
9 -from commons.MyRequest2 import myrequest  
10 9
11 #列表查询 10 #列表查询
12 class login(): 11 class login():
@@ -32,14 +31,7 @@ class login(): @@ -32,14 +31,7 @@ class login():
32 self.header=login.header 31 self.header=login.header
33 self.body=login.body 32 self.body=login.body
34 33
35 - def get_session(self,name,password,**kwargs):  
36 - self.body=login.body.replace("sg_wenze", name)  
37 - self.body=login.body.replace("111111", password)  
38 - self.se=requests.session()  
39 - self.se.post(url=login.url, headers=login.header,data=login.body,**kwargs)  
40 - return self.se  
41 -  
42 - def get_session2(self,account,**kwargs): 34 + def get_session(self,account,**kwargs):
43 self.body=self.body.replace("sg_wenze", com.get_global_config("global_data", "account", account).split("&")[0]) 35 self.body=self.body.replace("sg_wenze", com.get_global_config("global_data", "account", account).split("&")[0])
44 self.body=self.body.replace("111111", com.get_global_config("global_data", "account", account).split("&")[1]) 36 self.body=self.body.replace("111111", com.get_global_config("global_data", "account", account).split("&")[1])
45 self.se=requests.session() 37 self.se=requests.session()
src/commons/api/upStream.py
@@ -32,30 +32,16 @@ class upStream(login): @@ -32,30 +32,16 @@ class upStream(login):
32 self.url=upStream.url 32 self.url=upStream.url
33 self.header=upStream.header 33 self.header=upStream.header
34 self.body=upStream.body 34 self.body=upStream.body
35 -  
36 -# def post(self,name, password,**kwargs):  
37 -# se=super().get_session(name, password)  
38 -# #用了super后,下面的变量直接变成父类的变量了,跳过子类了,因此导致post请求的时候用实例变量会错误  
39 -# # print(self.header)  
40 -# # print(self.body)  
41 -# se.post(url=upStream.url, headers=upStream.header,json=upStream.body,**kwargs)  
42 -# super().close_session()  
43 35
44 - def post(self,name, password,**kwargs):  
45 - se=ll.get_session(name, password)  
46 - #用了super后,下面的变量直接变成父类的变量了,跳过子类了  
47 -# re=se.post(url=self.url, headers=self.header,json=self.body,**kwargs) 36 + def post(self,account,**kwargs):
  37 + se=ll.get_session(account)
48 re=se.post(**kwargs) 38 re=se.post(**kwargs)
49 ll.close_session() 39 ll.close_session()
50 return re 40 return re
51 41
52 -  
53 - def post2(self,session,name, password,**kwargs):  
54 - #直接传session,可以适配不用接口使用不同session的场景  
55 - se=ll.get_session(name, password)  
56 - print("post2",session)  
57 - #用了super后,下面的变量直接变成父类的变量了,跳过子类了  
58 -# re=se.post(url=self.url, headers=self.header,json=self.body,**kwargs) 42 + def post2(self,session,account,**kwargs):
  43 + #解决不同接口对于不同用户的场景
  44 + se=ll.get_session(account)
59 re=session.post(**kwargs) 45 re=session.post(**kwargs)
60 ll.close_session() 46 ll.close_session()
61 return re 47 return re
src/config/api/fieldConfig.conf 0 → 100644
  1 +# -*- coding: UTF-8 -*-
  2 +[fieldConfig]
  3 +method=post
  4 +url=http://test.trace.diligrp.com:8393/fieldConfig/doUpdate.action
  5 +body_format=JSON
  6 +header={
  7 + "Host": "test.trace.diligrp.com",
  8 + "Connection": "keep-alive",
  9 + "Content-Length": "325",
  10 + "Accept": "application/json,text/javascript,*/*;q=0.01",
  11 + "X-Requested-With": "XMLHttpRequest",
  12 + "User-Agent": "Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/90.0.4430.212Safari/537.36",
  13 + "Content-Type": "application/json",
  14 + "Origin": "http://test.trace.diligrp.com:8393",
  15 + "Referer": "http://test.trace.diligrp.com:8393/upStream/index.html",
  16 + "Accept-Encoding": "gzip,deflate",
  17 + "Accept-Language": "zh-CN,zh-TW;q=0.9,zh;q=0.8,en;q=0.7"}
  18 +
  19 +[fieldConfig01]
  20 +body={"rows":10,"page":1,"sort":"id","order":"desc","metadata":{"created":"{\"provider\":\"datetimeProvider\",\"index\":10,\"field\":\"created\"}","upORdown":"{\"provider\":\"userFlagProvider\",\"index\":20,\"field\":\"upORdown\"}","upstreamType":"{\"provider\":\"upStreamTypeProvider\",\"index\":30,\"field\":\"upstreamType\"}"}}
  21 +
  22 +
  23 +[fieldConfig02]
  24 +body={"rows":10,"page":1,"sort":"id","order":"desc","metadata":{"created":"{\"provider\":\"datetimeProvider\",\"index\":10,\"field\":\"created\"}","upORdown":"{\"provider\":\"userFlagProvider\",\"index\":20,\"field\":\"upORdown\"}","upstreamType":"{\"provider\":\"upStreamTypeProvider\",\"index\":30,\"field\":\"upstreamType\"}"}}
  25 +
  26 +
  27 +[fieldConfig03]
  28 +body={"rows":10,"page":1,"sort":"id","order":"desc","metadata":{"created":"{\"provider\":\"datetimeProvider\",\"index\":10,\"field\":\"created\"}","upORdown":"{\"provider\":\"userFlagProvider\",\"index\":20,\"field\":\"upORdown\"}","upstreamType":"{\"provider\":\"upStreamTypeProvider\",\"index\":30,\"field\":\"upstreamType\"}"}}
  29 +
  30 +
  31 +
  32 +
  33 +
src/main_bu.py 0 → 100644
  1 +#!/usr/bin/python
  2 +# -*- coding: UTF-8 -*-
  3 +import os,time
  4 +import unittest
  5 +import HTMLTestRunner_cn
  6 +import commons.SendEmail as em
  7 +
  8 +
  9 +if __name__ == "__main__":
  10 +
  11 + #递归查询测试用例
  12 + listaa = "E:\\EclipseWorkspace\\WorksapceDemo\\Request-demo-dili\\src\\testcase"
  13 + def Create_Testcase_suite():
  14 + '''可以拓展该方法,为读取相对路径,然后传入指定文件测试用例:
  15 + Create_Testcase_suite(最顶层用例文件Case_Sences,下一级具体接口文件,)
  16 + '''
  17 +
  18 + testunit=unittest.TestSuite()
  19 + #discover会展示有多少test_*.py的文件,然后for依次添加这些文件夹下test_*.py里面的testcase
  20 + #这个方法会识别指定目录下所有test_*.py文件和test_*.py文件中所有class *(unittest.TestCase)以及其中的case
  21 + #每一个接口文件下面都得添加一个_init_.py不然无法识别该文件下的test_*.py
  22 + #_init_.py把所在目录当作一个package处理, from-import 语句导入子包时需要用到它。 如果没有用到, 他们可以是空文件
  23 + #如引入package.module下的所有模块from package.module import *
  24 + #submitOrder文件下不加_init_.py时,test_submitOrder文件无法被搜索
  25 + discover=unittest.defaultTestLoader.discover(listaa,pattern='test_*.py',top_level_dir=None)
  26 + #dicover会按照class为一个单位把每一个文件下的每一个class单位下的所有用例都加载出来
  27 + print(discover)
  28 + for test_suite in discover:
  29 + testunit.addTests(test_suite)
  30 +# for test_case in test_suite:
  31 +# testunit.addTests(test_case)
  32 +# print(testunit)
  33 + return testunit
  34 + print(Create_Testcase_suite())
  35 + #创建测试报告
  36 +# now = time.strftime("%Y-%m-%d %H_%M_%S",time.localtime())
  37 +# filename="E:\\EclipseWorkspace\\WorksapceDemo\\Request-demo2\\src\\report\\"+now+"_result.html"
  38 +# fp=open(filename,'wb')
  39 +#
  40 +# runner=HTMLTestRunner_cn.HTMLTestRunner(
  41 +# stream=fp,
  42 +# title=u'搜索功能测试报告',
  43 +# description=u'用例执行情况:',
  44 +# verbosity = 2)
  45 +#
  46 +# runner.run(Create_Testcase_suite())
  47 +
  48 +
  49 +# #发送测试报告
  50 +# em.send_email(filename)
  51 +#
  52 +# fp.close()
  53 +#
  54 +# data = open(filename, 'r')
  55 +# print(data.read())
0 \ No newline at end of file 56 \ No newline at end of file
src/testcase/test_setup_teardown_demo/.gitignore renamed to src/testcase/test_fieldConfig/.gitignore
src/testcase/test_setup_teardown_demo/__init__.py renamed to src/testcase/test_fieldConfig/__init__.py
src/testcase/test_setup_teardown_demo/__pycache__/__init__.cpython-36.pyc renamed to src/testcase/test_fieldConfig/__pycache__/__init__.cpython-36.pyc
No preview for this file type
src/testcase/test_fieldConfig/__pycache__/test_fieldConfig.cpython-36.pyc 0 → 100644
No preview for this file type
src/testcase/test_setup_teardown_demo/__pycache__/test_setup_teardown.cpython-36.pyc renamed to src/testcase/test_fieldConfig/__pycache__/test_setup_teardown.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_myrequest/test_upStream.py renamed to src/testcase/test_fieldConfig/test_fieldConfig.py
@@ -14,7 +14,7 @@ uu=upStream() @@ -14,7 +14,7 @@ uu=upStream()
14 my=myrequest() 14 my=myrequest()
15 15
16 16
17 -class test_upStream(unittest.TestCase): 17 +class test_fieldConfig(unittest.TestCase):
18 '''分别封装各个接口和数据,数据处理过程写入代码''' 18 '''分别封装各个接口和数据,数据处理过程写入代码'''
19 @classmethod 19 @classmethod
20 def setUpClass(cls): 20 def setUpClass(cls):
@@ -24,62 +24,10 @@ class test_upStream(unittest.TestCase): @@ -24,62 +24,10 @@ class test_upStream(unittest.TestCase):
24 def setUp(self): 24 def setUp(self):
25 pass 25 pass
26 26
27 - def test_01_upStream(self): 27 + def test_01_fieldConfig(self):
28 #成功查询上下游企业,无过滤条件---直接调用登陆类的方法,session可以保持一致 28 #成功查询上下游企业,无过滤条件---直接调用登陆类的方法,session可以保持一致
29 #直接把接口和数据一起封装,测试时直接调用接口数据(请求数据没有修改的情况) 29 #直接把接口和数据一起封装,测试时直接调用接口数据(请求数据没有修改的情况)
30 - re=self.se.post(url=uu.url,headers=uu.header,json=uu.body)  
31 - print(re.json())  
32 - self.assertEqual(re.status_code, 200)  
33 -  
34 - def test_02_upStream(self):  
35 - #成功查询上下游企业,加入企业/个人名称过滤条件----直接调用登陆类的方法,session可以保持一致  
36 - #直接把接口和数据一起封装,测试时直接调用接口数据(需要修改请求数据的情况)  
37 - body=uu.body.copy()  
38 - body["likeName"]="111"  
39 - print("test_02_upStream",body)  
40 - re=self.se.post(url=uu.url,headers=uu.header,json=uu.body)  
41 - print(re.json())  
42 - self.assertEqual(re.status_code, 200)  
43 -  
44 - def test_03_upStream(self):  
45 - #成功查询上下游企业,加入业户名称名称过滤条件---实验直接传session给接口类使用(封装使用)  
46 - re=uu.post2(self.se,"sg_wenze", "111111",url=uu.url,headers=uu.header,json=uu.body)  
47 - print("test_03_upStream",re.json())  
48 - print(re.json())  
49 - self.assertEqual(re.status_code, 200)  
50 -  
51 - def test_04_upStream(self):  
52 - #成功查询上下游企业,加入业户名称名称过滤条件  
53 - #使用公共的请求方法,数据需要单独维护  
54 - re=my.post2(self.se,"test_01_upStream")  
55 - print("test_04_upStream",re.json())  
56 - self.assertEqual(re.status_code, 200)  
57 -  
58 - def tearDown(self):  
59 - print("tearDown")  
60 -  
61 - @classmethod  
62 - def tearDownClass(cls):  
63 - cls.se.close()  
64 -  
65 -  
66 -  
67 -class test_demo(unittest.TestCase):  
68 - '''提供一个封装好的公共方法,请求数据需求提前存储到配置文件'''  
69 - @classmethod  
70 - def setUpClass(cls):  
71 - #获取session  
72 - cls.se=ll.get_session("sg_wenze", "111111")  
73 -  
74 - def setUp(self):  
75 pass 30 pass
76 -  
77 - def test_01_demo(self):  
78 - #成功查询上下游企业,加入业户名称名称过滤条件  
79 - #使用公共的请求方法,数据需要单独维护  
80 - re=my.post2(self.se,"test_01_upStream")  
81 - print("test_01_upStream",re.json())  
82 - self.assertEqual(re.status_code, 200)  
83 31
84 def tearDown(self): 32 def tearDown(self):
85 print("tearDown") 33 print("tearDown")
@@ -91,19 +39,20 @@ class test_demo(unittest.TestCase): @@ -91,19 +39,20 @@ class test_demo(unittest.TestCase):
91 39
92 40
93 41
  42 +
94 if __name__ == "__main__": 43 if __name__ == "__main__":
95 #unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。 44 #unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。
96 #如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。 45 #如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。
97 46
98 -# unittest.main(verbosity=2) 47 + unittest.main(verbosity=2)
99 48
100 # # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码, 49 # # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,
101 # # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台 50 # # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台
102 - current_suite = unittest.TestSuite()  
103 - current_suite.addTest(test_upStream("test_08_upStream"))  
104 -# #以列表形式添加多个测试用例  
105 -# # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])  
106 -# # 执行测试  
107 - runner = unittest.TextTestRunner()  
108 -## runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))  
109 - runner.run(current_suite)  
110 \ No newline at end of file 51 \ No newline at end of file
  52 +# current_suite = unittest.TestSuite()
  53 +# current_suite.addTest(test_upStream("test_08_upStream"))
  54 +# # #以列表形式添加多个测试用例
  55 +# # # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])
  56 +# # # 执行测试
  57 +# runner = unittest.TextTestRunner()
  58 +# ## runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))
  59 +# runner.run(current_suite)
111 \ No newline at end of file 60 \ No newline at end of file
src/testcase/test_tms_common/.gitignore renamed to src/testcase/test_login/.gitignore
src/testcase/test_tms_common/__init__.py renamed to src/testcase/test_login/__init__.py
src/testcase/test_tms_common/__pycache__/__init__.cpython-36.pyc renamed to src/testcase/test_login/__pycache__/__init__.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_common/__pycache__/test_Systemskip.cpython-36.pyc renamed to src/testcase/test_login/__pycache__/test_Systemskip.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_common/__pycache__/test_Userskip.cpython-36.pyc renamed to src/testcase/test_login/__pycache__/test_Userskip.cpython-36.pyc
No preview for this file type
src/testcase/test_login/__pycache__/test_login.cpython-36.pyc 0 → 100644
No preview for this file type
src/testcase/test_tms_common/__pycache__/test_tms_common1.cpython-36.pyc renamed to src/testcase/test_login/__pycache__/test_tms_common1.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_common/__pycache__/test_tms_demo.cpython-36.pyc renamed to src/testcase/test_login/__pycache__/test_tms_demo.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_myrequest/test_upStream3.py renamed to src/testcase/test_login/test_login.py
@@ -13,37 +13,30 @@ ll=login() @@ -13,37 +13,30 @@ ll=login()
13 uu=upStream() 13 uu=upStream()
14 my=myrequest() 14 my=myrequest()
15 15
16 -class test_upStream3(unittest.TestCase):  
17 - '''每个接口都单独提供一个登录方法'''  
18 - 16 +
  17 +class test_login(unittest.TestCase):
  18 + '''分别封装各个接口和数据,数据处理过程写入代码'''
19 @classmethod 19 @classmethod
20 def setUpClass(cls): 20 def setUpClass(cls):
21 - pass 21 + #获取session
  22 + cls.se=ll.get_session("sg_wenze", "111111")
  23 +
22 def setUp(self): 24 def setUp(self):
23 pass 25 pass
24 26
25 - def test_01_upStream(self):  
26 - #成功查询上下游企业,加入企业/个人名称过滤条件----直接调用自己类的方法,session和其他用了可以不一致  
27 - #直接把接口和数据一起封装,测试时直接调用接口数据(需要修改请求数据的情况)  
28 - body=uu.body.copy()  
29 - body["likeName"]="111"  
30 - re=uu.post("sg_wenze", "111111",url=uu.url,headers=uu.header,json=body)  
31 - print(re.json())  
32 - self.assertEqual(re.status_code, 200)  
33 -  
34 - def test_02_upStream(self):  
35 - #成功查询上下游企业,加入业户名称名称过滤条件----直接调用自己类的方法,session和其他用了可以不一致  
36 - body=uu.body.copy()  
37 - body["likeUserName"]="地利人和"  
38 - re=uu.post("sg_wenze", "111111",url=uu.url,headers=uu.header,json=body)  
39 - print(re.json())  
40 - self.assertEqual(re.status_code, 200) 27 + def test_01_login(self):
  28 + #成功查询上下游企业,无过滤条件---直接调用登陆类的方法,session可以保持一致
  29 + #直接把接口和数据一起封装,测试时直接调用接口数据(请求数据没有修改的情况)
  30 + pass
41 31
42 def tearDown(self): 32 def tearDown(self):
43 - pass 33 + print("tearDown")
  34 +
44 @classmethod 35 @classmethod
45 def tearDownClass(cls): 36 def tearDownClass(cls):
46 - pass 37 + cls.se.close()
  38 +
  39 +
47 40
48 41
49 42
@@ -51,15 +44,15 @@ if __name__ == "__main__": @@ -51,15 +44,15 @@ if __name__ == "__main__":
51 #unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。 44 #unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。
52 #如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。 45 #如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。
53 46
54 -# unittest.main(verbosity=2) 47 + unittest.main(verbosity=2)
55 48
56 # # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码, 49 # # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,
57 # # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台 50 # # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台
58 - current_suite = unittest.TestSuite()  
59 - current_suite.addTest(test_upStream3("test_08_upStream"))  
60 -# #以列表形式添加多个测试用例  
61 -# # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])  
62 -# # 执行测试  
63 - runner = unittest.TextTestRunner()  
64 -## runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))  
65 - runner.run(current_suite)  
66 \ No newline at end of file 51 \ No newline at end of file
  52 +# current_suite = unittest.TestSuite()
  53 +# current_suite.addTest(test_upStream("test_08_upStream"))
  54 +# # #以列表形式添加多个测试用例
  55 +# # # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])
  56 +# # # 执行测试
  57 +# runner = unittest.TextTestRunner()
  58 +# ## runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))
  59 +# runner.run(current_suite)
67 \ No newline at end of file 60 \ No newline at end of file
src/testcase/test_setup_teardown_demo/test_setup_teardown.py deleted 100644 → 0
1 -#!/usr/bin/python  
2 -# -*- coding: UTF-8 -*-  
3 -import unittest  
4 -  
5 -  
6 -class test_setup_teardown1(unittest.TestCase):  
7 -  
8 - @classmethod  
9 - def setUpClass(cls):  
10 - print("setUpClass")  
11 -  
12 - def setUp(self):  
13 - print("setup")  
14 -  
15 - def test_01(self):  
16 - print("test_01")  
17 -  
18 - def test_02(self):  
19 - print("test_02")  
20 -  
21 - def tearDown(self):  
22 - print("tearDown")  
23 -  
24 - @classmethod  
25 - def tearDownClass(cls):  
26 - print("tearDownClass")  
27 -  
28 -if __name__ == "__main__":  
29 -#unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。  
30 -#如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。  
31 -  
32 - unittest.main(verbosity=2)  
33 -  
34 -# # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,  
35 -# # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台  
36 -# current_suite = unittest.TestSuite()  
37 -# current_suite.addTest(submitOrder("test_01"))  
38 -# #以列表形式添加多个测试用例  
39 -# # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])  
40 -# # 执行测试  
41 -# runner = unittest.TextTestRunner()  
42 -# #runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))  
43 -# runner.run(current_suite)  
44 \ No newline at end of file 0 \ No newline at end of file
src/testcase/test_tms_common/test_tms_common1.py deleted 100644 → 0
1 -#!/usr/bin/python  
2 -# -*- coding: UTF-8 -*-  
3 -import unittest  
4 -import requests  
5 -import json  
6 -import urllib3  
7 -from commons import ConfigDB as db  
8 -from commons import common as com  
9 -urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
10 -  
11 -class test_tms_common(unittest.TestCase):  
12 -  
13 - @classmethod  
14 - def setUpClass(cls):  
15 - cls.dict={}  
16 - cls.se=requests.session()  
17 - cls.proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'}  
18 - url=com.get_api_config('login', 'login01', 'url')  
19 - header=json.loads(com.get_api_config('login', 'login01', 'header'))  
20 - body=com.get_api_config('login', 'login01', 'body')  
21 - r=cls.se.post(url,data=body,headers=header,allow_redirects=False,proxies=cls.proxies)  
22 - print(r.status_code)  
23 -  
24 -  
25 - def test_01_saveOrUpdate(self):  
26 - #创建客户单必加test_  
27 - url=com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'url')  
28 - header01=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'update_header01'))  
29 - header02=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'update_header02'))  
30 - body=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'body'))  
31 - self.se.headers.update(header01)  
32 - self.se.headers.update(header02)  
33 - r=self.se.post(url,data=body,allow_redirects=False,proxies=self.proxies)  
34 - print(r.json())  
35 - self.dict["customerOrderNum"]=db.mysql_selectOne("SELECT `code` FROM `customer_order` WHERE id='%d';"%r.json()['data'])[0]  
36 -  
37 - @unittest.skipDepend(depend="test_01_saveOrUpdate")  
38 - def test_02_customerOrderSubmit(self):  
39 - #客户单拆单为承运单  
40 - url=com.get_api_config('customerOrderSubmit', 'customerOrderSubmit01', 'url')  
41 - header01=json.loads(com.get_api_config('customerOrderSubmit', 'customerOrderSubmit01', 'update_header01'))  
42 - body=json.loads(com.get_api_config('customerOrderSubmit', 'customerOrderSubmit01', 'body'))  
43 - body[0]["code"]=self.dict["customerOrderNum"]  
44 - body[1]["code"]=self.dict["customerOrderNum"]  
45 - self.se.headers.update(header01)  
46 - r=self.se.post(url,data=json.dumps(body),allow_redirects=False,proxies=self.proxies)  
47 - print(r.json())  
48 - self.dict["undertakeOrderID1"]=db.mysql_selectOne('SELECT id FROM `undertake_order` WHERE `code` ="%s";'%r.json()['data'][0])[0]  
49 - self.dict["undertakeOrderID2"]=db.mysql_selectOne('SELECT id FROM `undertake_order` WHERE `code` ="%s";'%r.json()['data'][1])[0]  
50 - print(self.dict)  
51 -  
52 - @unittest.skipDepend(depend="test_02_customerOrderSubmit")  
53 - def test_03_undertaskOrderSubmit(self):  
54 - #承运单合成货单  
55 - url=com.get_api_config('undertaskOrderSubmit', 'undertaskOrderSubmit01', 'url')  
56 - header01=json.loads(com.get_api_config('undertaskOrderSubmit', 'undertaskOrderSubmit01', 'update_header01'))  
57 - body=json.loads(com.get_api_config('undertaskOrderSubmit', 'undertaskOrderSubmit01', 'body'))  
58 - body['ids'][1]=self.dict["undertakeOrderID1"]  
59 - body['ids'][2]=self.dict["undertakeOrderID2"]  
60 - self.se.headers.update(header01)  
61 - r=self.se.post(url,data=json.dumps(body),allow_redirects=False,proxies=self.proxies)  
62 - print(r.json())  
63 - self.dict["transportOrderID"]=db.mysql_selectOne("SELECT `id` FROM `transport_order` WHERE firm_code = 'CC201905200058' ORDER BY id DESC LIMIT 1;")[0]  
64 - self.dict["undertakeGoodsID"]=db.mysql_selectOne("SELECT `id` FROM undertake_goods ORDER BY id DESC LIMIT 1;")[0]  
65 -  
66 - @unittest.skipDepend(depend="test_03_undertaskOrderSubmit")  
67 - def test_04_updateTransportOrderLoaded(self):  
68 - #货单进行发货  
69 - url=com.get_api_config('updateTransportOrderLoaded', 'updateTransportOrderLoaded01', 'url')  
70 - header01=json.loads(com.get_api_config('updateTransportOrderLoaded', 'updateTransportOrderLoaded01', 'update_header01'))  
71 - body=json.loads(com.get_api_config('updateTransportOrderLoaded', 'updateTransportOrderLoaded01', 'body'))  
72 - body['id']=self.dict["transportOrderID"]  
73 - body['undertTakeGoodsUpdateDtoList[0].goodsId']=(self.dict["undertakeGoodsID"]-1)  
74 - body['undertTakeGoodsUpdateDtoList[1].goodsId']=self.dict["undertakeGoodsID"]  
75 - self.se.headers.update(header01)  
76 - r=self.se.post(url,data=body,allow_redirects=False,proxies=self.proxies)  
77 - print(r.json())  
78 -  
79 - @unittest.skipDepend(depend="test_04_updateTransportOrderLoaded")  
80 - def test_05_departTransportOrder(self):  
81 - #货单进行发车  
82 - url=com.get_api_config('departTransportOrder', 'departTransportOrder01', 'url')  
83 - body=json.loads(com.get_api_config('departTransportOrder', 'departTransportOrder01', 'body'))  
84 - body['id']=self.dict["transportOrderID"]  
85 - r=self.se.post(url,data=body,allow_redirects=False,proxies=self.proxies)  
86 - print(r.json())  
87 - print(body,type(body))  
88 -# def tearDown(self):  
89 -# print("tearDown")  
90 -  
91 - @classmethod  
92 - def tearDownClass(cls):  
93 - print(cls.dict)  
94 -  
95 -if __name__ == "__main__":  
96 -#unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。  
97 -#如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。  
98 -  
99 - unittest.main(verbosity=2)  
100 -  
101 -# # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,  
102 -# # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台  
103 -# current_suite = unittest.TestSuite()  
104 -# current_suite.addTest(submitOrder("test_01"))  
105 -# #以列表形式添加多个测试用例  
106 -# # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])  
107 -# # 执行测试  
108 -# runner = unittest.TextTestRunner()  
109 -# #runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))  
110 -# runner.run(current_suite)  
111 \ No newline at end of file 0 \ No newline at end of file
src/testcase/test_tms_myrequest/test_tms_myrequest1.py deleted 100644 → 0
1 -#!/usr/bin/python  
2 -# -*- coding: UTF-8 -*-  
3 -import unittest  
4 -import json  
5 -import urllib3  
6 -from commons import ConfigDB as db  
7 -from commons import common as com  
8 -from commons.MyRequest import myrequest  
9 -urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
10 -my=myrequest()  
11 -  
12 -  
13 -class test_tms_myrequest(unittest.TestCase):  
14 -  
15 - @classmethod  
16 - def setUpClass(cls):  
17 - cls.dict={}  
18 - cls.se=my.getSession(True)  
19 -  
20 -# @unittest.skip("debug")  
21 - def test_01_saveOrUpdate(self):  
22 - #创建客户单必加test_  
23 - url=com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'url')  
24 - header01=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'update_header01'))  
25 - header02=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'update_header02'))  
26 - body=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'body'))  
27 - expect_response=json.loads(com.get_api_config('saveOrUpdate', 'saveOrUpdate01', 'expect_response'))  
28 - self.se.headers.update(header01)  
29 - self.se.headers.update(header02)  
30 - r=my.post(url,data=body,allow_redirects=False)  
31 - self.assertEqual(r.json()["code"], "200","first request failed")  
32 - self.assertEqual(com.compare_json(r.json(),expect_response),None,"json compare failed")  
33 - print(r.json())  
34 - self.dict["customerOrderNum"]=db.mysql_selectOne("SELECT `code` FROM `customer_order` WHERE id='%d';"%r.json()['data'])[0]  
35 -  
36 -  
37 - @unittest.skipDepend(depend="test_01_saveOrUpdate")  
38 - def test_02_customerOrderSubmit(self):  
39 - #客户单拆单为承运单  
40 - url=com.get_api_config('customerOrderSubmit', 'customerOrderSubmit01', 'url')  
41 - header01=json.loads(com.get_api_config('customerOrderSubmit', 'customerOrderSubmit01', 'update_header01'))  
42 - body=json.loads(com.get_api_config('customerOrderSubmit', 'customerOrderSubmit01', 'body'))  
43 - body[0]["code"]=self.dict["customerOrderNum"]  
44 - body[1]["code"]=self.dict["customerOrderNum"]  
45 - self.se.headers.update(header01)  
46 - r=my.post(url,data=json.dumps(body))  
47 - self.assertEqual(r.json()["code"], "200")  
48 - print(r.json())  
49 - self.dict["undertakeOrderID1"]=db.mysql_selectOne('SELECT id FROM `undertake_order` WHERE `code` ="%s";'%r.json()['data'][0])[0]  
50 - self.dict["undertakeOrderID2"]=db.mysql_selectOne('SELECT id FROM `undertake_order` WHERE `code` ="%s";'%r.json()['data'][1])[0]  
51 - print(self.dict)  
52 -  
53 - @unittest.skipDepend(depend="test_02_customerOrderSubmit")  
54 - def test_03_undertaskOrderSubmit(self):  
55 - #承运单合成货单  
56 - url=com.get_api_config('undertaskOrderSubmit', 'undertaskOrderSubmit01', 'url')  
57 - header01=json.loads(com.get_api_config('undertaskOrderSubmit', 'undertaskOrderSubmit01', 'update_header01'))  
58 - body=json.loads(com.get_api_config('undertaskOrderSubmit', 'undertaskOrderSubmit01', 'body'))  
59 - body['ids'][1]=self.dict["undertakeOrderID1"]  
60 - body['ids'][2]=self.dict["undertakeOrderID2"]  
61 - self.se.headers.update(header01)  
62 - r=my.post(url,data=json.dumps(body))  
63 - self.assertEqual(r.json()["code"], "200")  
64 - print(r.json())  
65 - self.dict["transportOrderID"]=db.mysql_selectOne("SELECT `id` FROM `transport_order` WHERE firm_code = 'CC201905200058' ORDER BY id DESC LIMIT 1;")[0]  
66 - self.dict["undertakeGoodsID"]=db.mysql_selectOne("SELECT `id` FROM undertake_goods ORDER BY id DESC LIMIT 1;")[0]  
67 -  
68 - @unittest.skipDepend(depend="test_03_undertaskOrderSubmit")  
69 - def test_04_updateTransportOrderLoaded(self):  
70 - #货单进行发货  
71 - url=com.get_api_config('updateTransportOrderLoaded', 'updateTransportOrderLoaded01', 'url')  
72 - header01=json.loads(com.get_api_config('updateTransportOrderLoaded', 'updateTransportOrderLoaded01', 'update_header01'))  
73 - body=json.loads(com.get_api_config('updateTransportOrderLoaded', 'updateTransportOrderLoaded01', 'body'))  
74 - body['id']=self.dict["transportOrderID"]  
75 - body['undertTakeGoodsUpdateDtoList[0].goodsId']=(self.dict["undertakeGoodsID"]-1)  
76 - body['undertTakeGoodsUpdateDtoList[1].goodsId']=self.dict["undertakeGoodsID"]  
77 - self.se.headers.update(header01)  
78 - r=my.post(url,data=body)  
79 - self.assertEqual(r.json()["code"], "200")  
80 - print(r.json())  
81 -  
82 - @unittest.skipDepend(depend="test_04_updateTransportOrderLoaded")  
83 - def test_05_departTransportOrder(self):  
84 - #货单进行发车  
85 - url=com.get_api_config('departTransportOrder', 'departTransportOrder01', 'url')  
86 - body=json.loads(com.get_api_config('departTransportOrder', 'departTransportOrder01', 'body'))  
87 - body['id']=self.dict["transportOrderID"]  
88 - r=my.post(url,data=body)  
89 - self.assertEqual(r.json()["code"], "200")  
90 - print(r.json())  
91 -  
92 - @unittest.skipDepend(depend="test_05_departTransportOrder")  
93 - def test_06_arrivalUnderTakeOrder(self):  
94 - #货单1到货登记  
95 - url=com.get_api_config('arrivalUnderTakeOrder', 'arrivalUnderTakeOrder01', 'url')  
96 - url_dict=com.get_to_post(url)  
97 - url_dict[[key for key in url_dict.keys() if "code" in key][0]]= db.mysql_selectOne("SELECT `code` FROM `undertake_order` where id ={};".format(self.dict["undertakeOrderID1"]))[0]  
98 - url=com.post_to_get(url_dict)  
99 - r=my.get(url)  
100 - self.assertEqual(r.json()["code"], "200")  
101 - print(r.json())  
102 -  
103 - @unittest.skipDepend(depend="test_06_arrivalUnderTakeOrder")  
104 - def test_07_arrivalUnderTakeOrder(self):  
105 - #货单2到货登记  
106 - url=com.get_api_config('arrivalUnderTakeOrder', 'arrivalUnderTakeOrder01', 'url')  
107 - url_dict=com.get_to_post(url)  
108 - url_dict[[key for key in url_dict.keys() if "code" in key][0]]= db.mysql_selectOne("SELECT `code` FROM `undertake_order` where id ={};".format(self.dict["undertakeOrderID2"]))[0]  
109 - url=com.post_to_get(url_dict)  
110 - r=my.get(url)  
111 - self.assertEqual(r.json()["code"], "200")  
112 - print(r.json())  
113 -  
114 -  
115 -# def tearDown(self):  
116 -# print("tearDown")  
117 -  
118 - @classmethod  
119 - def tearDownClass(cls):  
120 - print(cls.dict)  
121 - cls.se.close()  
122 -  
123 -if __name__ == "__main__":  
124 -#unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。  
125 -#如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。  
126 -  
127 - unittest.main(verbosity=2)  
128 -  
129 -# # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,  
130 -# # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台  
131 -# current_suite = unittest.TestSuite()  
132 -# current_suite.addTest(submitOrder("test_01"))  
133 -# #以列表形式添加多个测试用例  
134 -# # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])  
135 -# # 执行测试  
136 -# runner = unittest.TextTestRunner()  
137 -# #runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))  
138 -# runner.run(current_suite)  
139 \ No newline at end of file 0 \ No newline at end of file
src/testcase/test_tms_myrequest/.gitignore renamed to src/testcase/test_upStream/.gitignore
src/testcase/test_tms_myrequest/__init__.py renamed to src/testcase/test_upStream/__init__.py
src/testcase/test_tms_myrequest/__pycache__/__init__.cpython-36.pyc renamed to src/testcase/test_upStream/__pycache__/__init__.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_myrequest/__pycache__/test_Systemskip.cpython-36.pyc renamed to src/testcase/test_upStream/__pycache__/test_Systemskip.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_myrequest/__pycache__/test_Userskip.cpython-36.pyc renamed to src/testcase/test_upStream/__pycache__/test_Userskip.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_myrequest/__pycache__/test_tms_myrequest1.cpython-36.pyc renamed to src/testcase/test_upStream/__pycache__/test_tms_myrequest1.cpython-36.pyc
No preview for this file type
src/testcase/test_tms_myrequest/__pycache__/test_tms_myrequest_demo.cpython-36.pyc renamed to src/testcase/test_upStream/__pycache__/test_tms_myrequest_demo.cpython-36.pyc
No preview for this file type
src/testcase/test_upStream/__pycache__/test_upStream.cpython-36.pyc 0 → 100644
No preview for this file type
src/testcase/test_tms_myrequest/test_upStream2.py renamed to src/testcase/test_upStream/test_upStream.py
@@ -14,47 +14,85 @@ uu=upStream() @@ -14,47 +14,85 @@ uu=upStream()
14 my=myrequest() 14 my=myrequest()
15 15
16 #列表查询 16 #列表查询
17 -class test_upStream2(unittest.TestCase): 17 +class test_upStream1(unittest.TestCase):
18 18
19 @classmethod 19 @classmethod
20 def setUpClass(cls): 20 def setUpClass(cls):
21 #新增登记单 21 #新增登记单
22 - cls.se=ll.get_session2("user01") 22 + cls.se=ll.get_session("user01")
23 23
24 def setUp(self): 24 def setUp(self):
25 pass 25 pass
26 26
27 - def test_01_upStream(self):  
28 - #成功查询上下游企业,无过滤条件---直接调用登陆类的方法,session可以保持一致  
29 - #直接把接口和数据一起封装,测试时直接调用接口数据(请求数据没有修改的情况) 27 + def test_01_upStream1(self):
  28 + #成功查询上下游企业,无过滤条件
30 re=self.se.post(url=uu.url,headers=uu.header,json=uu.body) 29 re=self.se.post(url=uu.url,headers=uu.header,json=uu.body)
31 print(re.json()) 30 print(re.json())
32 self.assertEqual(re.status_code, 200) 31 self.assertEqual(re.status_code, 200)
33 32
34 - def test_02_upStream(self):  
35 - #成功查询上下游企业,加入企业/个人名称过滤条件----直接调用登陆类的方法,session可以保持一致  
36 - #直接把接口和数据一起封装,测试时直接调用接口数据(需要修改请求数据的情况) 33 + def test_02_upStream1(self):
  34 + #成功查询上下游企业,加入企业/个人名称过滤条件
37 body=uu.body.copy() 35 body=uu.body.copy()
38 body["likeName"]="111" 36 body["likeName"]="111"
39 print("test_02_upStream",body) 37 print("test_02_upStream",body)
40 re=self.se.post(url=uu.url,headers=uu.header,json=uu.body) 38 re=self.se.post(url=uu.url,headers=uu.header,json=uu.body)
41 print(re.json()) 39 print(re.json())
42 self.assertEqual(re.status_code, 200) 40 self.assertEqual(re.status_code, 200)
43 -  
44 - def test_03_upStream(self):  
45 - #成功查询上下游企业,加入业户名称名称过滤条件---实验直接传session给接口类使用(封装使用)  
46 - re=uu.post2(self.se,"sg_wenze", "111111",url=uu.url,headers=uu.header,json=uu.body)  
47 - print("test_03_upStream",re.json()) 41 +
  42 +# def test_03_upStream1(self):
  43 +# #成功查询上下游企业,加入业户名称名称过滤条件---使用不同的用户来调用接口
  44 +# re=uu.post("user01",url=uu.url,headers=uu.header,json=uu.body)
  45 +# print("test_03_upStream",re.json())
  46 +# print(re.json())
  47 +# self.assertEqual(re.status_code, 200)
  48 +
  49 +
  50 +class test_upStream2(unittest.TestCase):
  51 +
  52 + @classmethod
  53 + def setUpClass(cls):
  54 + pass
  55 +
  56 + def setUp(self):
  57 + pass
  58 +
  59 + def test_01_upStream2(self):
  60 + #成功查询上下游企业,无过滤条件
  61 + re=uu.post(url=uu.url,headers=uu.header,json=uu.body)
48 print(re.json()) 62 print(re.json())
49 self.assertEqual(re.status_code, 200) 63 self.assertEqual(re.status_code, 200)
50 -  
51 - def test_04_upStream(self): 64 +
  65 + def test_02_upStream2(self):
  66 + #成功查询上下游企业,加入企业/个人名称过滤条件
  67 + body=uu.body.copy()
  68 + body["likeName"]="111"
  69 + re=uu.post("sg_wenze", "111111",url=uu.url,headers=uu.header,json=body)
  70 + print(re.json())
  71 + self.assertEqual(re.status_code, 200)
  72 +
  73 + def test_03_upStream2(self):
52 #成功查询上下游企业,加入业户名称名称过滤条件 74 #成功查询上下游企业,加入业户名称名称过滤条件
53 - #使用公共的请求方法,数据需要单独维护  
54 - re=my.post2(self.se,"test_01_upStream")  
55 - print("test_04_upStream",re.json()) 75 + body=uu.body.copy()
  76 + body["likeUserName"]="地利人和"
  77 + re=uu.post("sg_wenze", "111111",url=uu.url,headers=uu.header,json=body)
  78 + print(re.json())
56 self.assertEqual(re.status_code, 200) 79 self.assertEqual(re.status_code, 200)
57 80
  81 +
  82 +# def test_04_upStream2(self):
  83 +# #成功查询上下游企业,加入业户名称名称过滤条件---实验直接传session给接口类使用(封装使用)
  84 +# re=uu.post2(self.se,"user01",url=uu.url,headers=uu.header,json=uu.body)
  85 +# print("test_03_upStream",re.json())
  86 +# print(re.json())
  87 +# self.assertEqual(re.status_code, 200)
  88 +#
  89 +# def test_05_upStream2(self):
  90 +# #成功查询上下游企业,加入业户名称名称过滤条件
  91 +# #使用公共的请求方法,数据需要单独维护
  92 +# re=my.post2(self.se,"test_01_upStream")
  93 +# print("test_04_upStream",re.json())
  94 +# self.assertEqual(re.status_code, 200)
  95 +
58 def tearDown(self): 96 def tearDown(self):
59 print("tearDown") 97 print("tearDown")
60 98
@@ -72,7 +110,7 @@ if __name__ == "__main__": @@ -72,7 +110,7 @@ if __name__ == "__main__":
72 # # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码, 110 # # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,
73 # # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台 111 # # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台
74 current_suite = unittest.TestSuite() 112 current_suite = unittest.TestSuite()
75 - current_suite.addTest(test_upStream2("test_01_upStream")) 113 + current_suite.addTest(test_upStream1("test_01_upStream1"))
76 # #以列表形式添加多个测试用例 114 # #以列表形式添加多个测试用例
77 # # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")]) 115 # # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])
78 # # 执行测试 116 # # 执行测试