Exemple #1
0
 def test_AdminAdd04(self):
     """验证异常-新建同名管理员"""
     account = random_password(length=10,
                               special_chars=False,
                               digits=True,
                               upper_case=True,
                               lower_case=True)
     data = {
         "mid": self.mid,
         "loginAccount": account,
         "loginPassword": "******",
         "verifyPassword": "******",
         "position": "",
         "realName": "",
         "roleId": 1,
         "state": 1
     }
     headers = {'Content-Type': "application/json"}
     date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
     self.client.send(data=json.dumps(data), headers=headers)
     res = self.client.send(data=json.dumps(data), headers=headers)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     responseTime = JMESPathExtractor().extract(query='responseTime',
                                                body=res.text)
     res_error = JMESPathExtractor().extract(query='error', body=res.text)
     res_data = JMESPathExtractor().extract(query='data', body=res.text)
     msg = '\n请求地址:' + res.url + '\n请求数据:' + json.dumps(
         data) + '\n返回结果:' + res.text
     self.assertEqual('false', str(result).lower(), msg=msg)
     self.assertNotIn('未知错误', str(res.text), msg=msg)
     self.assertIn(date, str(responseTime), msg=msg)
     self.assertEqual('该账号已存在!', res_error, msg=msg)
     self.assertIsNone(res_data, msg=msg)
Exemple #2
0
 def getmcode(mid):
     """获取商户编号,商户名称,商户简称,商户类型,商户状态"""
     params = {"id": mid}
     url = Config().get('OpenPlatform_API').get('Merchant').get(
         'MerchantGet')
     client = HTTPClient(url=url, method='GET')
     res = client.send(params=params)
     mcode = JMESPathExtractor().extract(query='data.code', body=res.text)
     mname = JMESPathExtractor().extract(query='data.name', body=res.text)
     mshortname = JMESPathExtractor().extract(query='data.shortName',
                                              body=res.text)
     #返回的商户类型
     mtype = JMESPathExtractor().extract(query='data.type', body=res.text)
     #返回的商户类型名称
     mtypename = JMESPathExtractor().extract(query='data.typeName',
                                             body=res.text)
     #返回的商户状态值
     mstate = JMESPathExtractor().extract(query='data.state', body=res.text)
     #返回的商户状态
     mstatename = JMESPathExtractor().extract(query='data.stateName',
                                              body=res.text)
     #返回的商户主体
     mprincipal = JMESPathExtractor().extract(query='data.principal',
                                              body=res.text)
     #返回的社会统一信用码
     mcreditcode = JMESPathExtractor().extract(query='data.creditCode',
                                               body=res.text)
     #返回的法人信息
     mlegalrepresentative = JMESPathExtractor().extract(
         query='data.legalRepresentative', body=res.text)
     return mcode, mname, mshortname, mtype, mtypename, mstate, mstatename
    def test_GetChannelTypeByCode01(self):
        """简单验证获取渠道类型接口容错"""
        datas = ExcelReader(self.excel, sheet='GetChannelTypeByCode').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = datas[d]['expect_code']
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expect_code')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')
                    params = datas[d]
                    res = self.client.send(params=params)

                    result = JMESPathExtractor().extract(query='success',
                                                         body=res.text)
                    message = JMESPathExtractor().extract(query='message',
                                                          body=res.text)
                    msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                    self.assertEqual(expect, str(result).lower(), msg=msg)
                    self.assertNotIn('未知错误', str(message), msg=msg)
                    self.tearDown()
Exemple #4
0
    def test_AdminGet02(self):
        """验证创建成功后获取管理员信息是否正确"""
        aid, account = OpenPlatformCommon.getaid(self.mid)

        date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
        res = self.client.sendbyurl(aid)
        res_result = JMESPathExtractor().extract(query='success',
                                                 body=res.text)
        res_aid = JMESPathExtractor().extract(query='data.id', body=res.text)
        res_mid = JMESPathExtractor().extract(query='data.mId', body=res.text)
        res_loginaccount = JMESPathExtractor().extract(
            query='data.loginAccount', body=res.text)
        res_mobile = JMESPathExtractor().extract(query='data.mobile',
                                                 body=res.text)
        res_position = JMESPathExtractor().extract(query='data.position',
                                                   body=res.text)
        res_realname = JMESPathExtractor().extract(query='data.realName',
                                                   body=res.text)
        res_createtime = JMESPathExtractor().extract(query='data.createTime',
                                                     body=res.text)
        res_state = JMESPathExtractor().extract(query='data.state',
                                                body=res.text)
        res_type = JMESPathExtractor().extract(query='data.type',
                                               body=res.text)
        msg = '\n请求地址:' + res.url + '\n请求数据:' + aid + '\n返回结果:' + res.text
        self.assertEqual('true', str(res_result).lower(), msg=msg)
        self.assertEqual(self.mid, res_mid, msg=msg)
        self.assertEqual(aid, res_aid, msg=msg)
        self.assertEqual(account, res_loginaccount, msg=msg)
        self.assertEqual('None', str(res_mobile), msg=msg)
        self.assertEqual('', str(res_position), msg=msg)
        self.assertEqual('', str(res_realname), msg=msg)
        self.assertEqual('1', str(res_state), msg=msg)
        self.assertEqual('1', str(res_type), msg=msg)
        self.assertIn(date, str(res_createtime), msg=msg)
Exemple #5
0
 def test_AdminGet01(self):
     """简单验证获取管理员信息接口容错"""
     datas = ExcelReader(self.excel, sheet='GetAdmin').data
     for d in range(0, len(datas)):
         if datas[d]['is_execute'] == 'N':
             continue
         else:
             with self.subTest(data=datas[d]['CaseNo'] +
                               datas[d]['describe']):
                 self.setUp()
                 # logger.debug(datas[d])
                 expect = datas[d]['expect_code']
                 casename = str(datas[d]['describe'])
                 caseNo = str(datas[d]['CaseNo'])
                 #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                 datas[d].pop('expect_code')
                 datas[d].pop('is_execute')
                 datas[d].pop('describe')
                 datas[d].pop('CaseNo')
                 if datas[d]['id'] == '{aid}':
                     datas[d]['id'] = OpenPlatformCommon.getaid(self.mid)[0]
                 res = self.client.sendbyurl(datas[d]['id'])
                 # resultlist =[caseNo,casename,params,expect,res.text]
                 # resultdata.qppend(resultlist)
                 # logger.debug(res.text)
                 result = JMESPathExtractor().extract(query='success',
                                                      body=res.text)
                 message = JMESPathExtractor().extract(query='message',
                                                       body=res.text)
                 msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                 self.assertEqual(expect, str(result).lower(), msg=msg)
                 self.assertNotIn('未知错误', str(message), msg=msg)
                 self.tearDown()
Exemple #6
0
 def test_ProductModify02(self):
     """验证修改产品接口-传入产品id不存在返回信息是否正确"""
     datas = {
         "productId": "39ef3eb319f97c3de783c27e5c47f908",
         "name": "AutoTest修改测试",
         "iconUrl": "",
         "department": "",
         "introduction": "",
         "state": 2,
         "settings": {
             "packageName": "AutoTest",
             "signature": "AutoTest"
         }
     }
     headers = {'Content-Type': "application/json"}
     res = self.client.send(data=json.dumps(datas), headers=headers)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     error = JMESPathExtractor().extract(query='error', body=res.text)
     date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
     responseTime = JMESPathExtractor().extract(query='responseTime',
                                                body=res.text)
     msg = '\n请求地址:' + res.url + '\n请求数据:' + json.dumps(
         datas) + '\n返回结果:' + res.text
     self.assertEqual('false', str(result).lower(), msg=msg)
     self.assertEqual('修改产品失败,不存在编号为39ef3eb319f97c3de783c27e5c47f908的产品',
                      str(error),
                      msg=msg)
     self.assertIn(date, str(responseTime), msg=msg)
Exemple #7
0
 def test_ProductModify03(self):
     """验证修改产品成功时返回信息是否正确"""
     pid = OpenPlatformCommon.getpid(self.mid, category=3)
     datas = {
         "productId": pid,
         "name": "AutoTest修改测试",
         "iconUrl": "",
         "department": "",
         "introduction": "",
         "state": 2,
         "settings": {
             "packageName": "AutoTest",
             "signature": "AutoTest",
             "smallProgramId": "AutoTestEdit",
             "smallPlatformType": 0
         }
     }
     headers = {'Content-Type': "application/json"}
     res = self.client.send(data=json.dumps(datas), headers=headers)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     message = JMESPathExtractor().extract(query='message', body=res.text)
     date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
     responseTime = JMESPathExtractor().extract(query='responseTime',
                                                body=res.text)
     msg = '\n请求地址:' + res.url + '\n请求数据:' + json.dumps(
         datas) + '\n返回结果:' + res.text
     self.assertEqual('true', str(result).lower(), msg=msg)
     self.assertNotIn('未知', str(message), msg=msg)
     self.assertIn(date, str(responseTime), msg=msg)
Exemple #8
0
    def get_registinfo():
        """ -----获取游客注册信息-----
		
		"""
        datas = {
            "type": 1,
            "channelNo": 81036962,
            "packageNo": 81036962001,
            "ip": "59.41.117.126",
            "machineCode": "AotutestRegister",
            "appId": "8103xqzESJOPvBzwHikLWwTXHfF6iZzE",
            "terminalType": 1,
            "osVersion": "Android.8.3.1",
            "machineModel": "MI 9",
            "payload": {},
            "networkState": 0,
            "wifiName": "MISnet"
        }
        headers = {'Content-Type': "application/json"}
        url = Config().get('OpenPlatform_API').get('Player').get('Regist')
        client = HTTPClient(url=url, method='POST')
        res = client.send(data=json.dumps(datas), headers=headers)
        if JMESPathExtractor().extract(query='success', body=res.text):
            # res_openId = JMESPathExtractor().extract(query='data.openId', body=res.text)
            # res_unionId = JMESPathExtractor().extract(query='data.unionId', body=res.text)
            # res_nickname = JMESPathExtractor().extract(query='data.nickname', body=res.text)
            # res_account = JMESPathExtractor().extract(query='data.account', body=res.text)
            # res_password = JMESPathExtractor().extract(query='data.password', body=res.text)
            msg = JMESPathExtractor().extract(query='data', body=res.text)
        else:
            msg = "注册失败"
        return msg
Exemple #9
0
    def test_exchangecode(self):
        try:
            data = self.locust.user_data_queue.get()
            code = self.locust.code_data_queue.get()
        except queue.Empty:
            print('code data run out,test ended.')
            exit(0)

        payload = {
            'userId': data['uid'],
            'exchangeCode': code[0],
            'channelNO': 6000001001,
            'regChannelNO': 6000001001
        }
        print(payload)
        res = self.client.post('/api/ExchangeCode/Exchange',
                               catch_response=True,
                               json=payload)
        print(res.text)
        res_data = JMESPathExtractor().extract(query='data', body=res.text)
        res_code = JMESPathExtractor().extract(query='code', body=res.text)
        if res.status_code == 200:
            if res_code == 0 and len(res_data) > 0:
                print('GetCode with uid: {}'.format(data['uid']))
                res.success()
            else:
                print('GetCode Fail with uid: {}'.format(data['uid']))
                res.failure('error')
        else:
            print('请求失败 with uid: {}'.format(data['uid']))
            res.failure('error')
Exemple #10
0
 def test_ChannelList01(self):
     """简单验证渠道列表接口容错"""
     datas = ExcelReader(self.excel, sheet='ChannelList').data
     for d in range(0, len(datas)):
         if datas[d]['is_execute'] == 'N':
             continue
         else:
             with self.subTest(data=datas[d]['CaseNo'] +
                               datas[d]['describe']):
                 self.setUp()
                 # logger.debug(datas[d])
                 expect = datas[d]['expect_code']
                 casename = str(datas[d]['describe'])
                 caseNo = str(datas[d]['CaseNo'])
                 #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                 datas[d].pop('expect_code')
                 datas[d].pop('is_execute')
                 datas[d].pop('describe')
                 datas[d].pop('CaseNo')
                 #转换为json格式
                 params = json.dumps(datas[d])
                 # logger.debug(type(params))
                 headers = {'Content-Type': "application/json"}
                 res = self.client.send(data=params, headers=headers)
                 # resultlist =[caseNo,casename,params,expect,res.text]
                 # resultdata.qppend(resultlist)
                 # logger.debug(res.text)
                 result = JMESPathExtractor().extract(query='success',
                                                      body=res.text)
                 message = JMESPathExtractor().extract(query='message',
                                                       body=res.text)
                 msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
                 self.assertEqual(expect, str(result).lower(), msg=msg)
                 self.assertNotIn('未知错误', str(message), msg=msg)
                 self.tearDown()
    def test_DeviceSet01(self):
        """批量验证设置用户常用设备接口容错"""
        datas = ExcelReader(self.excel, sheet='deviceNo').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = json.loads(
                        ast.literal_eval(json.dumps(datas[d]['expection'])))
                    # expect = datas[d]['expection']
                    # logger.debug(expect)
                    # logger.debug(type(expect))
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    playerId = datas[d]['playerId']
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expection')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')
                    datas[d].pop('playerId')
                    datas[d]['deviceNo'] = ast.literal_eval(
                        datas[d]['deviceNo'])
                    url = "%s%s" % (self.API_URL, playerId)
                    params = json.dumps(datas[d])
                    # logger.debug(type(params))
                    headers = {'Content-Type': "application/json"}
                    self.client = HTTPClient(url=url, method='POST')
                    res = self.client.send(data=params, headers=headers)
                    # resultlist =[caseNo,casename,params,expect,res.text]
                    # resultdata.qppend(resultlist)
                    # logger.debug(res.text)
                    res_success = JMESPathExtractor().extract(query='success',
                                                              body=res.text)
                    res_message = JMESPathExtractor().extract(query='message',
                                                              body=res.text)
                    res_error = JMESPathExtractor().extract(query='error',
                                                            body=res.text)
                    res_code = JMESPathExtractor().extract(query='code',
                                                           body=res.text)
                    responseTime = JMESPathExtractor().extract(
                        query='responseTime', body=res.text)
                    msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
                    self.assertEqual(expect['success'], res_success, msg=msg)
                    if 'message' in expect.keys():
                        self.assertEqual(expect['message'],
                                         res_message,
                                         msg=msg)
                    if 'error' in expect.keys():
                        self.assertEqual(expect['error'], res_error, msg=msg)

                    self.assertEqual(expect['code'], res_code, msg=msg)

                    self.tearDown()
Exemple #12
0
	def test_ProductChannelCreate02(self):
		"""验证添加产品渠道成功后返回"""
		data = {"productId": "39ef52a391245e17ae89d8166ddfd666", "channelId": "39ef52a390e53c09739be5209d765d6b"}
		params = json.dumps(data)
		headers={'Content-Type': "application/json"}
		res = self.client.send(data=params,headers=headers)
		result = JMESPathExtractor().extract(query='success', body=res.text)
		message = JMESPathExtractor().extract(query='message', body=res.text)
		msg = '\n请求地址:'+ res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
Exemple #13
0
    def test_ProductModify01(self):
        """简单验证修改产品接口容错"""
        datas = ExcelReader(self.excel, sheet='ModifyProduct').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = datas[d]['expect_code']
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expect_code')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')
                    if datas[d]['productId'] == '{pid1-0}':
                        datas[d]['productId'] = OpenPlatformCommon.getpid(
                            self.mid, category=1, platform=0)
                    elif datas[d]['productId'] == '{pid1-1}':
                        datas[d]['productId'] = OpenPlatformCommon.getpid(
                            self.mid, category=1, platform=1)
                    elif datas[d]['productId'] == '{pid2}':
                        datas[d]['productId'] = OpenPlatformCommon.getpid(
                            self.mid, category=2)
                    elif datas[d]['productId'] == '{pid3}':
                        datas[d]['productId'] = OpenPlatformCommon.getpid(
                            self.mid, category=3)

                    datas[d]['settings'] = ast.literal_eval(
                        datas[d]['settings'])
                    # logger.debug(type(datas[d]['setting']))
                    # logger.debug(datas[d]['setting'])
                    #转换为json格式
                    # json.dumps(datas[d]['settings'])
                    params = json.dumps(datas[d])
                    # logger.debug(type(params))

                    headers = {'Content-Type': "application/json"}
                    res = self.client.send(data=params, headers=headers)
                    # resultlist =[caseNo,casename,params,expect,res.text]
                    # resultdata.qppend(resultlist)
                    # logger.debug(res.text)
                    result = JMESPathExtractor().extract(query='success',
                                                         body=res.text)
                    message = JMESPathExtractor().extract(query='message',
                                                          body=res.text)
                    msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
                    self.assertEqual(expect, str(result).lower(), msg=msg)
                    self.assertNotIn('未知错误', str(message), msg=msg)
                    self.tearDown()
 def test_ProductChannelList02(self):
     """验证产品渠道列表成功返回"""
     data = {"ProductId": "39ef7c0979b17b02ec4616b4384ff1c8"}
     params = data
     res = self.client.send(params=params)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     message = JMESPathExtractor().extract(query='message', body=res.text)
     res_data = JMESPathExtractor().extract(query='data', body=res.text)
     msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
     self.assertEqual('true', str(result).lower(), msg=msg)
     self.assertNotIn('未知错误', str(message), msg=msg)
     self.assertEqual(4, len(res_data), msg=msg)
     self.tearDown()
    def test_ProductPackageSimpleInfo01(self):
        """批量验证获取分包号的简单信息接口容错"""
        datas = ExcelReader(self.excel, sheet='ProductPackageSimpleInfo').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = json.loads(
                        ast.literal_eval(json.dumps(datas[d]['expection'])))
                    # expect = datas[d]['expection']
                    # logger.debug(expect)
                    # logger.debug(type(expect))
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expection')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')
                    params = datas[d]
                    # logger.debug(type(params))
                    # headers={'Content-Type': "application/json"}
                    res = self.client.send(params=params)
                    # resultlist =[caseNo,casename,params,expect,res.text]
                    # resultdata.qppend(resultlist)
                    # logger.debug(res.text)
                    res_success = JMESPathExtractor().extract(query='success',
                                                              body=res.text)
                    res_message = JMESPathExtractor().extract(query='message',
                                                              body=res.text)
                    res_error = JMESPathExtractor().extract(query='error',
                                                            body=res.text)
                    res_code = JMESPathExtractor().extract(query='code',
                                                           body=res.text)
                    responseTime = JMESPathExtractor().extract(
                        query='responseTime', body=res.text)
                    res_data = JMESPathExtractor().extract(query='data',
                                                           body=res.text)
                    res_packageId = JMESPathExtractor().extract(
                        query='data.packageId', body=res.text)
                    res_packageCount = JMESPathExtractor().extract(
                        query='data.packageCount', body=res.text)
                    msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                    self.assertEqual(expect['success'], res_success, msg=msg)
                    if 'message' in expect.keys():
                        self.assertEqual(expect['message'],
                                         res_message,
                                         msg=msg)
                    if 'error' in expect.keys():
                        self.assertEqual(expect['error'], res_error, msg=msg)
                    self.assertEqual(expect['code'], res_code, msg=msg)
                    if 'data' in expect.keys() and expect['data']:
                        self.assertEqual(expect['data'], res_data, msg=msg)

                    self.tearDown()
Exemple #16
0
	def test_CreateMerchant02(self):
		"""验证创建后数据返回"""
		datas = {"name": "中顺网络公司", "shortName": "ZS棋牌", "type": 1, "state": 1, "principal": "", "creditCode": "", "legalRepresentative": "", "mobile": "", "address": "", "contactName": "王小姐", "contactMobile": 19978953221, "email": "", "qq": 54321, "weChat": "", "businessLicense": "", "classicalChinese": "", "icp": "", "corporateIdentityCard": ""}
		headers={'Content-Type': "application/json"}

		date = time.strftime('%Y-%m-%d',time.localtime(time.time()))
		res = self.client.send(data=json.dumps(datas),headers=headers)
		result = JMESPathExtractor().extract(query='success', body=res.text)
		responseTime = JMESPathExtractor().extract(query='responseTime', body=res.text)
		res_data = JMESPathExtractor().extract(query='data', body=res.text)
		msg = '\n请求地址:'+ res.url + '\n请求数据:' + json.dumps(datas) + '\n返回结果:' + res.text
		self.assertEqual('true', str(result).lower(),msg=msg)
		self.assertNotIn('未知错误', str(res.text),msg=msg)
		self.assertIn(date, str(responseTime),msg=msg)
		self.assertEqual(32, len(res_data), msg=msg)
Exemple #17
0
    def getpid(mid, category=1, platform=0):
        """ -----获取产品id-----
		参数-mid:所属商户id
		参数-category:产品类型 1-APP 2-H5 3-小程序
		参数-platform:产品APP平台 0-安卓 1-苹果
		"""
        datas = {
            "merchantId": mid,
            "introduction": "Autotest自动化自动创建产品",
            "name": "Autotest测试",
            "department": "Web研发部门",
            "ecology": 0,
            "iconUrl": "Autotest",
            "category": category,
            "state": 1,
            "setting": {
                "platform": platform,
                "packageName": "Autotest",
                "signature": "Autotest",
                "bundleID": "Autotest.bundleID",
                "appId": "Autotest.appId",
                "h5Type": 0,
                "h5PlatformName": "AutotestH5",
                "h5Address": "Autotest.H5",
                "smallProgramId": "AutotestsmallProgramId",
                "smallPlatformType": 0
            }
        }
        headers = {'Content-Type': "application/json"}
        url = Config().get('OpenPlatform_API').get('Product').get('Product')
        client = HTTPClient(url=url, method='POST')
        res = client.send(data=json.dumps(datas), headers=headers)
        pid = JMESPathExtractor().extract(query='data', body=res.text)

        return pid
Exemple #18
0
	def test_EditMerchant02(self):
		"""验证正常编辑成功流程"""
		mid = OpenPlatformCommon.getmid()

		datas ={"id": mid, "name": "编辑网络公司", "shortName": "ZS", "state": 1, "principal": "", "creditCode": "", "legalRepresentative": "", "mobile": "", "address": "", "contactName": "张小金", "contactMobile": 19978953221, "email": "", "qq":"", "weChat": "weixin", "businessLicense": "", "classicalChinese": "", "icp": "", "corporateIdentityCard": ""}
		headers={'Content-Type': "application/json"}
		res = self.client.send(data=json.dumps(datas),headers=headers)
		result = JMESPathExtractor().extract(query='success', body=res.text)
		date = time.strftime('%Y-%m-%d',time.localtime(time.time()))
		responseTime = JMESPathExtractor().extract(query='responseTime', body=res.text)
		re_mid = JMESPathExtractor().extract(query='data', body=res.text)
		msg = '\n请求地址:'+ res.url + '\n请求数据:' + json.dumps(datas) + '\n返回结果:' + res.text
		self.assertEqual('true', str(result).lower(), msg=msg)
		self.assertNotIn('未知错误', str(res.text), msg=msg)
		self.assertEqual(mid, re_mid, msg=msg)
		self.assertIn(date, str(responseTime), msg=msg)
 def test_GetChannelTypeByCode02(self):
     """验证获取渠道类型成功返回"""
     data = {"channelCode": 81026963}
     params = data
     res = self.client.send(params=params)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     message = JMESPathExtractor().extract(query='message', body=res.text)
     res_data = JMESPathExtractor().extract(query='data', body=res.text)
     res_type = JMESPathExtractor().extract(query='data.type',
                                            body=res.text)
     res_id = JMESPathExtractor().extract(query='data.id', body=res.text)
     msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
     self.assertEqual('true', str(result).lower(), msg=msg)
     self.assertNotIn('未知错误', str(message), msg=msg)
     self.assertEqual(2, res_type, msg=msg)
     self.assertEqual('39ef7c14c2ae6187df4be0281eca0beb', res_id, msg=msg)
     self.tearDown()
Exemple #20
0
 def test_GetMerchantList03(self):
     """验证商户名称查询"""
     mid = OpenPlatformCommon.getmid()
     mcode, mname, mshortname, mtype, mtypename, mstate, mstatename = OpenPlatformCommon.getmcode(
         mid)
     params = {'keyword': mname, 'pageIndex': 1, 'pageSize': 10}
     res = self.client.send(params=params)
     res_result = JMESPathExtractor().extract(query='success',
                                              body=res.text)
     res_datalength = JMESPathExtractor().extract(query='data.recordsTotal',
                                                  body=res.text)
     res_data = JMESPathExtractor().extract(query='data.data',
                                            body=res.text)
     msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
     self.assertEqual('true', str(res_result).lower(), msg=msg)
     self.assertLessEqual(1, res_datalength, msg=msg)
     self.assertIn(mname, str(res_data), msg=msg)
Exemple #21
0
    def test_UserList01(self):
        """批量验证账号列表接口容错"""
        datas = ExcelReader(self.excel, sheet='UserList').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = json.loads(
                        ast.literal_eval(json.dumps(datas[d]['expection'])))
                    # expect = datas[d]['expection']
                    # logger.debug(expect)
                    # logger.debug(type(expect))
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expection')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')

                    params = datas[d]
                    # logger.debug(type(params))
                    res = self.client.send(params=params)
                    # resultlist =[caseNo,casename,params,expect,res.text]
                    # resultdata.qppend(resultlist)
                    # logger.debug(res.text)
                    res_success = JMESPathExtractor().extract(query='success',
                                                              body=res.text)
                    res_message = JMESPathExtractor().extract(query='message',
                                                              body=res.text)
                    res_error = JMESPathExtractor().extract(query='error',
                                                            body=res.text)
                    res_code = JMESPathExtractor().extract(query='code',
                                                           body=res.text)
                    responseTime = JMESPathExtractor().extract(
                        query='responseTime', body=res.text)
                    res_data = JMESPathExtractor().extract(query='data.data',
                                                           body=res.text)
                    res_recordsTotal = JMESPathExtractor().extract(
                        query='data.recordsTotal', body=res.text)
                    msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                    self.assertEqual(expect['success'], res_success, msg=msg)
                    if 'message' in expect.keys():
                        self.assertEqual(expect['message'],
                                         res_message,
                                         msg=msg)
                    if 'error' in expect.keys():
                        self.assertEqual(expect['error'], res_error, msg=msg)
                    self.assertEqual(expect['code'], res_code, msg=msg)
                    if 'data' in expect.keys() and expect['data']['data']:
                        for i in range(0, len(expect['data']['data'])):
                            self.assertIn(expect['data']['data'][i],
                                          res_data,
                                          msg=msg)
                        self.assertLessEqual(1, res_recordsTotal, msg=msg)
                    self.tearDown()
Exemple #22
0
    def get_smscode(mobile):
        """ -----获取手机验证码-----
		
		"""
        datas = {
            "sesskey": "1",
            "mobile": mobile,
            "imgVerifyCode": "string",
            "smsProvider": 0
        }
        headers = {'Content-Type': "application/json"}
        url = Config().get('OpenPlatform_API').get('VerifyCode').get('sms')
        client = HTTPClient(url=url, method='POST')
        res = client.send(data=json.dumps(datas), headers=headers)
        if JMESPathExtractor().extract(query='success', body=res.text):
            msg = JMESPathExtractor().extract(query='error', body=res.text)
        else:
            msg = "获取验证码失败"
        return msg
Exemple #23
0
    def test_ProductList03(self):
        """验证异常:产品列表-关键字匹配不到数据"""
        pid = OpenPlatformCommon.getpid(self.mid, category=2, platform=1)
        params = {
            'MerchantId': self.mid,
            'Condition': 'Autotest测试12',
            'PageIndex': 1,
            'PageSize': 1
        }
        res = self.client.send(params=params)
        result = JMESPathExtractor().extract(query='success', body=res.text)
        message = JMESPathExtractor().extract(query='message', body=res.text)
        date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
        responseTime = JMESPathExtractor().extract(query='responseTime',
                                                   body=res.text)
        # res_pid = JMESPathExtractor().extract(query='data.data[0].productId', body=res.text)
        # res_pname = JMESPathExtractor().extract(query='data.data[0].productName', body=res.text)
        # res_iconurl = JMESPathExtractor().extract(query='data.data[0].iconUrl', body=res.text)
        # res_pnum = JMESPathExtractor().extract(query='data.data[0].productNum', body=res.text)
        # res_pcategory = JMESPathExtractor().extract(query='data.data[0].productCategory', body=res.text)
        # res_psubcategory = JMESPathExtractor().extract(query='data.data[0].subCategory', body=res.text)
        # res_pecology = JMESPathExtractor().extract(query='data.data[0].productEcology', body=res.text)
        # res_pmname = JMESPathExtractor().extract(query='data.data[0].merchantName', body=res.text)
        # res_department = JMESPathExtractor().extract(query='data.data[0].department', body=res.text)
        # res_pstate = JMESPathExtractor().extract(query='data.data[0].state', body=res.text)
        res_recordsTotal = JMESPathExtractor().extract(
            query='data.recordsTotal', body=res.text)
        msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text

        self.assertEqual('true', str(result).lower(), msg=msg)
        self.assertNotIn('未知错误', str(message), msg=msg)
        self.assertIn(date, str(responseTime), msg=msg)
        # self.assertEqual(pid, res_pid, msg=msg)
        # self.assertEqual('Autotest测试', res_pname, msg=msg)
        # self.assertIn('key=Autotest', str(res_iconurl), msg=msg)
        # self.assertEqual(2, res_pcategory, msg=msg)
        # self.assertEqual('单网页形态', res_psubcategory, msg=msg)
        # self.assertEqual(0, res_pecology, msg=msg)
        # self.assertEqual('中顺网络公司', res_pmname, msg=msg)
        # self.assertEqual('Web研发部门', res_department, msg=msg)
        # self.assertEqual(1, res_pstate, msg=msg)
        self.assertEqual(0, res_recordsTotal, msg=msg)
Exemple #24
0
 def test_ChannelCreate02(self):
     """验证创建成功后返回"""
     datas = {
         "name": "Autotest渠道创建成功",
         "type": 1,
         "developerPlatform": "Autotest自动化"
     }
     params = json.dumps(datas)
     headers = {'Content-Type': "application/json"}
     res = self.client.send(data=params, headers=headers)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     message = JMESPathExtractor().extract(query='message', body=res.text)
     date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
     res_cid = JMESPathExtractor().extract(query='data', body=res.text)
     responseTime = JMESPathExtractor().extract(query='responseTime',
                                                body=res.text)
     msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
     self.assertEqual('true', str(result).lower(), msg=msg)
     self.assertNotIn('未知错误', str(message), msg=msg)
     self.assertIn(date, str(responseTime), msg=msg)
     self.assertEqual(32, len(res_cid), msg=msg)
Exemple #25
0
 def test_GetMerchantList02(self):
     """验证商户编号查询"""
     mid = OpenPlatformCommon.getmid()
     mcode, mname, mshortname, mtype, mtypename, mstate, mstatename = OpenPlatformCommon.getmcode(
         mid)
     params = {'keyword': mcode, 'pageIndex': 1, 'pageSize': 10}
     res = self.client.send(params=params)
     res_result = JMESPathExtractor().extract(query='success',
                                              body=res.text)
     res_datalength = JMESPathExtractor().extract(query='data.recordsTotal',
                                                  body=res.text)
     res_mid = JMESPathExtractor().extract(query='data.data[0].id',
                                           body=res.text)
     res_mcode = JMESPathExtractor().extract(query='data.data[0].code',
                                             body=res.text)
     res_mname = JMESPathExtractor().extract(query='data.data[0].name',
                                             body=res.text)
     res_mshortname = JMESPathExtractor().extract(
         query='data.data[0].shortName', body=res.text)
     res_mtype = JMESPathExtractor().extract(query='data.data[0].type',
                                             body=res.text)
     #返回的商户类型名称
     res_mtypename = JMESPathExtractor().extract(
         query='data.data[0].typeName', body=res.text)
     #返回的商户状态值
     res_mstate = JMESPathExtractor().extract(query='data.data[0].state',
                                              body=res.text)
     #返回的商户状态
     res_mstatename = JMESPathExtractor().extract(
         query='data.data[0].stateName', body=res.text)
     msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
     self.assertEqual('true', str(res_result).lower(), msg=msg)
     self.assertEqual(1, res_datalength, msg=msg)
     self.assertEqual(mid, str(res_mid), msg=msg)
     self.assertEqual(mname, str(res_mname), msg=msg)
     self.assertEqual(mshortname, str(res_mshortname), msg=msg)
     self.assertEqual(mtype, res_mtype, msg=msg)
     self.assertEqual(mtypename, str(res_mtypename), msg=msg)
     self.assertEqual(mstate, res_mstate, msg=msg)
     self.assertEqual(mstatename, str(res_mstatename), msg=msg)
Exemple #26
0
 def test_ChannelModify03(self):
     """验证异常:修改渠道ID不存在"""
     datas = {
         "id": "39ef53f9be032af7676a724617fa5142",
         "name": "ModifyAotuTest",
         "type": 1,
         "developerPlatform": "ModifyAotuTestChannel888"
     }
     params = json.dumps(datas)
     headers = {'Content-Type': "application/json"}
     res = self.client.send(data=params, headers=headers)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     error = JMESPathExtractor().extract(query='error', body=res.text)
     date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
     responseTime = JMESPathExtractor().extract(query='responseTime',
                                                body=res.text)
     re_cid = JMESPathExtractor().extract(query='data', body=res.text)
     msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
     self.assertEqual('false', str(result).lower(), msg=msg)
     self.assertEqual('编辑失败!', str(error), msg=msg)
     self.assertEqual(0, re_cid, msg=msg)
     self.assertIn(date, str(responseTime), msg=msg)
Exemple #27
0
    def test_ProductList01(self):
        """简单验证产品列表接口容错"""
        datas = ExcelReader(self.excel, sheet='ProductList').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = datas[d]['expect_code']
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expect_code')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')
                    if datas[d]['MerchantId'] == '{mid}':
                        datas[d]['MerchantId'] = self.mid

                    #转换为json格式
                    # json.dumps(datas[d]['settings'])
                    params = datas[d]
                    # logger.debug(type(params))

                    res = self.client.send(params=params)
                    # resultlist =[caseNo,casename,params,expect,res.text]
                    # resultdata.data[0].qppend(resultlist)
                    # logger.debug(res.text)
                    result = JMESPathExtractor().extract(query='success',
                                                         body=res.text)
                    message = JMESPathExtractor().extract(query='message',
                                                          body=res.text)
                    msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                    self.assertEqual(expect, str(result).lower(), msg=msg)
                    self.assertNotIn('未知错误', str(message), msg=msg)
                    self.tearDown()
 def test_PlayerPromote05(self):
     """验证手机验证码转正:有效期内多次请求验证码,输入的不是最新的"""
     if OpenPlatformCommon.get_registinfo() != '注册失败':
         openId = OpenPlatformCommon.get_registinfo()['openId']
         unionId = OpenPlatformCommon.get_registinfo()['unionId']
         nickname = OpenPlatformCommon.get_registinfo()['nickname']
         account = OpenPlatformCommon.get_registinfo()['account']
         password = OpenPlatformCommon.get_registinfo()['password']
         mobile = 19925757299
         code1 = OpenPlatformCommon.get_smscode(mobile=mobile)
         code2 = OpenPlatformCommon.get_smscode(mobile=mobile)
         datas = {
             "openId": openId,
             "packageNo": 81036962002,
             "type": 1,
             "payload": {
                 "mobile": mobile,
                 "smsKey": "1",
                 "smsCode": code1,
                 "password": "******"
             }
         }
         params = json.dumps(datas)
         headers = {'Content-Type': "application/json"}
         res = self.client.send(data=params, headers=headers)
         res_success = JMESPathExtractor().extract(query='success',
                                                   body=res.text)
         res_message = JMESPathExtractor().extract(query='message',
                                                   body=res.text)
         res_error = JMESPathExtractor().extract(query='error',
                                                 body=res.text)
         res_code = JMESPathExtractor().extract(query='code', body=res.text)
         responseTime = JMESPathExtractor().extract(query='responseTime',
                                                    body=res.text)
         msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
         self.assertFalse(res_success, msg=msg)
         self.assertEqual('验证短信失败', res_error, msg=msg)
         self.assertEqual(10, res_code, msg=msg)
Exemple #29
0
 def test_ChannelModify02(self):
     """验证修改渠道成功后返回"""
     datas = {
         "id": self.cid,
         "name": "ModifyAotuTest",
         "type": 4,
         "developerPlatform": "ModifyAotuTestChannel888"
     }
     params = json.dumps(datas)
     headers = {'Content-Type': "application/json"}
     res = self.client.send(data=params, headers=headers)
     result = JMESPathExtractor().extract(query='success', body=res.text)
     message = JMESPathExtractor().extract(query='message', body=res.text)
     date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
     responseTime = JMESPathExtractor().extract(query='responseTime',
                                                body=res.text)
     #data返回大于0,代表成功
     re_cid = JMESPathExtractor().extract(query='data', body=res.text)
     msg = '\n请求地址:' + res.url + '\n请求数据:' + params + '\n返回结果:' + res.text
     self.assertEqual('true', str(result).lower(), msg=msg)
     self.assertNotIn('未知错误', str(message), msg=msg)
     self.assertLess(0, re_cid, msg=msg)
     self.assertIn(date, str(responseTime), msg=msg)
    def test_ProductChannelList01(self):
        """简单验证添加产品渠道接口容错"""
        datas = ExcelReader(self.excel, sheet='ProductChannelList').data
        for d in range(0, len(datas)):
            if datas[d]['is_execute'] == 'N':
                continue
            else:
                with self.subTest(data=datas[d]['CaseNo'] +
                                  datas[d]['describe']):
                    self.setUp()
                    # logger.debug(datas[d])
                    expect = datas[d]['expect_code']
                    casename = str(datas[d]['describe'])
                    caseNo = str(datas[d]['CaseNo'])
                    #请求的参数剔除期望值列、是否执行列、描述列、用例编号列
                    datas[d].pop('expect_code')
                    datas[d].pop('is_execute')
                    datas[d].pop('describe')
                    datas[d].pop('CaseNo')
                    if datas[d]['ProductId'] == '{pid}':
                        datas[d]['ProductId'] = OpenPlatformCommon.getpid(
                            self.mid)
                    # #转换为json格式
                    # params = json.dumps(datas[d])
                    params = datas[d]
                    # headers={'Content-Type': "application/json"}
                    res = self.client.send(params=params)

                    result = JMESPathExtractor().extract(query='success',
                                                         body=res.text)
                    message = JMESPathExtractor().extract(query='message',
                                                          body=res.text)
                    msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                    self.assertEqual(expect, str(result).lower(), msg=msg)
                    self.assertNotIn('未知错误', str(message), msg=msg)
                    self.tearDown()