예제 #1
0
    def checkResult(self):
        url = geturlParams().get_url(readconfig.get_http('baseurl_first'),
                                     self.request_path)  # 调用我们的geturlParams获取我们拼接的url
        new_url = url + self.request_data
        data = dict(urllib.parse.parse_qsl(
            urllib.parse.urlsplit(
                new_url).query))  # 将一个完整的URL中的name=&password=转换为{'username':'******','password':'******'}
        # 调用util进行加密
        page = util.md5_join_b64(data.get("page", ""))
        type = util.md5_join_b64(data.get("type", ""))
        # # 把加密后的值在替换到相应的位置
        data["page"] = page
        data["type"] = type
        info = RunMain().run_main(self.request_method, url,data=data)  # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
        ss = info.json()  # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
        if self.case_name == 'taskTypeInfo_success':  # 如果case_name是login,说明合法,返回的code应该为200
            self.assertEqual(self.expect_code, ss['code'])
        #     数据库断言,判断taskTypeInfo响应列表的长度是否与m_project查询的长度一致
            now_time=time.time()
            sql="SELECT *  FROM `m_project` WHERE `expire_time` > {} AND `stat` = 1 AND `type` IN ('21') ORDER BY create_time desc LIMIT 0,15".format(now_time)

            # 加数据库
            res = db.check_user(sql)
            len01=len(res)
            self.assertEqual(len01,len(ss["data"]))
        if self.case_name == 'taskTypeInfo_error':  # 同上
            self.assertEqual(self.expect_code, ss['code'])
예제 #2
0
 def test_researchreport_list_01(self):
     """参数有tycoon_id,返回大咖主页研报"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"tycoon_id":%(tycoon_id)d,' \
            '"query_type":"all",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'tycoon_id': self.researchreport_detail["tycoon_id"],
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url, data=json.dumps(form), headers=headers)
     researchreport_all = RunMain().decrypt_to_dict(response, 'r')
     # - charge 列表为收费研报
     # - free  列表为免费研报
     title_list = []
     for free_page in ["free", "charge"]:
         if free_page in researchreport_all.keys():
             for researchreport in researchreport_all[free_page]:
                 title_list.append(researchreport["title"])
     msg = f'大咖id为{self.researchreport_detail["tycoon_id"]},大咖的研报应该包含{self.researchreport_detail["title"]}'
     self.assertIn(self.researchreport_detail["title"], title_list, msg)
예제 #3
0
    def xcx_order(self):
        data = json.loads(self.data)
        if self.case_name == "getOrder":
            info = RunMain().run_main(self.method,
                                      url + self.path + "?token=xcxlogin%3A16e265ff-ff1f-4ab1-a998-1f6325c8a357&status=&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058",
                                      data)
            res = json.loads(info)
            self.assertEqual(res['Code'], "000000")
            print("-----全部订单------")

        if self.case_name == "getReadyPayOrder":
            info = RunMain().run_main(self.method,
                                      url + self.path + "?token=xcxlogin%3A16e265ff-ff1f-4ab1-a998-1f6325c8a357&status=1&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058",
                                      data)
            res = json.loads(info)
            self.assertEqual(res['Code'], "000000")
            print("-----待付款订单------")

        if self.case_name == "getReadySendOrder":
            info = RunMain().run_main(self.method,
                                      url + self.path + "?token=xcxlogin%3A16e265ff-ff1f-4ab1-a998-1f6325c8a357&status=2&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058",
                                      data)
            res = json.loads(info)
            self.assertEqual(res['Code'], "000000")
            print("-----待发货订单------")
예제 #4
0
 def checkResult(self):# 断言
     """
     check test result
     :return:
     """
     new_url = self.url + self.path
     # data1 = dict(urllib.parse.parse_qsl(urllib.parse.urlsplit(new_url).query))# 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'}
     headers = {'Content-Type': 'application/json; charset=UTF-8'}
     result = RunMain().requests(self.method, new_url, self.params,headers)# 根据Excel中的method调用run_main来进行requests请求,并拿到响应
     status = RunMain().getValue(result,'status')
     if self.assertEqual(self.status,status)== False:
         print(self.case+'测试失败')
         logger.info(self.case+'测试失败!')
         logger.info('断言失败:'+'exp='+self.status+'实际请求='+status)
     else:
         if status == 1:
             token = RunMain().getValue(result, 'token')
             userid = RunMain().getValue(result, 'userid')
             targetid = RunMain().getValue(result, 'targetid')
             ReadConfig().set_value('token',token)
             ReadConfig().set_value('userid', userid)
             ReadConfig().set_value('targetid', targetid)
             print(self.case + '测试通过')
             logger.info(self.case + '测试通过!')
         else:
             logger.info(self.case + '测试通过!')
             print(self.case+'测试通过')
예제 #5
0
    def xcx_order(self):
        data = json.loads(self.data)
        if self.case_name == "getOrder":
            info = RunMain().run_main(self.method,
                                      url + self.path + "?token=xcxlogin%3A7b51c26e-43a2-4f7b-91b4-53c9f757961e&status=&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058",
                                      data)
            res = json.loads(info)
            self.assertEqual(res['Code'], "000000")
            print("-----全部订单------")

        if self.case_name == "getReadyPayOrder":
            info = RunMain().run_main(self.method,
                                      url + self.path + "?token=xcxlogin%3A7b51c26e-43a2-4f7b-91b4-53c9f757961e&status=1&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058",
                                      data)
            res = json.loads(info)
            self.assertEqual(res['Code'], "000000")
            print("-----待付款订单------")

        if self.case_name == "getReadySendOrder":
            info = RunMain().run_main(self.method,
                                      url + self.path + "?token=xcxlogin%3A7b51c26e-43a2-4f7b-91b4-53c9f757961e&status=2&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058",
                                      data)
            res = json.loads(info)
            self.assertEqual(res['Code'], "000000")
            print("-----待发货订单------")
예제 #6
0
 def test_tycoon_list_01(self):
     """参数有tycoon_id,返回单个大咖信息"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"tycoon_id":%(tycoon_id)d,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",'\
            '"device_id":"802ca0fba119ab0a",' \
            '"limit":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'tycoon_id': self.tycoon_detail["id"],
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url, data=json.dumps(form), headers=headers)
     print(RunMain().decrypt_to_dict(response, 'r'))
     tycoon_name = RunMain().decrypt_to_dict(response, 'r')[0]["name"]
     self.assertEqual(self.tycoon_detail["name"], tycoon_name, "大咖姓名应该是{0}".format(self.tycoon_detail["name"]))
예제 #7
0
 def get_response_tycoon_video(self, response):
     video_id_list = []
     video_all = RunMain().decrypt_to_dict(response, 'r')
     for key in video_all.keys():
         for video in video_all[key]:
             video_id_list.append(video["id"])
     return video_id_list
예제 #8
0
 def hotsearch_list_video(self, content, category):
     time.sleep(1)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"content_id": %(content_id)d, ' \
            '"content_type": %(content_type)d, ' \
            '"os_type": 1, ' \
            '"app_version": "%(version)s", ' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'content_id': content["content_id"],
                'content_type': content["content_type"],
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     headers = RunMain().headers()
     url = baseurl + "/cms/v1.2/video"
     response = requests.post(url=url,
                              data=json.dumps(form),
                              headers=headers)
     msg = "搜索页面{0}页签的{1}视频无法点播".format(category, content["title"])
     self.assertEqual(200, response.status_code, msg=msg)
     response_data = RunMain().decrypt_to_dict(response, 'r')
     self.assertEqual(content["content_id"], response_data['id'], msg=msg)
예제 #9
0
 def checkResult(self):
     url = self.url + self.path
     result = RunMain().run_main(self.method, url, self.params)
     exp = RunMain().getValue(result, 'message')
     #print('请求的message:'+ exp+'读取的message:'+self.msg)
     #self.assertEqual(exp,self.msg)
     if self.assertEqual(exp, self.msg) is 'False':
         log.info('断言失败:' + 'exp=' + exp + 'msg=' + self.msg)
예제 #10
0
 def test_a_run(self):
     #self.assertEqual(1,1)
     param = {'type': 'yuantong', 'postid': '806063787827863801'}
     result = RunMain().run_main('post', 'http://www.kuaidi100.com/query',
                                 param)
     res = RunMain().getValue(result, 'message')
     value = self.assertEqual('ok', str(res))
     print(res, '结果:', value)
예제 #11
0
파일: readExcel.py 프로젝트: HEhunter/code
 def test_register(self, data_item):
     # 调用configHttp runmanin
     result = RunMain().run_main(data_item['method'], data_item['url'],
                                 data)
     message = RunMain().getValue(result, 'expectValue')
     try:
         print(message)
         self.assertEqual(data_item['msg'], message)
     except AssertionError as e:
         print('Failed')
         raise e
예제 #12
0
    def checkResult(self):  # 断言

        new_url = url + self.path
        info = RunMain().run_main(self.method, url=new_url, headers=self.header, data=self.query)
        code = info.json()
        if self.case_name == 'login1':
            self.assertEqual(info.status_code, 200)
            self.assertEqual(json.dumps(code), self.result)
            print('请求结果: {}'.format(code))
            log.info('请求结果: {}'.format(code))
        if self.case_name == 'login2':
            self.assertEqual(info.status_code, 200)
            print('请求结果: {}'.format(code))
            log.info('请求结果: {}'.format(code))
예제 #13
0
 def checkResult(self):  # 断言
     new_url = url + self.path
     # new_url_data = new_url + "?" + self.query
     # data1 = dict(urllib.parse.parse_qsl(
     #     urllib.parse.urlsplit(new_url_data).query))  # 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'}
     if self.method == 'post_cookies' or self.method == 'post':
         info = RunMain().run_main(
             self.method, new_url, json.loads(self.query),
             'pc')  # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
     elif self.method == 'get_cookies' or self.method == 'get':
         info = RunMain().run_main(self.method, new_url, self.query, 'pc')
     ss = json.loads(info)  # 将响应转换为字典格式
     #提交订单
     if self.case_name == 'order_class':
         Assertions.assert_body(self, ss, 'status', 2)
예제 #14
0
 def chechResult(self):
     url = geturlParams().get_url(readconfig.get_http('baseurl_first'),
                                  self.request_path)  # 调用我们的geturlParams获取我们拼接的url
     new_url = url + self.request_data
     data = dict(urllib.parse.parse_qsl(
         urllib.parse.urlsplit(
             new_url).query))  # 将一个完整的URL中的name=&password=转换为{'username':'******','password':'******'}
     info = RunMain().run_main(self.request_method, url, data)  # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
     ss = info.json()  # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
     if self.case_name == 'addProjectAudit_success':  # 如果case_name是login,说明合法,返回的code应该为200
         self.assertEqual(self.expect_code, ss['code'])
         #     数据表断言,检查接口是否新增成功,是否写入到表
         self.assertTrue(db.check_user(read_data[1].replace("\n","")))
     if self.case_name == 'addProjectAudit_error':  # 同上
         self.assertEqual(self.expect_code, ss['code'])
예제 #15
0
    def test_checkResult(self):
        """
        check test report
        :return:
        """
        cu.execute(self.sql)
        da = cu.fetchall()

        if self.case_name.startswith("类型不关联任务"):
            task_type = da[0][0]

            get_query = json.dumps(dict(eval(self.query)))
            get_url = url + self.path
            req = RunMain().run_main(self.method, get_url,
                                     get_query.encode('utf-8'))
            data = json.loads(req.text)
            res = json.dumps(data, ensure_ascii=False, indent=1)
            print("url:" + get_url + "\n" + "query:\n" + self.query)
            print("\n接口返回数据:\n\n" + res + "\n")

        elif self.case_name.startswith("添加已有"):
            get_url = url + self.path
            req = RunMain().run_main(self.method, get_url,
                                     self.query.encode('utf-8'))
            data = json.loads(req.text)
            res = json.dumps(data, ensure_ascii=False, indent=1)
            print("url:" + get_url + "\n" + "query:\n" + self.query)
            print("\n接口返回数据:\n\n" + res + "\n")

        else:
            get_url = url + self.path
            req = RunMain().run_main(self.method, get_url,
                                     self.query.encode('utf-8'))
            data = json.loads(req.text)
            res = json.dumps(data, ensure_ascii=False, indent=1)
            print("url:" + get_url + "\n" + "query:\n" + self.query)
            print("\n接口返回数据:\n\n" + res + "\n")
            #
            # self.assertEqual(req.status_code,self.status_code)
            # self.assertEqual(data['code'],self.code)
            # self.assertEqual(data['msg'],self.msg)
            # print("结果数据为:\n" + str(req.status_code) + "," + str(data['code']) + "," + str(data['msg']))
            # print("基线数据为:\n" + str(self.status_code) + "," + str(self.code) + "," + str(self.msg) + "\n")

        logger.info(req)
        logger.info(str(self.case_name))
        logger.info(data)
        return res
예제 #16
0
 def login(self, method, url, data, header=None):
     """登录接口"""
     response = RunMain().run_main(method=method,
                                   url=url,
                                   data=data,
                                   header=header)
     return response
예제 #17
0
 def update_consultation(self, header=None):
     """编辑咨询"""
     url = "http://test.api.neurongenius.com/api/v1/consultationInfo/update"
     data = {
         "nowPill": [],
         "nowPillRemark": "",
         "channelType": [],
         "channelTypeRemark": "",
         "diagnosis": [],
         "proIds": [],
         "proTypes": [],
         "purposeProIds": [],
         "purposeTypes": [],
         "bellState": "",
         "monthState": "",
         "sleepState": "",
         "plasticRemark": "",
         "undealRemark": "",
         "handleRemark": "该条信息最后会被删除,不会影响到业务",
         "customerRemark": "测试新增咨询接口",
         "id": "2d8aff5e85b36427ac65b18a1a57c000",
         "customerId": "4bfe6fe44f680b508b84870ed10cdb7f",
         "consultationReceptionType": "1"
     }
     method = 'post'
     data = str(data).encode()
     response = RunMain().run_main(method=method,
                                   url=url,
                                   data=data,
                                   header=header)
     return response
예제 #18
0
 def add_consultation(self, header=None):
     """新建咨询"""
     url = 'http://test.api.neurongenius.com/api/v1/consultationInfo/add'
     data = {
         "nowPill": [],
         "nowPillRemark": "",
         "channelType": [],
         "channelTypeRemark": "",
         "diagnosis": [],
         "plasticFlag": 1,
         "bellState": "",
         "monthState": "",
         "sleepState": "",
         "undealRemark": "",
         "handleRemark": "测试新建咨询是否成功",
         "customerRemark": "会尝试删除,不会影响业务",
         "id": "",
         "proIds": [],
         "proTypes": [],
         "purposeProIds": [],
         "purposeTypes": [],
         "toUserId": "",
         "ifExit": 0,
         "consultationReceptionType": "1",
         "customerId": "4bfe6fe44f680b508b84870ed10cdb7f"
     }
     method = 'post'
     data = str(data).encode()
     response = RunMain().run_main(method=method,
                                   url=url,
                                   data=data,
                                   header=header)
     return response
예제 #19
0
 def test_minutelylist_01(self):
     """正确的参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"app_key":"xdThhy2239daax",' \
            '"access_token":"%(access_token)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"installation_id":1904301718321742,' \
            '"stock_code":"sh000001"' \
            '}'% {
                'version': version,
                'access_token': access_token,
                'timeStamp': self.timeStamp}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign": "%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_stock = RunMain().decrypt_to_dict(response,
                                                'r')["minutely"][0]
     self.assertEqual("sh000001", response_stock["stock_code"],
                      "上证股票号码应该sh000001")
예제 #20
0
 def checkResult(self):  # 断言
     """
     check test result
     :return:
     """
     url1 = url + self.path
     print(url1)
     new_url = url1 + "&" + self.query
     data1 = dict(
         urllib.parse.parse_qsl(urllib.parse.urlsplit(new_url).query))
     # 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'}
     info = RunMain().run_main(method=self.method, url=url, data=data1)
     # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
     ss = json.loads(info)
     # 将响应转换为字典格式
     if self.case_name == 'test_getAvailableCoupons_normal':  # 断言
         self.assertEqual(ss['code'], 0)
         self.assertIn(ss['msg'], '操作成功')
     if self.case_name == 'test_getAvailableCoupons_noToken':
         self.assertIn(ss['msg'], '未登录')
     if self.case_name == 'test_getAvailableCoupons_noUserId':
         self.assertIn(ss['msg'], '未登录')
     if self.case_name == 'test_getAvailableCoupons_noInfo':
         self.assertIn(ss['msg'], '下单信息传参不能为空')
     if self.case_name == 'test_getShoppingCart_noAll':
         self.assertIn(ss['msg'], '下单信息传参不能为空')
예제 #21
0
 def test_logout_02(self):
     """headers中不包含token"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     headers = RunMain.headers(self)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"provider":1,' \
            '"app_key":"ddfsweer",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"country_code":"+86",' \
            '"installation_id":1904301718321742,' \
            '"longitude":108.90823353286173,' \
            '"latitude":34.21936825217505,' \
            '}' % {
                'version': version,
                'access_token': access_token,
                'timeStamp': timeStamp}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     self.assertEqual(500,
                      response.json()['err_code'], "接口返回的err_code应为500")
    def test_user_openapi(self):
        """
        获取Iam认证-openapi
        """
        # 测试数据准备
        self.method = 'get'
        self.path = '/uos/oss'
        self.params = {
            'Action': 'iamAndValidatedUser',
            'UserAccessKeyId': readconfig.get_params('accessKey')
        }
        # 生成请求signature
        signature = Signature.sign(data=self.params,
                                   ak=readconfig.get_params('accessKey'),
                                   sk=readconfig.get_params('secretKey'),
                                   method='GET')
        # 添加ak 与 signature 参数
        self.params.setdefault('AccessKeyId',
                               readconfig.get_params('accessKey'))
        self.params.setdefault(
            'Signature',
            urllib.parse.unquote(signature))  # python 会对参数自动进行编码,所以先进行解码

        new_url = openapiUrl + self.path
        print(new_url)
        info = RunMain().run_main(self.method, url=new_url, data=self.params)
        ss = json.loads(info)  # 将响应转换为字典格式
        self.assertEqual(ss['code'], '0')
예제 #23
0
 def test_update_01(self):
     """正确的请求参数"""
     timeStamp_login = int(time.mktime(datetime.now().timetuple()))
     headers = RunMain().headers_token(timeStamp_login)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s",' \
            '"installation_id":1904301718321742,' \
            '"avatar" : "%(avatar)s"' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'access_token': access_token,
                'timeStamp': timeStamp,
                'avatar': avatar}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     response_data = response.json()
     assert response_data['err_code'] == 0 and response_data['data'][
         'UserInfo']['avatar'] == avatar
예제 #24
0
파일: test_page.py 프로젝트: dongyn/APItest
 def get_config_page_id(self):
     # id需要在config接口中返回
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"os_type": 1,' \
            '"app_key":"%(app_key)s",' \
            '"os_version":"9",' \
            '"carrier":3,' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"imei":"869384032108431",' \
            '"latitude":34.223866,' \
            '"gcid":"dba9f3c2e8926564d3c930790c232bcf",' \
            '"bssid":"4c:e9:e4:7d:41:c1",' \
            '"longitude":108.909907,' \
            '"installation_id":1904301718321742,' \
            '"force_reload_user":true,' \
            '"app_version":"%(version)s",' \
            '"timeStamp":%(timeStamp)d}' % {
                'app_key': app_key,
                'timeStamp': timeStamp,
                'version': version}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=baseurl + "/cms/v1.2/config",
                              data=json.dumps(form),
                              headers=headers)
     return RunMain().decrypt_to_dict(response,
                                      'c_p')['pages'][0]['pages'][0]['id']
예제 #25
0
 def test_video_01(self):
     """正确的请求参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"content_id": %(content_id)d, ' \
            '"content_type": %(content_type)d, ' \
            '"os_type": 1, ' \
            '"app_version": "%(version)s", ' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'content_id': self.content_video['id'],
                'content_type': self.content_type,
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = RunMain().decrypt_to_dict(response, 'r')
     msg = '上线剧集{0}的期望id是{1},实际id是{2}'.format(self.content_video["title"],
                                              self.content_video["id"],
                                              response_data["id"])
     self.assertEqual(self.content_video["id"],
                      response_data["id"],
                      msg=msg)
예제 #26
0
    def test_order_pullPostPayUsages(self):
        """
        运营平台拉量接口
        """
        print("pullPostPayUsages")
        a = datetime.datetime.now().strftime("%Y-%m-%d") + " %2d:00:00" % 1
        time_array = time.strptime(a, "%Y-%m-%d %H:%M:%S")
        hour_stamp = int(time.mktime(time_array))
        next_hour = hour_stamp + 3600
        print(hour_stamp)
        # 接口数据准备
        self.method = 'post'
        self.path = '/v1/oss/order/pullPostPayUsages'
        self.params = {}
        self.body = {
            'regionId': '*',
            'startTime': hour_stamp * 1000,
            'endTime': next_hour * 1000,
            'instanceIds': [readconfig.get_headers('uco-user-id')]
        }

        new_url = url + self.path
        info = RunMain().run_main(self.method,
                                  url=new_url,
                                  data=self.params,
                                  body=self.body)
        ss = json.loads(info)  # 将响应转换为字典格式
        self.assertEqual(ss['status'], True)
예제 #27
0
파일: test_page.py 프로젝트: dongyn/APItest
 def test_page_01(self):
     """正确的请求参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"id": [%(page_id)d], "os_type":1,' \
            '"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"page_alias":"",'\
            '"installation_id":1901231425555756,'\
            '"device_id":"40439d078e887033",'\
            '"os_version":"8.1.0",'\
            '"channel":"dopool",'\
            '"app_key": "%(app_key)s"}' % {
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key,
                'page_id' : self.get_config_page_id()}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = RunMain().decrypt_to_dict(response, 'r')[0]
     msg = '页面{0}的期望id是{1},实际id是{2}'.format(response_data['name'],
                                            self.get_config_page_id(),
                                            response_data['id'])
     self.assertEqual(self.get_config_page_id(),
                      response_data['id'],
                      msg=msg)
예제 #28
0
    def test_order_getProductPaymentByUserAndRegion(self):
        """
        获取用户可用计费方式
        """
        print("getProductPaymentByUserAndRegion")
        # 接口数据准备
        self.method = 'get'
        self.path = '/oss'
        self.headers = {
            'uco-user-id': readconfig.get_headers('uco-user-id'),
            'uco-user-name': readconfig.get_headers('uco-user-name')
        }
        self.params = {
            'Action': 'getProductPaymentByUserAndRegion',
            'regionId': readconfig.get_params('regionId'),
            'productCode': 'OSS'
        }

        new_url = url + self.path
        info = RunMain().run_main(self.method,
                                  url=new_url,
                                  data=self.params,
                                  headers=self.headers)
        ss = json.loads(info)  # 将响应转换为字典格式
        self.assertEqual(ss['code'], '0')
예제 #29
0
    def test_checkResult(self):
        """
        check test report
        :return:
        """
        get_url = url + self.path
        req = RunMain().run_main(
            self.method, get_url,
            self.query)  # 根据Excel中的method调用run_main来进行requests请求,并拿到响应
        data = json.loads(req.text)
        res = json.dumps(data, ensure_ascii=False, indent=1)
        print("url:" + get_url + "\n" + "query:\n" + self.query)
        print("\n接口返回数据:\n\n" + res + "\n")

        self.assertEqual(req.status_code, self.status_code)
        self.assertEqual(data['code'], self.code)
        self.assertEqual(data['msg'], self.msg)
        self.assertLessEqual(eval(self.data1), eval(self.data2))  #去除字符的双引号,断言
        print("结果数据为:\n" + str(req.status_code) + "," + str(data['code']) +
              "," + str(data['msg']))
        print("基线数据为:\n" + str(self.status_code) + "," + str(self.code) + "," +
              str(self.msg) + "\n")

        logger.info(req)
        logger.info(str(self.case_name))
        logger.info(data)
        return res
예제 #30
0
    def test_order_getResourceList(self):
        """
        获取有效资源包列表
        """
        print("getResourceList")
        # 接口数据准备
        self.method = 'get'
        self.path = '/oss'
        self.headers = {
            'uco-user-id': readconfig.get_headers('uco-user-id'),
            'uco-user-name': readconfig.get_headers('uco-user-name')
        }
        self.params = {
            'Action': 'getResourceList',
            'regionId': readconfig.get_params('regionId'),
            'page': '1',
            'size': '10'
        }

        new_url = url + self.path
        info = RunMain().run_main(self.method,
                                  url=new_url,
                                  data=self.params,
                                  headers=self.headers)
        ss = json.loads(info)  # 将响应转换为字典格式
        self.assertEqual(ss['code'], '0')