コード例 #1
0
class AddTest(unittest.TestCase):
    excel = do_excel.Do_Excel(contants.case_file, 'add')
    cases = excel.get_cases()  ##实例化对象   列表里面放case实例

    @classmethod  ##类方法,每一个类只执行一次
    def setUpClass(cls):
        cls.http_request = HTTPRequest2()  ##实例化

    @data(*cases)
    def test_longin(self, case):  ###对象迭代里面的属性值
        case.data = eval(case.data)  ##变成一个字段
        print(type(case.data), case.data)
        if case.data.__contains__(
                'mobilephone') and case.data['mobilephone'] == 'normal_user':
            case.data['mobilephone'] = config.get('data',
                                                  'normal_user')  ##拿到 值赋值给data
コード例 #2
0
def replace(data):
    p = "#(.*?)#"
    while re.search(p, data):
        print(data)
        m = re.search(p, data)
        g = m.group(1)
        try:
            v = config.get('data', g)
        except configparser.NoOptionError as e:  ##如果配置文件里面没有,去context里面去取
            if hasattr(Context, g):
                v = getattr(Context, g)
            else:
                print("找不到参数化的值")
                raise e
        print(v)
        data = re.sub(p, v, data, count=1)  ##替换
    print(data)
    return data
コード例 #3
0
    def request(self, method, url, data=None, json=None):
        method = method.upper()
        if type(data) == str:
            data = eval(data)
        #拼接URL
        url = config.get('api', 'pre_url') + url

        if method == 'GET':
            resp = self.session.request(method=method, url=url, params=data)
        elif method == 'POST':
            if json:
                #if json is not None:
                resp = self.session.request(method=method, url=url, json=json)
            else:
                resp = self.session.request(method=method, url=url, data=data)
        else:
            resp = None
            print("输入的请求方法不支持")
        # print("请求地址",resp.url)
        # print("请求数据",resp.json())
        print("请求response:", resp.text)
        return resp
コード例 #4
0
    def request(self, method, url, data=None, json=None, cookies=None):
        if type(data) == str:
            data = eval(data)
        ##拼接请求的url
        url = config.get('api', 'pre_url') + url
        method = method.upper()  ##将method强制转为大写

        logger.debug("请求地址:{0}".format(url))
        logger.debug("请求数据:{0}".format(data))
        if method == 'GET':
            resp = requests.get(url, params=data, cookies=cookies)  #url,params

        elif method == 'POST':
            if json is not None:
                #if json:
                resp = requests.post(url, json=json, cookies=cookies)
            else:
                resp = requests.post(url, data=data, cookies=cookies)
        else:
            resp = None
            logger.error("输入的请求方法不支持")
            #print("输入的请求方法不支持")
        logger.debug("请求的响应{0}".format(resp.textSSSSS))
        return resp
コード例 #5
0
    cases = excel.get_cases()  ##实例化对象   列表里面放case实例

    @classmethod  ##类方法,每一个类只执行一次
    def setUpClass(cls):
        cls.http_request = HTTPRequest2()  ##实例化

    @data(*cases)
    def test_longin(self, case):  ###对象迭代里面的属性值
        case.data = eval(case.data)  ##变成一个字段
        print(type(case.data), case.data)
        if case.data.__contains__(
                'mobilephone') and case.data['mobilephone'] == 'normal_user':
            case.data['mobilephone'] = config.get('data',
                                                  'normal_user')  ##拿到 值赋值给data
        if case.data.__contains__('pwd') and case.data['pwd'] == 'normal_pwd':
            case.data['pwd'] = config.get('data', 'normal_pwd')  ##拿到 值赋值给data
        if case.data.__contains__(
                'member_id') and case.data['member_id'] == 'loan_member_id':
            case.data['member_id'] = config.get(
                'data', 'loan_member_id')  ##拿到 值赋值给data
        # case.data=contants.replace(case.data)
        resp = self.http_request.request(case.method, case.url, case.data)
        try:
            self.assertEqual(str(case.expected), resp.json()['code'])
            self.excel.Write_excel(case.case_id + 1, resp.text, 'PASS')
        except AssertionError as e:
            self.excel.Write_excel(case.case_id + 1, resp.text, 'FAIL')
            raise e

    @classmethod
    def tearDownClass(cls):
コード例 #6
0
###解析正则表达式---查找替换
import re
from InterfaceTest.common.config import config
data = '{"mobilephone":"#normal_user#","pwd":"#normal_pwd#"}'

# 原本字符,元字符
# p = "#(.*?)#"  # 正则表达式
# p='normal_user'
# p='#(.*?)#'###(开始结束)#()#  (里面的返回,括号代表组的开始于结束)
# m=re.search(p,data)##从任意位置开始找,找到一个就返回,这样就找不到所有的
# print(type(m),m.group(1))##返回   #开始,#结束 p='#.*#'
# print(m.group())#返回表达式和组里面的内容
# print(m.group(1))#返回指定组的内  group第一个组里面的内容
# g=m.group(1)
# v=config.get('data',g)##拿到参数化的key,根据key取配置文件的值
# print(v)
# ms=re.findall(p,data)###获取全部返回列表
# data=re.sub(p,v,data,count=1)###查找替换
# # 如果要匹配多次,替换多次,使用循环来解决

p = "#(.*?)#"  # 正则表达式
while re.search(p, data):
    print(data)
    m = re.search(p, data)  # 从任意位置开始找,找第一个就返回Match object, 如果没有找None
    g = m.group(1)  # 拿到参数化的KEY
    v = config.get('data', g)  # 根据KEY取配置文件里面的值
    print(v)
    # 记得替换后的内容,继续用data接收
    data = re.sub(p, v, data, count=1)  # 查找替换,count查找替换的次数

print('最后替换后的data', data)