Ejemplo n.º 1
0
    def test_login_02(self, action):
        """
            用例描述:密码错误数据
        """

        # 写log
        with allure.step("写入Log"):
            log = Log.MyLog()
            log.info('文件已经开始执行')
            conf = Config()
            data = Login()

        request = Request.Request(action)

        #获取域名
        host = conf.host_debug
        req_url = 'http://' + host

        #获取请求参数
        urls = data.url
        params = data.data
        header = data.header
        requestsql = data.selectsql
        env = conf.environment
        responsecode = data.responsecode
        responsesql = data.responsesql
        casedescription = data.casedec

        #请求参数化
        with allure.step("获取输入参数值,{0}".format(requestsql[1])):
            try:
                sqlresult = SqlResult(requestsql[1], env).get_sqlresult()
                params[1][0]['auth'] = sqlresult['register_name']
            except:
                log.info("执行sql报错::" + requestsql[1])

        print(params[1][0])

        # 请求接口
        api_url = req_url + urls[1]
        with allure.step("开始请求接口,RUL: {0},header:{1},request:{2}".format(
                api_url, header[0], params[0][0])):
            response = request.post_request(api_url, json.dumps(params[1][0]),
                                            header[1])
            print(response)

        assertbody = Assertions()
        assertbody.assert_text(str(response['code']), str(responsecode[1]))
        with allure.step(
                "增加断言,ResponseCode:{0}=TestCode:{1},ResponseHeader:{2}".format(
                    response['code'], responsecode[1], response['header'])):
            if (response['code'] == responsecode[1]):
                #assertbody.assert_body(response['body'], 'message','密码错误')
                assertbody.assert_body(response['header'], 'X-Api-Error-Code',
                                       'ERR_LOGIN_FAILED')
            else:
                log.info("执行完成,Code不一致")
    def test_hierarchy_01(self):
        """
            用例描述:获取目录
        """

        #写log
        with allure.step("写入Log"):
            log = Log.MyLog()
            log.info('文件已开始执行')
            conf = Config()
            data = GetHierarchy()

        #获取请求域名
        host = conf.host_debug
        req_url = 'http://' + host
        env = conf.environment
        responsesql = data.responsesql
        responsecode = data.responsecode

        # 获取请求参数
        urls = data.url
        header = data.header

        #请求接口
        api_url = req_url + urls
        request = Request.Request()
        with allure.step("开始请求接口,RUL: {0},header:{1}".format(api_url, header)):
            response = request.get_request(api_url, None, header)
            print(response['body'])

        # 数据库查询结果
        try:
            # print(responsesql)
            responsesqlresult = SqlResult(responsesql, env).get_sqlresult_list()
            print(responsesqlresult)
            with allure.step("获取预期结果值成功"):
                log.info('查询结果数据库成功:' + responsesql)
        except:
            log.info('查询结果数据库失败:' + responsesql)

        print(responsecode)

        # 增加断言
        assertbody = Assertions()
        with allure.step("增加断言,接口返回结果:{0}".format(response)):
            assertbody.assert_text(str(response['code']), str(responsecode))
            if response['code'] == responsecode:
                for i in range(len(responsesqlresult)):
                    for k, v in responsesqlresult[i].items():
                        assertbody.assert_body(response['body'][i], k, responsesqlresult[i][k])
Ejemplo n.º 3
0
    def test_hierarchy_01(self, action):
        """
            用例描述:获取目录
        """

        allure.step("获取目录")

        # 写log
        log = Log.MyLog()
        log.info('文件已经开始执行')
        conf = Config()
        data = GetHierarchy()

        with allure.step("写入Log"):
            allure.attach('写入log', '文件已经开始执行')

        request = Request.Request(action)

        # 获取请求域名
        host = conf.host_debug
        req_url = 'http://' + host

        # 获取请求参数
        urls = data.url
        #params = data.data
        header = data.header
        #requestsql = data.selectsql
        env = conf.environment
        responsecode = data.responsecode
        responsesql = data.responsesql
        #casedescription = data.casedec

        #获取token
        token = Session().get_session('debug')
        print(token)
        dict_token = {'X-Api-Authorization': token}
        header = dict(header)
        header.update(dict_token)
        print(header)

        # 请求接口
        api_url = req_url + urls
        print(api_url)
        print(header)

        response = request.get_request(api_url, None, header)
        with allure.step("开始请求接口"):
            allure.attach('header', header)
            allure.attach('response', response)
        print(response)

        # 数据库查询结果
        try:
            responsesql = str(responsesql[0]).replace(
                '@sqlresult', str(response['body']['id']))
            responsesqlresult = SqlResult(responsesql, env).get_sqlresult()
            print(responsesqlresult)
            with allure.step("获取预期结果值成功"):
                allure.attach('获取SQL', responsesql)
        except:
            with allure.step("获取预期结果值失败"):
                allure.attach('获取SQL', responsesql)

        print(responsesqlresult['parent_id'])
        # 增加断言
        assertbody = Assertions()
        assertbody.assert_text(str(response['code']), str(responsecode[0]))
        if (response['code'] == responsecode[0]):
            assertbody.assert_body(response['body'], 'id',
                                   responsesqlresult['id'])
            assertbody.assert_text(responsesqlresult['name'],
                                   params[0][0]['name'])
            assertbody.assert_text(str(responsesqlresult['parent_id']), 'None')
            allure.step("断言完成")
        else:
            with allure.step("执行完成,Code不一致"):
                allure.attach('request', params[0][0])