pytest_lean2.py
#coding=utf-
import pytest
import os
import sys
import time
import json
sys.path.append("/".join(os.path.dirname(os.path.abspath(__file__)).split("/")[:-])+"/lib")
import requests
sys.path.append("/".join(os.path.dirname(os.path.abspath(__file__)).split("/")[:-]))
from util.getinfolib import getinfo
import logging,sys log = logging.getLogger(__name__) class TestUM: '''
setup_class**********>
setup_method##########>>
setup---------->
teardown---------->
teardown_method##########>>
teardown_class**********>
'''
def setup(self):
print ("setup---------->")
def teardown(self):
print ("teardown---------->")
def setup_class(self):
self.dic={}
self.url_1=getinfo().go()
self.headers={
'Accept': 'application/json, text/plain, */*'
,'client': 'Web'
,'Content-Type': 'application/json;charset=UTF-8'
,'Origin': self.url_1
,'Referer': self.url_1
,'token': 'NGKPaLge8urbOlOAuHasURwYP4AKQIo8O1zad5F3vLA='
,'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
}
print ("\nsetup_class**********>")
def teardown_class(self):
print ("teardown_class**********>")
def setup_method(self, method):
print ("setup_method##########>>")
def teardown_method(self, method):
print ("teardown_method##########>>") def get_company_id(self,url,type,companyName):
payload={
"companyType":type,
"companyStatus":"",
"hasEnv":"",
"hasDevice":"",
"page": ,
"size": ,
"companyName":""
}
r = requests.get(url, params=payload,headers=self.headers)
assert r.status_code==
assert r.json()['code']== company_list=r.json()["data"]['content']
for i in company_list:
if(i["companyName"]==companyName):
if(type==):
self.dic["waste_company_id"]=i["id"]
elif(type==):
self.dic["consumer_company_id"]=i["id"]
elif(type==):
self.dic["transport_company_id"]=i["id"]
elif(type==):
self.dic["operate_company_id"]=i["id"]
else:
self.dic["charge_company_id"]=i["id"]
break # kaptcha
def test_kaptcha(self): url=self.url_1+"/login/kaptcha"
payload = {}
r = requests.get(url, params=payload) assert r.status_code==
# login
def test_login_pc(self): url=self.url_1+"/login/pc"
payload = {"userName":"abc","passWord":"","kaptcha":""}
r = requests.get(url, params=payload)
self.dic["token"]=r.json()['data']['token']
self.dic["t"]=time.strftime("%Y%m%d%H%M%S", time.localtime())
self.headers["token"]=self.dic["token"] assert r.status_code==
assert r.json()['code']== # add_waste_company
def test_add_waste_company(self): url=self.url_1+"/companies"
payload={"companyName":"test产废单位","companyType":,"companyLinkman":"小明","companyPhone":"","address":{"province":,"city":,"area":,"street":,"detail":"东京市红高粱村"},"gpsLocation":"130,40","email":"ewew@qq.com","businessLicenceUrl":r"http://test-icloudeep-img.oss-cn-beijing.aliyuncs.com/module/uploads/cd7288dfc50f4a25ba15929e685a7f10.jpeg","nearWater":,"industryType":"mouldOfPlastics","companyStatus":"",'companyDesc':'原料'}
payload["companyName"]=payload["companyName"]+self.dic["t"]
payload["companyLinkman"]=payload["companyLinkman"]+self.dic["t"]
payload["companyDesc"]=payload["companyDesc"]+self.dic["t"] #带有嵌套的字典,需要转换为json传输
r = requests.post(url, data=json.dumps(payload),headers=self.headers) assert r.status_code==
assert r.json()['code']== #获取单位ID
self.get_company_id(url,payload["companyType"],payload["companyName"]) # add_trans_company
def test_add_trans_company(self): url=self.url_1+"/companies"
payload={"companyName":"test运输单位","companyType":,"companyLinkman":"小明","companyPhone":"","address":{"province":,"city":,"area":,"street":,"detail":"东京市红高粱村"},"gpsLocation":"132,26","email":"swded@qq.com","businessLicenceUrl":"http://test-icloudeep-img.oss-cn-beijing.aliyuncs.com/module/uploads/62c0eb0f821141cda92ffcec25d4208d.jpeg","remark":"备注"}
payload["companyName"]=payload["companyName"]+self.dic["t"]
payload["companyLinkman"]=payload["companyLinkman"]+self.dic["t"]
payload["remark"]=payload["remark"]+self.dic["t"] #带有嵌套的字典,需要转换为json传输
r = requests.post(url, data=json.dumps(payload),headers=self.headers) assert r.status_code==
assert r.json()['code']== #获取单位ID
self.get_company_id(url,payload["companyType"],payload["companyName"]) # add_consumer_company
def test_add_consumer_company(self): url=self.url_1+"/companies"
payload={"companyName":"test处置单位","companyType":,"companyLinkman":"小明","companyPhone":"","address":{"province":,"city":,"area":,"street":,"detail":"东京市红高粱村"},"gpsLocation":"132,23","email":"wqwq@qq.com","businessLicenceUrl":"http://test-icloudeep-img.oss-cn-beijing.aliyuncs.com/module/uploads/c36c0e66b9954761a90aba9f5b19c71d.jpeg","remark":"备注","nearWater":""}
payload["companyName"]=payload["companyName"]+self.dic["t"]
payload["companyLinkman"]=payload["companyLinkman"]+self.dic["t"]
payload["remark"]=payload["remark"]+self.dic["t"] #带有嵌套的字典,需要转换为json传输
r = requests.post(url, data=json.dumps(payload),headers=self.headers) assert r.status_code==
assert r.json()['code']== #获取单位ID
self.get_company_id(url,payload["companyType"],payload["companyName"]) # add_charge_company
def test_add_charge_company(self): url=self.url_1+"/companies"
payload={"companyName":"test监管单位","companyType":,"companyLinkman":"小明","companyPhone":"","address":{"province":,"city":,"area":,"street":,"detail":"东京市红高粱村"},"gpsLocation":"132,22","email":"swsq@qq.com","businessLicenceUrl":"http://test-icloudeep-img.oss-cn-beijing.aliyuncs.com/module/uploads/f448cc7669cf45eda56b6181d1bd20b7.jpeg","remark":"备注","adminArea":{"wholeCountry":"false","province":,"city":"","area":"","street":""}}
payload["companyName"]=payload["companyName"]+self.dic["t"]
payload["companyLinkman"]=payload["companyLinkman"]+self.dic["t"]
payload["remark"]=payload["remark"]+self.dic["t"] #带有嵌套的字典,需要转换为json传输
r = requests.post(url, data=json.dumps(payload),headers=self.headers) assert r.status_code==
assert r.json()['code']== #获取单位ID
self.get_company_id(url,payload["companyType"],payload["companyName"]) # add_operate_company
def test_add_operate_company(self): url=self.url_1+"/companies"
payload={"companyName":"test运营单位","companyType":,"companyLinkman":"小明","companyPhone":"","address":{"province":,"city":,"area":,"street":,"detail":"东京市红高粱村"},"gpsLocation":"132,26","email":"deswaq@qq.com","businessLicenceUrl":"http://test-icloudeep-img.oss-cn-beijing.aliyuncs.com/module/uploads/7a4c448f9ec349a496d414440f42f09f.jpeg","remark":"备注","adminArea":{"wholeCountry":"false","province":,"city":,"area":"","street":""}}
payload["companyName"]=payload["companyName"]+self.dic["t"]
payload["companyLinkman"]=payload["companyLinkman"]+self.dic["t"]
payload["remark"]=payload["remark"]+self.dic["t"] #带有嵌套的字典,需要转换为json传输
r = requests.post(url, data=json.dumps(payload),headers=self.headers) assert r.status_code==
assert r.json()['code']== #获取单位ID
self.get_company_id(url,payload["companyType"],payload["companyName"]) # add_wasteinfo_company def test_add_wasteinfo_company(self):
url=self.url_1+"/companies/"+self.dic["waste_company_id"]+"/declarations/producer"
payload={"wasteInfo":[{"wasteType":"HW09","wasteCode":"900-005-09","customWasteName":"废乳化液","yearDeclare":"","consumerId":"20191126200118230CP515590"}]}
payload["wasteInfo"][]["consumerId"]=self.dic["consumer_company_id"]
#带有嵌套的字典,需要转换为json传输
r = requests.post(url,data=json.dumps(payload),headers=self.headers)
log.info(r.json())
assert r.status_code==
assert r.json()['code']==

调用命令

pytest pytest_lean2.py -o log_cli=true -o log_cli_level=INFO

参考:

https://www.cnblogs.com/landhu/p/9910460.html

最新文章

  1. python列表、元组、字典(四)
  2. html中的元素和节点
  3. jmeter随笔(4)--中文url编码问题
  4. noj [1475] Bachelor (找1的个数)
  5. careercup-树与图 4.6
  6. Flask对请求的处理
  7. Windows下Oracle的下载与安装
  8. 理解主从设备模式(Master-Slave)
  9. vue+element-ui实现行数可控的表格输入
  10. 【转载】 星际争霸2的AI环境搭建
  11. React页面插入script
  12. click事件和mousedown、mouseup事件
  13. POJ2387(KB4-A)
  14. 20155325 2016-2017-2 《Java程序设计》第5周学习总结
  15. python-select异步IO
  16. config的配置文件
  17. vbs notepad输入中文字符
  18. 05-ognl基本语法
  19. Snapdragon profiler连android手机
  20. 【学习笔记-中国剩余定理】POJ1006 Biorhythms

热门文章

  1. ScheduledThreadPoolExecutor周期任务或延时任务线程池
  2. [转帖]从零开始入门 K8s | 手把手带你理解 etcd
  3. 单片机成长之路(51基础篇) - 023 N76e003 系统时钟切换到外部时钟
  4. kafka 解密:破除单机topic数多性能下降魔咒
  5. WPF DispatcherTimer一些个人看法 (原发布 csdn 2017-04-25 19:12:22)
  6. layui提示框事件
  7. Kubernetes中的Volume介绍
  8. python 进程和线程-简介及进程
  9. Django2.0版本以上与pymsql 不匹配问题以及解决方法
  10. RabbitMQ如何实现高可用