Beispiel #1
0
# -*- coding: utf-8 -*-
# user = www

import json
import unittest
from common.basic_data import Context, DoRegex
from common import contants
from common.do_excel import DoExcel
from ddt import ddt, data
from common.request import Request
from common.log_http import MyLog
ww = DoExcel(contants.cases_path)
cases = ww.get_cases('list')
@ddt
class TestList(unittest.TestCase):
    def setUp(self):
        print("开始测试")
    @data(*cases)
    def test_list(self, case):
        my_logger = MyLog()
        if case.data != None:
            data = DoRegex.replace(case.data)  # 正则调用,替换正则表达式的数据
            data = json.loads(data)
            if hasattr(Context, 'cookies'):
                cookies = getattr(Context, 'cookies')
            else:
                cookies = None
            res = Request(method=case.method, url=case.url, data=data, cookies=cookies)
            print(res.get_json())
            if res.get_cookies():
                setattr(Context, 'cookies', res.get_cookies())
Beispiel #2
0
# -*- coding: utf-8 -*-
# user = www
import unittest
import json
from common.request import Request
from common import contants
from ddt import ddt,data
from common.mysql_util import MysqlUtil
from common.do_excel import DoExcel
from common.basic_data import Context, DoRegex

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('bidLoan')

@ddt
class TestBidLoan(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.mysql = MysqlUtil()
        self.sql = "select * from future.member where MobilePhone ={}".format(Context.normal_user)
        self.start_amount = self.mysql.fetch_one(self.sql)['LeaveAmount']
    @data(*cases)
    def test_bidLoan(self, case):
        data = DoRegex.replace(case.data)
        data = json.loads(data)
        print("执行第{}条案例".format(case.case_id))
        if hasattr(Context, 'cookies'):
            cookies = getattr(Context, 'cookies')
        else:
            cookies = None
        res = Request(method=case.method, url=case.url, data=data, cookies=cookies)
Beispiel #3
0
# -*- coding: utf-8 -*-
# user = www

import unittest
import json
from common.log_http import MyLog
from common import contants
from common.request import Request
from ddt import ddt, data
from common.do_excel import DoExcel
from common.basic_data import DoRegex, Context
from common.mysql_util import MysqlUtil

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('add')


@ddt
class TestAdd(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.mysql = MysqlUtil()

    def tearDown(self):
        self.mysql.close()
        print("测试结束")
        print("--------------------------------------")

    @data(*cases)
    def test_add(self, case):  # 必须传输一条case
        my_logger = MyLog()
# @File     : test_getInvestsByMemberId.py
# @Function : 测试获取用户所有投资记录

import unittest
import json

from common.do_excel import DoExcel
from common import contants
from ddt import ddt, data
from datas.mysql_util import MysqlUtil
from common.basic_data import Context, DoRegex
from common.request import Request
from common.logger2 import MyLog

do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='getInvestsByMemberId')


@ddt
class TestGetInvestsByMemberId(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()

    @data(*cases)
    def test_getInvestsByMemberId(self, case):
        data = DoRegex.replace(case.data)  # 参数化处理
        data = json.loads(data)  # 将测试数据由字符串序列化成字典

        if hasattr(Context, 'cookies'):  # 判断是否有cookies
            cookies = getattr(Context, 'cookies')  # 获取放到上下文里面的cookies
        else:
Beispiel #5
0
# @Software : PyCharm
# @File     : test_getLoanList.py
# @Function : 测试获取表列表接口

import unittest
from ddt import ddt, data
import json
from common.do_excel import DoExcel
from common import contants
from common.request import Request
from common.basic_data import DoRegex, Context
from datas.mysql_util import MysqlUtil
from common.logger2 import MyLog

do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='getLoanList')  # 返回cases列表


@ddt
class TestGetLoanList(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()

    @data(*cases)
    def test_getLoanList(self, case):
        data = DoRegex.replace(case.data)  # 参数化处理
        data = json.loads(data)  # 字符串序列化为字典
        # 先判断有没有cookies
        if hasattr(Context, 'cookies'):
            cookies = getattr(Context, 'cookies')
        else:
Beispiel #6
0
# -*- coding: utf-8 -*-
# user = www
import json
import unittest
from common.basic_data import Context, DoRegex
from common import contants
from common.do_excel import DoExcel
from ddt import ddt, data
from common.mysql_util import MysqlUtil
from common.request import Request
from common.log_http import MyLog

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('withdraw')


@ddt
class TestWithdraw(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.mysql = MysqlUtil()
        self.sql = "select l.LeaveAmount from future.member l where l.MobilePhone ={}".format(
            Context.normal_user)
        self.start_amount = self.mysql.fetch_one(self.sql)['LeaveAmount']

    @data(*cases)
    def test_withdraw(self, case):
        my_logger = MyLog()
        my_logger.debug("执行第{}条案例".format(case.case_id))
        data = DoRegex.replace(case.data)
        data = json.loads(data)
Beispiel #7
0
'''

import unittest
import json
import re

from ddt import ddt,data

from common.request import Request
from common.do_excel import DoExcel
from common import contants
from common.mysql_util import MysqlUtil


do_excel = DoExcel(contants.case_file)
cases = do_excel.get_cases(sheet_name='register') # 返回cases列表

# 登录接口的测试类
@ddt
class TestLogin(unittest.TestCase):

    # @classmethod
    # def setUpClass(cls): # 必须使用@classmethod 装饰器,所有test运行前运行一次
    #     global mysql
    #     mysql = MysqlUtil()
    #     sql = 'select mobilephone from future.member where ' \
    #           ' mobilephone != ""  order by mobilephone desc limit 1 '
    #
    #     global max_phone
    #     max_phone = mysql.fetch_one(sql)['mobilephone']
# @Function : 获取用户流水记录接口

import unittest
import json

from common.do_excel import DoExcel
from common import contants
from ddt import ddt, data
from datas.mysql_util import MysqlUtil
from common.basic_data import Context, DoRegex
from common.request import Request
from common.logger2 import MyLog


do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='getFinanceLogList')

@ddt
class TestGetFinanceLogList(unittest.TestCase):

    def setUp(self):
        self.mysql = MysqlUtil()

    @data(*cases)
    def test_getFinanceLogList(self, case):
        data = DoRegex.replace(case.data)  # 参数化处理
        data = json.loads(data)  # 将测试数据由字符串序列化成字典

        if hasattr(Context, 'cookies'):  # 判断是否有cookies
            cookies = getattr(Context, 'cookies')  # 获取放到上下文里面的cookies
        else:
@function: 
"""

import json
import unittest

from ddt import ddt, data

from common import contants
from common.basic_data import DoRegex, Context
from common.do_excel import DoExcel
from common.mysql_util import MysqlUtil
from common.request import Request

do_excel = DoExcel(contants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases('invest')


@ddt
class InvestTest(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()
        # 投资前账户余额
        self.select_member = 'select * from future.member where mobilephone = {0}'.format(
            Context.normal_user)
        self.before_amount = self.mysql.fetch_one(
            self.select_member)['LeaveAmount']
        # 自己去添加
        pass

    @data(*cases)
# @File     : test_getInvestsByLoanId.py
# @Function : 测试获取标的所有投资记录接口

import unittest
import json

from common.do_excel import DoExcel
from common import contants
from ddt import ddt, data
from datas.mysql_util import MysqlUtil
from common.basic_data import Context, DoRegex
from common.request import Request
from common.logger2 import MyLog

do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='getInvestsByLoanId')


@ddt
class TestFetInvestsByLoanId(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()

    @data(*cases)
    def test_getInvestsByLoanId(self, case):
        data = DoRegex.replace(case.data)  # 参数化处理
        data = json.loads(data)  # 将测试数据由字符串序列化成字典

        if hasattr(Context, 'cookies'):  # 判断是否有cookies
            cookies = getattr(Context, 'cookies')  # 获取放到上下文里面的cookies
        else:
# -*- coding: utf-8 -*-
# user = www

import unittest
import json
from common.log_http import MyLog
from common import contants
from common.request import Request
from ddt import ddt, data
from common.do_excel import DoExcel
from common.basic_data import DoRegex, Context
from common.mysql_util import MysqlUtil

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('generateRepayments')


@ddt
class TestGenerateRepayments(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.mysql = MysqlUtil()
        pass

    def tearDown(self):
        self.mysql.close()
        print("测试结束")
        print("--------------------------------------")

    @data(*cases)
    def test_generateRepayments(self, case):  # 必须传输一条case
Beispiel #12
0
from common.do_excel import DoExcel
from ddt import ddt, data
from common.basic_data import DoRegex, Context
from common import project_path
from common.read_conf import ReadConfig
import json
import time
from common.webservice_request import WebserviceRequest
from common.do_mysql import DoMysql
import random
from common import random_string
from common.logger import MyLog

# 读取测试数据
do_excel = DoExcel(project_path.data_path)
cases = do_excel.get_cases('register')
my_logger = MyLog()


@ddt
class TestRegister(unittest.TestCase):
    def setUp(self):
        self.db = DoMysql()
        sql = 'SELECT COUNT(*) count FROM user_db.t_user_info;'
        self.before_line_count = self.db.fetch_one(sql)['count']

    @data(*cases)
    def test_register(self, case):
        my_logger.info('正在执行第{}条用例:{}'.format(case.case_id, case.title))
        my_logger.info('-----------开始检查url地址-------------')
        url = ReadConfig().get('test_api', 'url_pre') + case.url
Beispiel #13
0
# 测试投资接口
# 步骤:管理员登陆--》管理员增加标的--》借款人加标--》投资人投标

# 增加其他表数据校验

import unittest
from common.do_excel import DoExcel
from common.config import constants
from common.request import Request
from common.basic_data import DoRegex, Context
import json
from ddt import ddt, data, unpack, file_data
from datas.mysql_util import MysqlUtil

do_excel = DoExcel(constants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases("invest")  #返回case列表


@ddt
class InvestTest(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()
        # 投资前账户余额
        self.select_member = 'select * from future.member where mobilephone = {0}'.format(
            Context.normal_user)
        self.before_amount = self.mysql.fetch_one(
            self.select_member)['LeaveAmount']
        # 自己去添加
        pass

    @data(*cases)
# @Email    : [email protected]
# @Software : PyCharm
# @File     : test_withdraw.py
# @Function : 测试取现接口

import unittest
import json
from ddt import ddt, data
from common.do_excel import DoExcel
from common import contants
from common.request import Request
from common.basic_data import DoRegex, Context
from datas.mysql_util import MysqlUtil

do_excel = DoExcel(file_name=contants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases('withdraw')  # 返回一个case列表,由一个个Case对象/实例组成


@ddt
class TestWithdraw(unittest.TestCase):
    def setUp(self):
        self.sql = 'SELECT * FROM future.member WHERE MobilePhone = {0}'.format(
            Context.invest_user)
        self.mysql = MysqlUtil()
        # 取现前账户余额记录
        self.leaveamount_old = self.mysql.fetch_one(
            self.sql)['LeaveAmount']  # 获取账户余额---测试取现前的账户余额
        print("取现前的账户余额是:{}元".format(self.leaveamount_old))

    @data(*cases)
    def test_withdraw(self, case):
Beispiel #15
0
# 一个标的/项目,有多个用户投资,所以会生成多条投资记录
# 用户每投资一次,就生成一条投资记录
# 用户余额有变动的话,会在资金流水表插入一条记录

import unittest
import json

from common.do_excel import DoExcel
from common import contants
from ddt import ddt, data
from datas.mysql_util import MysqlUtil
from common.basic_data import Context, DoRegex
from common.request import Request

do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='invest')


@ddt
class TestInvest(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()
        self.sql_select_member = 'SELECT * FROM future.member WHERE MobilePhone = {0}'.format(
            Context.invest_user)
        # 投资竞标前的账户余额
        self.leaveamount_old = self.mysql.fetch_one(
            self.sql_select_member)['LeaveAmount']  # 获取账户余额---测试投资竞标前的账户余额
        print("投资竞标前的投资人账户余额是:{}元".format(self.leaveamount_old))

    @data(*cases)
    def test_invest(self, case):
Beispiel #16
0
# -*- coding:utf-8 -*-
# @Time    : 2019/1/2 21:06
# @Author  : totoo

import unittest
from common.do_excel import DoExcel
from common.config import constants
from common.request import Request
import json
from ddt import ddt,data,unpack,file_data
from datas.mysql_util import MysqlUtil

do_excel = DoExcel(constants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases("register")  #返回case列表

@ddt
class TestLogin(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        global mysql
        mysql = MysqlUtil()
        sql = "SELECT MobilePhone from future.member where MobilePhone!='' ORDER BY MobilePhone DESC LIMIT 1"

        global max_phone
        max_phone = int(mysql.fetch_one(sql)['MobilePhone'])

    # def setUp(self):
    #     print("=" * 100)
    #     # 查询最大手机号
    #     self.mysql = MysqlUtil()
5. 数据验证
6. 报告
"""
# 参数化,数据库校验

import unittest
import re
import json
from common.do_excel import DoExcel
from common import contants
from common.request import Request
from ddt import ddt,data
from datas.mysql_util import MysqlUtil

do_excel = DoExcel(file_name=contants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases('register')  # 返回一个case列表,由一个个Case对象/实例组成


@ddt
class TestRegister(unittest.TestCase):

    # 每次运行只执行一次的操作,放到setUpClass里面,不放到setUp里。
    @classmethod
    def setUpClass(cls):
        global mysql
        mysql = MysqlUtil()
        sql = "select mobilephone from future.member where mobilephone != '' order by mobilephone desc limit 1;"
        global max_phone_old
        max_phone_old = mysql.fetch_one(sql)['mobilephone']

    @data(*cases)
Beispiel #18
0
import unittest
from common.do_excel import DoExcel
from common import contants
from common.reques import Request
from ddt import ddt,data,unpack
import json


#打开表格
do_excel = DoExcel(contants.case_file1)
#定位表单
cases = do_excel.get_cases('login')
@ddt
class TestLogin(unittest.TestCase):

    def setUp(self):
        print('测试数据准备')

    #使用ddt把表单内的全部数据取出
    @data(*cases)
    def test_login(self,case):
        # #遍历表单内login内的测试数据
        # for case in cases:
            #把data转换成json格式
            # data = json.loads(case.data,encoding='utf-8')
            # print(data)
            #请求表单内数据
        resp = Request(methon=case.method, url=case.url, data=eval(case.data))  # 通过封装Request类来完成接口的调用
        print('status_code',resp.get_status_code())  # 打印响应码
        print(resp.get_text())
        #断言表格内的期望结果与接口内实际返回的结果
Beispiel #19
0
# 配置文件设置基础登陆数据--》 通过context类获取 --》 regex正则匹配 --》 request发起请求 --》 context中添加cookie属性
# --》 进行recharge请求 --》 context中获取cookies--》 数据库校验(使用mysql模块)



import unittest
from common.do_excel import DoExcel
from common.config import constants
from common.request import Request
import json
from ddt import ddt,data,unpack,file_data
from common.basic_data import DoRegex
from common.basic_data import Context

do_excel = DoExcel(constants.case_file)  # 实例化一个DoExcel对象
cases=do_excel.get_cases("recharge")  #返回case列表

@ddt
class TestRecharge(unittest.TestCase):

    def setUp(self):
        print("-"*100)

    @data(*cases)
    def test_charge(self,case):
        # 对取到的数据,做参数化处理
        data = DoRegex.replace(case.data)
        data = json.loads(data)
        print("===test data===",data)
        if hasattr(Context,'cookies'):  # 通过上下文判断,来赋值cookies
            cookies=getattr(Context,'cookies')
Beispiel #20
0
# -*- coding: utf-8 -*-
# user = www

import unittest
import json
from common.log_http import MyLog
from common import contants
from common.request import Request
from ddt import ddt, data
from common.do_excel import DoExcel
from common.basic_data import DoRegex, Context
from common.mysql_util import MysqlUtil

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('getInvestsByLoanId')


@ddt
class TestGetInvestsByLoanId(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.mysql = MysqlUtil()
        pass

    def tearDown(self):
        self.mysql.close()
        print("测试结束")
        print("--------------------------------------")

    @data(*cases)
    def test_getInvestsByLoanId(self, case):  # 必须传输一条case
Beispiel #21
0
# 基础数据放入配置文件>> context (反射)>> 通过从类里取出,用正则匹配excel中 >>
# request >> context 添加cookies >>recharge 取context的cookies

import unittest
import json
import re

from ddt import ddt, data
from common.request import Request
from common.do_excel import DoExcel
from common import contants
from common.mysql_util import MysqlUtil
from common.basic_data import DoRegex, Context

do_excel = DoExcel(contants.case_file)
cases = do_excel.get_cases(sheet_name='recharge')  # 返回cases列表


# 登录接口的测试类
@ddt
class TestRecharge(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("准备最大手机号码")
        global mysql
        mysql = MysqlUtil()
        sql = 'select mobilephone from future.member where ' \
              ' mobilephone != ""  order by mobilephone desc limit 1 '
        global max_phone
        max_phone = mysql.fetch_one(sql)['mobilephone']
# -*- coding: utf-8 -*-
# user = www
import unittest
import json
from common.log_http import MyLog
from common import contants
from common.request import Request
from ddt import ddt, data
from common.do_excel import DoExcel
from common.basic_data import DoRegex, Context
from common.mysql_util import MysqlUtil

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('getFinanceLogList')


@ddt
class TestGetFinanceLogList(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.mysql = MysqlUtil()
        pass

    def tearDown(self):
        self.mysql.close()
        print("测试结束")
        print("--------------------------------------")

    @data(*cases)
    def test_getFinanceLogListd(self, case):  # 必须传输一条case
        my_logger = MyLog()
Beispiel #23
0
@function: 
"""

import json
import unittest

from ddt import ddt, data

from common import contants
from common.basic_data import DoRegex, Context
from common.do_excel import DoExcel
from common.mysql_util import MysqlUtil
from common.request import Request

do_excel = DoExcel(contants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases('recharge2')


@ddt
class TestRecharge(unittest.TestCase):

    def setUp(self):
        # 充值前账户余额记录
        self.mysql = MysqlUtil()
        # 查询投资用户的账户信息
        self.sql = 'select * from future.member where mobilephone = {0}'.format(Context.normal_user)
        self.before_amount = self.mysql.fetch_one(self.sql)['LeaveAmount']  # 账户余额
        print("充值前的金额", self.before_amount)

    @data(*cases)
    def test_recharge(self, case):
--数据校验(取出来期望结果,查询数据库leaveamount,两个比较)"""

import unittest
import json
from common.do_excel import DoExcel
from common import contants
from common.request import Request
from ddt import ddt, data
from common.basic_data import DoRegex, Context
from datas.mysql_util import MysqlUtil
from common.logger2 import MyLog
"""执行用例时,把从excel取到的数据,通过正则解析出来,再通过setattar() 放到Context的属性里,保存。
使用时通过getattr()取出来使用。"""

do_excel = DoExcel(file_name=contants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases('recharge')  # 返回一个case列表,由一个个Case对象/实例组成

sql = 'SELECT LeaveAmount FROM future.member WHERE MobilePhone = {0}'.format(
    Context.invest_user)
mysql = MysqlUtil()


@ddt
class TestRecharge(unittest.TestCase):
    # 在setup里面完成充值前账户余额的获取
    def setUp(self):
        # 充值前账户余额记录
        self.leaveamount_old = mysql.fetch_one(sql)  # 获取账户余额---测试充值前的账户余额
        MyLog.info("充值前的余额是:{}元".format(self.leaveamount_old['LeaveAmount']))

        # 查询投资用户的账户信息
Beispiel #25
0
4.把手机号替换上去  # 怎么取出来?
'''

import unittest
import json
from common.do_excel import DoExcel
from common import contants
from common.request import Request
from ddt import ddt,data
from common.basic_data import DoRegex
from common.config import CofigLoader
from common import logger


do_excel = DoExcel(file_name=contants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases('login')  # 返回一个case列表,由一个个Case对象/实例组成

@ddt
class TestLogin(unittest.TestCase):

    def setUp(self):
        print("测试准备")

    # def test_login(self):
    #     do_excel = DoExcel(file_name=contants.case_file)  # 实例化一个DoExcel对象
    #     cases = do_excel.get_cases('login')  # 返回一个case列表,由一个个Case对象/实例组成
    #     for case in cases:
    #         data = json.loads(case.data)   # 从excel中取到的data是一个字符串,把字符串转为字典
    #         resp = Request(method=case.method,url=case.url,data=data)
    #         print("status_code:", resp.get_status_code())  # 打印响应码
    #         resp_dict = resp.get_json()  # 获取请求响应,字典
Beispiel #26
0
# -*- coding:utf-8 -*-
# @Time    : 2018/12/26 22:04
# @Author  : totoo

# 测试登陆

import unittest
from common.do_excel import DoExcel
from common.config import constants
from common.request import Request
import json
from ddt import ddt, data, unpack, file_data
from datas.mysql_util import MysqlUtil

do_excel = DoExcel(constants.case_file)  # 实例化一个DoExcel对象
cases = do_excel.get_cases("login")  #返回case列表


@ddt
class TestLogin(unittest.TestCase):
    def setUp(self):
        pass

    @data(*cases)
    def test_login(self, case):
        data = json.loads(case.data)
        resp = Request(method=case.method, url=case.url,
                       data=data)  # 通过封装的Request类来完成接口的调用
        print('test data:', data)
        print('status_code:', resp.get_status_code())  # 打印响应码
        resp_dict = resp.get_json()  # 获取请求响应,字典
Beispiel #27
0
# 管理员登录--管理员加标--管理员审核
# 投资人登录--投资人投资竞标--直到标满标的状态自动变为核保审批状态    # 每投资一次,invest表会新增一条记录,根据LoanId查看
# 投资人登录--生成回款计划()   # 一条投资记录,会生成一条或多条回款计划记录,根据invest表的ID,查看回款计划

import unittest
import json

from common.do_excel import DoExcel
from common import contants
from ddt import ddt, data
from datas.mysql_util import MysqlUtil
from common.basic_data import Context, DoRegex
from common.request import Request

do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='generateRepayments')


@ddt
class TestGenerateRepayments(unittest.TestCase):
    def setUp(self):
        pass

    @data(*cases)
    def test_generateRepayments(self, case):
        data = DoRegex.replace(case.data)  # 参数化处理
        data = json.loads(data)  # 将测试数据由字符串序列化成字典

        if hasattr(Context, 'cookies'):  # 判断是否有cookies
            cookies = getattr(Context, 'cookies')  # 获取放到上下文里面的cookies
        else:
Beispiel #28
0
from common.basic_data import DoRegex
from common.mysql_util import MysqlUtil


class HashLib:
    @staticmethod
    def md5_key(arg):
        hash = hashlib.md5()
        hash.update(
            arg.encode('utf-8')
        )  # #参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误
        return hash.hexdigest()


do_excel = DoExcel(contants.case_file)
cases = do_excel.get_cases(sheet_name='login')  # 返回cases列表


# 登录接口的测试类
@ddt
class TestLogin(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        global mysql
        mysql = MysqlUtil()
        sql_max = 'select mobilephone from future.member where ' \
              ' mobilephone != ""  order by mobilephone desc limit 1 '
        global max_phone
        max_phone = mysql.fetch_one(sql_max)  # 从数据库中查找出最大的手机号码用来测试非注册用户登录用例

    @data(*cases)
# @Email    : [email protected]
# @Software : PyCharm
# @File     : test_list.py
# @Function : 测试获取用户列表(list)接口

import json
import unittest
from common.do_excel import DoExcel
from common import contants
from ddt import ddt, data
from common.request import Request
from common.basic_data import DoRegex, Context
from datas.mysql_util import MysqlUtil

do_excel = DoExcel(file_name=contants.case_file)
cases = do_excel.get_cases(sheet_name='list')  # 返回cases列表


@ddt
class TestList(unittest.TestCase):
    def setUp(self):
        self.mysql = MysqlUtil()

    @data(*cases)
    def test_list(self, case):
        data = DoRegex.replace(case.data)
        data = json.loads(data)

        # 先判断有没有cookies
        if hasattr(Context, 'cookies'):
            cookies = getattr(Context, 'cookies')
Beispiel #30
0
# -*- coding: utf-8 -*-
# user = www
import unittest
import json
from common.log_http import MyLog
from common import contants
from common.request import Request
from ddt import ddt, data
from common.do_excel import DoExcel
from common.basic_data import DoRegex, Context
from common.mysql_util import MysqlUtil

ww = DoExcel(contants.cases_path)
cases = ww.get_cases('recharge')


@ddt
class TestRecharge(unittest.TestCase):
    def setUp(self):
        print("开始测试")
        self.sql = "select l.LeaveAmount from future.member l where l.MobilePhone ={}".format(
            Context.normal_user)
        self.mysql = MysqlUtil()
        self.leaveamount = self.mysql.fetch_one(self.sql)['LeaveAmount']

    def tearDown(self):
        self.mysql.close()
        print("测试结束")
        print("--------------------------------------")

    @data(*cases)