def add_msg(self, inData, getToken=True): ''' :param inToken: 登录接口获取的token :param inData: 留言新增的body :return: 响应体 ''' if getToken == True: token = Login().login({ 'username': '******', 'password': '******' }, getToken=True) header = {'token': token, 'Content-Type': 'application/json'} else: Login().login({ 'username': '******', 'password': '******' }, getToken=False) header = {'Content-Type': 'application/json'} url = f'{HOST}/api/mAlarmHistory/getPageList' #请求头--需要带token---格式是字典 {键:值} # header = {'token':inToken,'Content-Type':'application/json'} payload = inData resp = requests.post(url, json=payload, headers=header) return resp.json()
def test_login(self, CaseName, inBody, expData): #2- 调用登录的接口代码 logger.info("\n ==========【登录】测试用例开始 ==========:" + str(CaseName)) res = Login().login(inBody, getToken=False) #获取响应数据---字典格式 #3- 预期结果--excel里与实际结果对比 logger.info('\n ----------【实际结果】 ----------:' + str(res)) logger.info('\n ----------【预期结果】 ----------:' + str(expData)) assert res['message'] == expData['message']
def test_login(self, inData, respData): # 1- 调用--封装模块 res = Login().login(inData, getToken=False) print(res) log.info('------##############------------') # 2- 断言 实际结果与预期的结果进行比较 try: assert res['msg'] == respData['msg'] except Exception as err: log.error(err) # raise err # 抛出异常
def update_shop_init(): #更新商铺的环境初始化 #1- 登录---setup_class---已经在类初始化做了--这边不需要做 print('---我的作用是商铺更新的初始化操作---') #1- 登录成功 token = Login().login({ "username": "******", "password": "******" }, getToken=True) #2- 列出商铺--id shopId = MyShop(token).shop_list({ 'page': 1, 'limit': 20 })['data']['records'][0]['id'] #3-文件上传 imageInfo = MyShop(token).file_upload('123.png', '../data/123.png') return shopId, imageInfo #元组类型
def test_login(self, body, repsData): res = Login().login(body, flag=True) #获取登录的响应数据 assert res['retcode'] == json.loads(repsData)['retcode'] #断言
def setup_class(self): #每一个类下面所有的方法调用只运行一次 self.token = Login().login( { 'username': '******', 'password': '******' }, getToken=True)
def setup_class(self): print('----类级别,只要调用这个测试类,我就第一个执行') self.session = Login().login(json.dumps({'username':'******','password':'******'}))
resp = requests.post(f'{HOST}/file',files=user_file,headers=self.header) return resp.json()['data']['realFileName']#图片信息 #4- 编辑商铺 #需要2个数据: 商铺的id ,图形信息---实时数据 def shop_update(self,inData,shopId,imageInfo): ''' :param inData:用例数据 :param shopId:商铺的id :param imageInfo:图形信息 :return: ''' inData['id'] = shopId#更新店铺id inData['image_path'] = imageInfo # 更新图片信息 inData['image'] = f"{HOST}/file/getImgStream?fileName={imageInfo}" # 更新图片信息 payload = inData url = f'{HOST}/shopping/updatemyshop' resp = requests.post(url,headers = self.header,data=payload) return resp.json()#响应数据 if __name__ == '__main__': #1- 登录成功 token = Login().login({"username":"******","password":"******"},getToken=True) #2- 列出商铺--id res=MyShop(token).shop_list({'page':1,'limit':20}) id=res['data']['records'][0]['id'] #3-文件上传 res = MyShop(token).file_upload('123.png','../../data/123.png') #4- 编辑商铺 pprint.pprint(res)
from lib.apiLib.login import Login #封装类 class Msg: def add_msg(self,inToken,inDtada): ''' :param inToken: 登录接口获取token :param inDtada:留言新增的body :return: ''' url=f'{HOST}/api/message' #请求头--需要带token---格式是字典 header = {'X-AUTH-TOKEN':inToken,'Content-Type': 'application/json'} payload = inDtada resp = requests.post(url,json=payload,headers=header) return resp.json() if __name__ == '__main__': #登录--获取token token=Login().login({'username': 20154084, 'password': '******'},getToken=True) info ={"title": "留言标题", "content": "留言内容"} res = Msg().add_msg(token,info) print(res)#这个留言的id作为后续的删除以及恢复操作 #新增留言
def test_login(self, inBody, expData): #2调用登录的接口代码 res = Login().login(inBody, getToken=False) #获取响应数据----字典 # 3 写入测试结果 pass/fail 预期结果与实际结果对比 assert res['message'] == expData['message']