コード例 #1
0
    def test_cm(self):
        cookie = test_login.login()
        common_url = conf.ReadConfig().getloginConfigValue('url')
        jsondatas = ['data']
        for i in range(int(get.get_nrows('cm')) - 1):
            #读取jsonpath
            jsonpathexcel = get.get_jsonpath('cm', i + 1)

            # 判断是否执行
            if int(get.get_data('cm', i + 1, 4)) == 1:
                login_url = get.get_data('cm', i + 1, 2)
                url = common_url + login_url
                data = get.get_formdata('cm', i + 1, jsondatas[-1])
                header = {
                    "Content-Type": "application/x-www-form-urlencoded",
                    "Cookie": cookie
                }
                global r
                print url
                if get.get_data('cm', i + 1, 3) == 'post':
                    r = requests.post(url=url, headers=header, data=data)
                    time_consume = r.elapsed.microseconds

                    if checkall.checkall('cm', i + 1, r.status_code,
                                         r.content) == 'pass':
                        set.set_result(2, i + 1, 'pass')
                    elif checkall.checkall('cm', i + 1, r.status_code,
                                           r.content) == 'fail':
                        set.set_result(2, i + 1, 'fail')

                    if jsonpathexcel != '':
                        jsondata = getjson.get_rcontent(
                            json.loads(r.content), jsonpathexcel)
                        jsondatas.append(jsondata)
                    set.set_statuscode(2, i + 1, r.status_code)
                    set.set_content(2, i + 1, r.content.decode('UTF-8'))
                    set.set_sql(2, i + 1, checkdb.check('cm', i + 1)[1])

                elif get.get_data('cm', i + 1, 3) == 'get':
                    r = requests.get(url=url, headers=header, data=data)

                    if checkall.checkall('cm', i + 1, r.status_code,
                                         r.content) == 'pass':
                        set.set_result(2, i + 1, 'pass')
                    elif checkall.checkall('cm', i + 1, r.status_code,
                                           r.content) == 'fail':
                        set.set_result(2, i + 1, 'fail')

                    if jsonpathexcel != '':
                        jsondata = getjson.get_rcontent(
                            json.loads(r.content), jsonpathexcel)
                        jsondatas.append(jsondata)
                    set.set_statuscode(2, i + 1, r.status_code)
                    set.set_content(2, i + 1, r.content.decode('UTF-8'))
                    set.set_sql(2, i + 1, checkdb.check('cm', i + 1)[1])
                    set.set_time(2, i + 1, str(time_consume))

            elif int(get.get_data('cm', i + 1, 4)) == 0:
                print 'not execute'
                set.set_result(2, i + 1, 'not execute')
コード例 #2
0
ファイル: test_pd.py プロジェクト: sckwyy/request-api
    def test_pd(self):
        cookie = test_login.login()
        common_url = conf.ReadConfig().getloginConfigValue('url')

        for i in range(int(get.get_nrows('pd')) - 1):
            # 判断是否执行
            if int(get.get_data('pd', i + 1, 4)) == 1:
                login_url = get.get_data('pd', i + 1, 2)
                url = common_url + login_url
                data = get.get_formdata('pd', i + 1)
                header = {
                    "Content-Type": "application/x-www-form-urlencoded",
                    "Cookie": cookie
                }
                global r
                print url
                if get.get_data('pd', i + 1, 3) == 'post':
                    r = requests.post(url=url, headers=header, data=data)

                    if checkall.checkall('pd', i + 1, r.status_code,
                                         r.content) == 'pass':
                        set.set_result(1, i + 1, 'pass')
                    elif checkall.checkall('pd', i + 1, r.status_code,
                                           r.content) == 'fail':
                        set.set_result(1, i + 1, 'fail')

                    set.set_statuscode(1, i + 1, r.status_code)
                    set.set_content(1, i + 1, r.content.decode('UTF-8'))
                    set.set_sql(1, i + 1, checkdb.check('pd', i + 1)[1])

                elif get.get_data('pd', i + 1, 3) == 'get':
                    r = requests.get(url=url, headers=header, data=data)

                    if checkall.checkall('pd', i + 1, r.status_code,
                                         r.content) == 'pass':
                        set.set_result(1, i + 1, 'pass')
                    elif checkall.checkall('pd', i + 1, r.status_code,
                                           r.content) == 'fail':
                        set.set_result(1, i + 1, 'fail')

                    set.set_statuscode(1, i + 1, r.status_code)
                    set.set_content(1, i + 1, r.content.decode('UTF-8'))
                    set.set_sql(1, i + 1, checkdb.check('pd', i + 1)[1])

            elif int(get.get_data('pd', i + 1, 4)) == 0:
                print 'not execute'
                set.set_result(1, i + 1, 'not execute')
コード例 #3
0
ファイル: check_DB.py プロジェクト: sckwyy/request-api
def check(name, rows):
    '''
    查询sql检查
    :param name:sheetname
    :param rows: 行
    :return:
    '''
    execute = int(get.get_data(name, rows, 7))
    if execute == 0:
        return ('pass', '')
    elif execute == 1:
        sql = sql = get.get_data(name, rows, 8)

        actual_result = db.DB().select(sql)
        expext_result = get.get_data(name, rows, 9)

        if actual_result == expext_result:
            return ('pass', actual_result)
        else:
            return ('fail', actual_result)
コード例 #4
0
def checkall(sheetname,i,code,content):
    '''
    检查结果1.status_code 2.db校验 3.content正则匹配
    :param self:
    :param i:  行
    :param code:
    :param content:
    :return:
    '''
    #判断结果是pass还是fail
    if int(code) == 200 :
        if checkdb.check(sheetname,i)[0] == 'pass':
            print re.search(str(get.get_data(sheetname,i,10)),content)!=None
            if re.search(str(get.get_data(sheetname,i,10)),content)!=None:
                return 'pass'
            elif re.search(get.get_data(sheetname,i,10),content) is None:
                return 'fail'
        else:
            return 'fail'
    else:
        return 'fail'
コード例 #5
0
ファイル: test_login.py プロジェクト: sckwyy/request-api
def login():
    common_url = conf.ReadConfig().getloginConfigValue('url')
    login_url = get.get_data('login', 1, 2)
    url = common_url + login_url
    data = json.loads(get.get_data('login', 1, 6))
    header = get.get_data('login', 1, 7)
    global r
    print url
    # 判断是否执行
    if int(get.get_data('login', 1, 4)) == 1:
        if get.get_data('login', 1, 3) == 'post':
            r = requests.post(url=url, data=data, headers=header)
            if checkall.checkall('login', 1, r.status_code,
                                 r.content) == 'pass':
                set.set_result(0, 1, 'pass')
            elif checkall.checkall('login', 1, r.status_code,
                                   r.content) == 'fail':
                set.set_result(0, 1, 'fail')

        elif get.get_data('login', 1, 3) == 'get':
            r = requests.get(url=url, data=data, headers=header)

            if checkall.checkall('login', 1, r.status_code,
                                 r.content) == 'pass':
                set.set_result(0, 1, 'pass')
            elif checkall.checkall('login', 1, r.status_code,
                                   r.content) == 'fail':
                set.set_result(0, 1, 'fail')

    elif int(get.get_data('login', 1, 4)) == 0:
        print 'not execute'
        set.set_result(0, 1, 'not execute')

    #写status_code和content
    set.set_statuscode(0, 1, r.status_code)
    set.set_content(0, 1, r.content)

    cookie = "WQSESSIONID=" + "".join(r.cookies["WQSESSIONID"])
    print cookie
    return cookie