Exemplo n.º 1
0
class TestDeviceInfo(unittest.TestCase):
    """查询用户常用设备详情接口"""
    API_URL = Config().get('OpenPlatform_API').get('User2').get('DeviceInfo')
    excel = DATA_PATH + '/OpenPlatform_Player.xlsx'

    def setUp(self):
        self.client = HTTPClient(url=self.API_URL, method='GET')
        logger.info('开始测试')

    def tearDown(self):
        logger.info('结束测试')

    def test_DeviceInfo01(self):
        """简单验证查询用户常用设备详情接口容错"""
        datas = ExcelReader(self.excel, sheet='UserDetails').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'])))
                    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]['playerId']
                    res = self.client.sendbyurl(params=params)
                    # 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)
                    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)
                    msg = '\n请求地址:' + res.url + '\n返回结果:' + res.text
                    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()
Exemplo n.º 2
0
class TestAdminGet(unittest.TestCase):
    """管理员详情接口"""
    API_URL = Config().get('OpenPlatform_API').get('Admin').get('AdminGet')
    excel = DATA_PATH + '/OpenPlatform_Merchant.xlsx'

    def setUp(self):
        self.client = HTTPClient(url=self.API_URL, method='GET')
        self.mid = OpenPlatformCommon.getmid()
        logger.info('开始测试')

    def tearDown(self):
        logger.info('结束测试')

    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()

    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)