Esempio n. 1
0
    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")
Esempio n. 2
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
Esempio n. 3
0
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!')
Esempio n. 4
0
 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()
Esempio n. 5
0
 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')
Esempio n. 6
0
 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'
     }