def login(self): mytest = test_login002 url = "http://api.lesson.sunnycare.cc/v1/lesson" headers = { 'User-Agent': 'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-Hans-CN;q=1', 'Content-Type': 'application/json', 'requestApp': '2', 'requestclient': '2', 'versionForApp': '4.1.1', 'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=', 'Connection': 'keep-alive' } data = { "token": auto_login_by_UID(), "lesson_code": "K00098", "timestamp": str(int(time.time())), "nonce": get_digit() } data['sign'] = get_sign(data) r = requests.post(url=url, headers=headers, json=data) print(r.json()['code']) ResponseTime = float(r.elapsed.microseconds) / 1000 mytest.times.append(ResponseTime) if r.status_code != 200: mytest.error.append("0")
class Get_lesson(TaskSet): #下面是请求接口所要用到的东西,包括请求参数t,请求头header t = { "lesson_code": "K00101", "timestamp": str(int(time.time())), "token": login_lanting.auto_login_by_UID(), "nonce": Hash.get_digit() } t['sign'] = Hash.get_sign(t) header = { 'User-Agent': 'LanTingDoctor/1.3.1 (iPad; iOS 10.1.1; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-Hans-CN;q=1', 'Content-Type': 'application/json', 'requestApp': '3', 'requestclient': '2', 'versionForApp': '2.0', 'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=', 'Connection': 'keep-alive' } #task()括号中代表执行压测时的比重 @task(1) def get_lesson(self): url = '/v1/lesson' r = self.client.post('/v1/lesson', headers=self.header, json=self.t) result = r.json() assert r.json()['code'] == 200
class User(TaskSet): #下面是请求头header header = { 'User-Agent': 'LanTingDoctor/2.0.2 (iPad; iOS 10.1.1; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-Hans-CN;q=1', 'Content-Type': 'application/json', 'requestApp': '3', 'requestclient': '2', 'versionForApp': '2.0', 'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=', 'Connection': 'keep-alive' } s = requests.session() t = login_lanting.auto_login_by_UID() #进入直播入参 into = { 'token': t, 'nonce': Hash.get_digit(), 'timestamp':str(int(time.time())), 'live_code': 'L2018112248566' } #加密 into['sign'] = Hash.get_sign(into) # de = { 'token': t, 'nonce': Hash.get_digit(), 'timestamp': str(int(time.time())), 'live_code': 'L2018121173179' } #入参加密 de['sign'] = Hash.get_sign(de) @task(1) def chekin(self): with self.client.post('/v1/live/checkIn',headers = self.header,json=self.into,catch_response=True) as response: #请求参数中通过catch_response=True来捕获响应数据,然后对响应数据进行校验 #使用success()/failure()两个方法来标识请求结果的状态 if response.status_code == 200: response.success() else: response.failure('not 200!') @task(1) def detail(self): with self.client.post('/v1/live/detail',headers = self.header,json=self.de,catch_response=True) as response: if response.status_code == 200: response.success() else: response.failure('not 200!')
def setUp(self): self.s = requests.session() self.auto_login_token = auto_login_by_UID() #auto_login_by_UID返回的token self.header = {'User-Agent': 'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-Hans-CN;q=1', 'Content-Type': 'application/json', 'requestApp': '2', 'requestclient': '2', 'versionForApp': '4.1.1', 'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=', 'Connection': 'keep-alive' } self.log = Log()
def setUpClass(cls): cls.s = requests.session() cls.to = auto_login_by_UID() cls.header = {'User-Agent': 'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-Hans-CN;q=1', 'Content-Type': 'application/json', 'requestApp': '2', 'requestclient': '2', 'versionForApp': '4.4.0', 'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=', 'Connection': 'keep-alive' } cls.log = Log() cls.excel = Excel_util(r'C:\Users\Administrator\Desktop\Interface_testcase.xls')
def __init__(self): self.url = 'http://api.lesson.sunnycare.cc/v1/lesson' self.t = auto_login_by_UID() self.s = requests.session() self.header = { 'User-Agent': 'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-Hans-CN;q=1', 'Content-Type': 'application/json', 'requestApp': '2', 'requestclient': '2', 'versionForApp': '4.1.1', 'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=', 'Connection': 'keep-alive' }