class TestDangdang: excel = OperationExcel() obj = Requests() mysql = mysqlUtils() def test_dangdang_0001(self): r = self.obj.request(url=self.excel.getUrl(row=1), method=self.excel.getMethod(row=1), json=self.excel.getDataValue(row=1)) return r.text # assert "您好,欢迎光临乐科二手图书网" in json.dumps(r.text,ensure_ascii=False) # assert r.status_code == 200 #断言状态码 def test_dangdang_0002(self): param = self.excel.getDataValue(row=2) r = self.obj.request(url=self.excel.getUrl(row=2), method=self.excel.getMethod(row=2), headers=self.excel.getHeaderss(row=2), params=param) # bookName = self.mysql.readSql(mysql="select * from d_product where id=%s",params=param) # assert r. def test_lagou_0003(self): r = self.obj.request(url=self.excel.getUrl(row=3), method=self.excel.getMethod(row=3), params=self.excel.getDataValue(row=3)) print(r.cookies)
class Testyunket: req = Requests() excel = OperationExcel() global header header = { 'Cookie': 'EDUWEBDEVICE=eb652b120b914846b23c63beb06c277b; EDU-YKT-MODULE_GLOBAL_PRIVACY_DIALOG=true; 1140087299=1140087299; OUTFOX_SEARCH_USER_ID_NCOO=249788378.68942502; UM_distinctid=17810f1747c959-08e92f47030c8c-53e356a-e1000-17810f1747da09; eds_utm=eyJjIjoiIiwiY3QiOiIiLCJpIjoiIiwibSI6IiIsInMiOiIiLCJ0IjoiIn0=|aHR0cHM6Ly93d3cuYmFpZHUuY29tL2xpbms/dXJsPVR4enQ0NmhqY3JwdEpmTUhhUXVJZkdfaC1sSjlvSFFWSUk4OWF1VFotNTMmd2Q9JmVxaWQ9YmIwODBiNmMwMDBmOGVhNzAwMDAwMDA1NjA0ZmViNDc=; __utmz=129633230.1615850317.54.6.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmc=129633230; hasVolume=true; _ntes_nnid=71d171bc2f56de60a5827b954bb84ede,1616046781328; _ntes_nuid=71d171bc2f56de60a5827b954bb84ede; mail_psc_fingerprint=cc3af4f76d860b369db5e0c817a013c9; sideBarPost=1264; videoResolutionType=3; videoVolume=0.75; videoRate=1.25; [email protected]:-1:1; __utma=129633230.358953019.1614867963.1616304865.1616395587.72; hb_MA-BFF5-63705950A31C_source=study.163.com; utm="eyJjIjoiIiwiY3QiOiIiLCJpIjoiIiwibSI6IiIsInMiOiIiLCJ0IjoiIn0=|aHR0cHM6Ly9rZS5zdHVkeS4xNjMuY29tL2NvdXJzZS9kZXRhaWwvMTAwMDc4MTM1P1BkdD15ZGtXZWImaW5Mb2M9d2ViX3NzX3NzcmM="; NTESSTUDYSI=5f57b893e5bf4efd970f60ba47c5a837; YD_SC_SID=1B28EE4C7F26457ABA09653964BDF7B8; NETS_utid=PLrpZOUlFduBQhIwDfKS8gY42U7dHZ8I; NTES_YD_SESS=FKppMFAiyqMdTh7Zl61_vM375uQ8iAPbF.LHJNbrdLNKkrW0kCD17ofnPN7ODsNL6w09kgGT1ODR_RiWg00A25QTeGeIzaVZHdhp5vOURcsaR8zG4pwxFu81rRoxopqUKf0pqwnJnafYlU1bLgIqnGF4F0iqYSItGK7dLyxSgJBS1qxNZLikxhMvXpjySleKu8hdei68daWPXlcwvFL9rxYlHE.dtzIoRFC1ryC55.XiV; NTES_YD_PASSPORT=k61Fbq7T8NGD05pD6Jp6iImr3X30dpgOtbsIygXeYC_U7LHE7Muc9bXpJT9Ru0TdrjEI7GfDcRu3x.XMjH3nGHAs_jJT0fLK65X5hjjtGZL6J8uWscDHV5D4FLArBu1y_dHbzxP.FueHZGD_X08gBUXMBXdAYau2my8OiOL72CIzQ8gCiihDs.z8MEHgfZfneJzaCRBbD2BUsiS5AfMUZam2z; S_INFO=1616395991|0|3&80##|13136166390; P_INFO=13136166390|1616395991|1|study|00&99|zhj&1615944585&study_client#zhj&330100#10#0#0|&0|null|13136166390; STUDY_INFO="[email protected]|8|1140087299|1616395991533"; STUDY_SESS="4lkUrV0rYQVkxP9TTAmtfR+osO3Q8sbuRISN7SjBO/T8OE5DU0SfMShyeZrB/dL5F1RaXEkOxmcSgbELZrqgeJkGKHYKN/z+Oh6H1wOxdiIB3NV+fRXRmH/WofdLjD7h4oJY+QrYmk3vnbSTDlLrRNZ/NiyCQaEopUqZDZ2gxCkLhur2Nm2wEb9HcEikV+3FTI8+lZKyHhiycNQo+g+/oA=="; STUDY_PERSIST="ds+yImgh5IpYpKxjPosiztPHxI1+N8tbqUONgMbLOoUsD3BBJXto75LdDkyiUJuV9EgMdSmdzomgVhGH6xTtKY1QayMWVQGifwrtWjYqZ9FsVwMHwtOnRDKFheN1TkcYRjyYDNEf0Dhr6F05Je6ySL/lLvgp7Lwd68Chfp2NLWRUySU1z8tua5AIWXI3WQ2K+34u5LQy3CEFkgM6BUwlp12V/BfAUihs+RTZV3Qq4l3ZgpjCC7Iso4RP9U87vJE8LtaQzUT1ovP2MqtW5+L3Hw+PvH8+tZRDonbf7gEH7JU="; DICT_SESS=v2|GA73zVulEBeZhfgz0HQuRl50fPKhfe406LhHOGO4PFRqZOfgyRLqy0QLhM6z64pz0Of6Mgz0LQy0kfOMJK0HpL0YGOLkm64eFR; DICT_LOGIN=1||1616395991585; NETEASE_WDA_UID=1140087299#|#1525503558748; NTES_STUDY_YUNXIN_ACCID=s-1140087299; NTES_STUDY_YUNXIN_TOKEN=0795677da5435c59a6da72305346c45e; STUDY_UUID=ff1c373b-c6a1-4bfb-b742-20a6a6749454; __utmb=129633230.31.8.1616396146409', 'content-type': 'application/json', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36' } # @pytest.fixture() def test_yunket_0001(self): '''模糊查询,根据字符串”python''' cookiess = getHeaders.readheader()['yunCookie'] response = self.req.request( url=getHeaders.getYunUrl(uri="/j/search/suggestions/courses.json"), method="post", # headers=header, headers=getHeaders.getJsonHeader(cookiess), params=self.excel.getDataValue(row=5)) assert response.json()['code'] == 0 assert response.json()['result'][0]['productName'] == "Python五项全能班·10班" assert response.status_code == 200 return response.json()
def setUp(self): self.methon = WebMethon() self.config = Config() self.excel = OperationExcel() self.pm = PublicMethod() self.operationJson = OperationJson() self.iscontent = IsContent()
class Testlagou: excel = OperationExcel() req = Requests() def test_listLaGou(self, first=True, pn=None, kd=None): data = self.excel.getDataValue(row=4) header = self.excel.getHeaderss(row=4) data['first'] = first data['pn'] = pn data['kd'] = kd r = self.req.request(url=self.excel.getUrl(row=4), method=self.excel.getMethod(row=4), headers=self.excel.getHeaderss(row=4), params=data) return r # print(header) def test_list_0001(self): '''测试kd为空''' response = self.test_listLaGou(pn=2) # assert response.json() != {} def test_list_0002(self): '''测试超过页数查询''' response = self.test_listLaGou(pn=65) # assert response.json() == {} print(response.json())
def setup_class(self): print('类前面,我爱你') self.obj = Method() self.p = IsContent() self.execl = OperationExcel() self.operationJson = OperationJson() self.log = Log()
def __init__(self): self.operationJson =OperationJson() self.excel = OperationExcel() self.excel_pre = OperationExcel_two() self.db=database() self.header_test = { "Host": "10.168.95.149:8022", "Content-Type": "application/json;charset=UTF-8", "Content-Length": "228", }
class TestBook(): excel=OperationExcel() obj=Requests() def result(self,r,row): assert r.status_code == 200 assert self.excel.get_Expect(row=row) in json.dumps(r.json(),ensure_ascii=False) def test_book_001(self): '''获取所书籍信息''' r= self.obj.get(url=self.excel.getUrl(row=1)) #asciiFalse或者True都可以,可以把json封装成方法 #assert self.excel.get_Expect(row=1) in json.dumps(r.json(),ensure_ascii=False) self.result(row=1,r=r) def test_book_002(self): '''添加书籍''' r=self.obj.post(url=self.excel.getUrl(row=2), json=self.excel.getJson(row=2)) print(r.json())
class TestDangdang: excel = OperationExcel() obj = Requests() mysql = mysqlUtils() # @pytest.mark.flaky(reruns=5) #失败执行多次 def test_dangdang_0001(self): r = self.obj.request(url=self.excel.getUrl(row=1), method=self.excel.getMethod(row=1), json=self.excel.getDataValue(row=1)) return r.text # assert "您好,欢迎光临乐科二手图书网" in json.dumps(r.text,ensure_ascii=False) # assert r.status_code == 200 #断言状态码 # time.sleep(1) # @pytest.mark.repeat(3) #c重复执行 def test_dangdang_0002(self): param = self.excel.getDataValue(row=2) r = self.obj.request(url=self.excel.getUrl(row=2), method=self.excel.getMethod(row=2), headers=self.excel.getHeaderss(row=2), params=param)
class TestBook: excel = OperationExcel() obj = Requests() def result(self, r, row): assert r.status_code == 200 assert self.excel.getExcept(row=row) in json.dumps(r.json(), ensure_ascii=False) def test_book_001(self): '''获取所有书籍信息''' r = self.obj.get(url=self.excel.getUrl(row=1)) self.result(r=r, row=1) def test_book_002(self): '''添加书籍''' r = self.obj.post(url=self.excel.getUrl(row=2), json=self.excel.getJson(row=2)) print(r.text) self.result(r=r, row=2) #writeContent(content=r.json()[0]['datas']['id']) def test_book_003(self): '''查看书籍''' r = self.obj.get(url=self.excel.getUrl(row=1)) print(r.url) self.result(r=r, row=3) def test_book_004(self): '''编辑书籍信息''' r = self.obj.put(url=self.excel.getUrl(row=4), json=self.excel.getJson(row=4)) self.result(r=r, row=4) def test_book_005(self): '''删除书籍信息''' r = self.obj.delete(url=self.excel.getUrl(row=5)) self.result(r=r, row=5)
class TestBook: excel = OperationExcel() obj = Requests() def result(self, r, row): assert r.status_code == 200 assert self.excel.getExResult(row=row) in json.dumps( r.json(), ensure_ascii=False) def test_book_001(self): '''获取所有书籍信息''' r = self.obj.get(url=self.excel.getReAddress(row=1)) self.result(r, 1) # print(r.json()) def test_book_002(self): '''添加书籍''' r = self.obj.post(url=self.excel.getReAddress(row=2), json=self.excel.getJson(row=2)) bookId = r.json()[0]['datas']['id'] writeContent(bookId) self.result(r, 2) def test_book_003(self): '''查看添加书籍信息''' r = self.obj.get(url=self.excel.getReAddress(row=3)) self.result(r, 3) def test_book_004(self): '''编辑书籍信息''' r = self.obj.put(url=self.excel.getReAddress(row=4), json=self.excel.getJson(row=4)) self.result(r, 4) def test_book_005(self): '''删除书籍信息''' r = self.obj.delete(url=self.excel.getReAddress(row=5)) self.result(r, 5)
class TestBook(): excel = OperationExcel() obj = Requests() def result(self, r, row): """对响应码和响应内容的断言""" assert r.status_code == 200 assert self.excel.get_expect(row=row) in json.dumps(r.json(), ensure_ascii=False) def test_book_001(self): """获取所有的书籍信息""" r = self.obj.get(url=self.excel.get_url(row=1)) self.result(r=r, row=1) def test_book_002(self): """ 验证添加书籍,两点: 1、需要校验用例是否执行成功,验证书籍添加成功 2、从响应结果中获取bookid,并将bookid写入到一个文件中,这个写入到文件的方法在common 下的public.py里面封装 """ r = self.obj.post(url=self.excel.get_url(row=2), json=self.excel.get_data()) write_content(content=r.json()[0]['datas']['id'], filedir='data', filename='bookId') self.result(r=r, row=2) def test_book_003(self): """ 查看添加的书籍,URL中包含动态参数bookid, 所以需要从文件中读取bookid的值,并修改获取url的函数(operationExcel.py中get_url()) 同理在public下面添加读取的方法 """ r = self.obj.get(url=self.excel.get_url(row=3)) self.result(r=r, row=2)
class TestBook: obj = Requests() excel = OperationExcel() def assert_status_code(self, row, r): assert int(self.excel.getExpect(row=row)) is r.status_code def test_book_001(self): '''获取所有书籍的信息''' r = self.obj.get(url=self.excel.geturl(row=1)) self.assert_status_code(row=1, r=r) def test_book_002(self): '''添加书籍''' r = self.obj.post(url=self.excel.geturl(2), json=self.excel.getjson(2)) writeContent('bookid', r.json()[0]['datas']['id']) # writeContent('bookid', 1) self.assert_status_code(row=2, r=r) def test_book_003(self): '''查看书籍''' r = self.obj.get(url=self.excel.geturl(3)) # print(readContent('bookid')) self.assert_status_code(row=3, r=r)
def setUp(self): self.obj = Method() self.p = IsContent() self.opexcel = OperationExcel()
def setUp(self): self.obj = Method() self.p = IsAssert() self.excel = OperationExcel() self.operationJson = OperationJson()
def __init__(self): self.json = OperationJson() #对两个类进行实例化 self.excel = OperationExcel()
def __init__(self): self.excel = OperationExcel() self.pm = PublicMethod()
# # import itertools # # # # res=[] # # # # for i in itertools.permutations(range(1,11),5): # # # # res.append(i[0]*10000+i[1]*1000+i[2]*100+i[3]*10+i[4]) # # # # print(res,len(res)) # # import random # # def a(): # # a = [1, 2, 3, 4, 5, 6, 7, 8, 9] # # b = random.sample(a, 1) # # return b # # # # print(a()) import requests from utils.operationExcel import OperationExcel OP = OperationExcel() ''' headers={ 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36', 'Cookie':'{0}'.format(OP.get_Csrf(file='writehead.xls',row=1)), 'Referer':'http://orp086.dev.chacha.top/' } data={'user_account':'18161327777','act':'password','password':'******','reg_url':'http://orp086.dev.chacha.top/'} r=requests.post(url='http://orp086.dev.chacha.top/user_center/user/login?{0}'.format(OP.get_Csrf(file='writehead.xls',row=1)),data=data,headers=headers) print(r.json()) ''' ''' headers = { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36',
def __init__(self): self.excel=OperationExcel()
def setUp(self): self.obj = Method() self.p = IsContent() self.execl = OperationExcel() self.operationJson = OperationJson()
import pytest, os, sys, json p = os.path.join(os.path.dirname(os.path.dirname(__file__))) sys.path.append(p) from common.public import * from common.data import * from base.method import Requests from utils.operationExcel import OperationExcel obj = Requests() objYaml = OperationExcel() dataobj = Isecd() @pytest.mark.parametrize('datas', objYaml.readExcel('testdata.xlsx')) def test_001(datas): test_001.__doc__ = datas["Description"] print("请求参数:" + "\n" + str(datas["Data"])) r = obj.post(url=datas["Url"], headers=datas["Header"], json=datas["Data"]) if datas["ExpectData"] == "database": subjectId = datas["Data"]["data"]["courseId"] teacherId = datas["Data"]["data"]["teacherId"] grdId = datas["Data"]["data"]["collegeId"] min = datas["Data"]["data"]["minToClassRate"] max = datas["Data"]["data"]["maxToClassRate"] startTime = datas["Data"]["data"]["startTime"] endTime = datas["Data"]["data"]["endTime"] lessnum = datas["Data"]["data"]["sectionId"] result = dataobj.stucountdetail(startTime, endTime, grdId, subjectId, teacherId, lessnum, min, max) print("数据库查询结果:" + "\n" + str(result))
def __init__(self): self.excel = OperationExcel() self.opertion = Operationjson() self.exdata = ExcelVariable()
class TestBook: excel=OperationExcel() obj=Requests() def result(self,r,row): '''将期望结果和协议状态码封装到一个函数''' assert r.status_code==200 assert self.excel.getExpect(row=row) in json.dumps(r.json(), ensure_ascii=False) def test_book_001(self): '''获取所有书籍的信息''' r=self.obj.get(url=self.excel.getUrl(row=1)) # print(r.json()) # print('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') # print(self.excel.getExpect(row=2)) # print('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') assert self.excel.getExpect(row=1) in json.dumps(r.json(),ensure_ascii=False) self.result(r=r,row=1) # def test_book_002(self): '''添加书籍''' r=self.obj.post( url=self.excel.getUrl(row=2), json=self.excel.getJson(row=2) ) # print(r.text) # print(type(json.dumps(r.json(), ensure_ascii=False))) #结果:<class 'str'> # print(json.dumps(r.json(),ensure_ascii=False)) # print(type(r.json())) #<class 'dict'> # print(r.json()) # print(type(r.json()[0]['datas']['id'])) #获取id 结果: <class 'int'> print(r.json()[0]['datas']['id']) #获取id bookID=r.json()[0]['datas']['id'] writeContent(content=bookID) #将ID写入到bookID中 # self.result(r=r,row=2) #断言封装为函数,调用函数报错 self.excel.getExpect(row=2) in json.dumps(r.json(), ensure_ascii=False) #断言 def test_book_003(self): '''查看书籍''' r=self.obj.get(url=self.excel.getUrl(row=3)) print(r.url) #获取响应的url print(r.json()) print(r.json()['datas'][0]['id']) self.result(r=r,row=3) # self.excel.getExpect(row=2) in json.dumps(r.json(),ensure_ascii=False) def test_book_004(self): '''编辑书籍信息''' r=self.obj.put( url=self.excel.getUrl(row=4), json=self.excel.getJson(row=4) ) self.result(r=r, row=4) def test_book_005(self): '''删除一条记录''' r=self.obj.delete( url=self.excel.getUrl(row=5) ) # print(r.json) self.result(r=r,row=5)
def __init__(self): self.excel=OperationExcel() self.log=MyLog()
def __init__(self): self.config = Config() self.excel = OperationExcel() self.public = PublicMethod() self.json = OperationJson()
# coding:utf-8 #heboqiang # import dubbo_telnet import requests from utils.excel_data import * from utils.operationExcel import OperationExcel from utils.operationJson import OperationJson import requests requests.packages.urllib3.disable_warnings() from configs.readCofig import * operationExcel=OperationExcel() def checkHeader(row,f1=None,f2=None): '''检测请求头''' url=operationExcel.getUrl(row=row) url=url.split('/') if url[4]=='positionAjax.json?needAddtionalResult=false': return f1 elif url[5]=='byPosition.json': return f2 class Method: def __init__(self): self.operationJson=OperationJson() self.excel=OperationExcel() def post(self,row,data,**kwargs):
def __init__(self): '''对OperationExcel类实例化''' self.excel = OperationExcel()
def __init__(self): self.operationJson=OperationJson() self.excel=OperationExcel()
def __init__(self): self.excel = OperationExcel() #继承OperationExcel类的方法,这里是是对类的实例化处理