Beispiel #1
0
class TestLogin:
    def setup_class(self):
        self.session = requests.Session()
        # 实例化接口对象
        self.login_obj = MtxLogin()

    # 测试登录成功的测试用例
    @allure.story('登录成功的测试用例')
    def test_login_success(self):
        '''
        登录成功的测试用例
        :return:
        '''
        resp_login = self.login_obj.login_success(self.session)
        assert resp_login.json().get('msg') == "登录成功"

    # 参数化  用yml文件去保存我们的测试数据
    # data_list = [{},{},{},{}]  for dict in data_list:
    @pytest.mark.parametrize('args', analyze_data('login_data', 'test_login'))
    @allure.title('登录异常,测试数据是:{args}')
    @allure.story('异常数据的登录接口测试')
    def test_login_error(self, args):
        '''
        对登录接口进行异常登录的测试
        :param args: 参数化的数据
        :return:
        '''
        data = {'accounts': args['accounts'], 'pwd': args['pwd']}
        resp_login = self.login_obj.login(self.session, data)
        assert resp_login.json().get('msg') == args['exp']
Beispiel #2
0
class TestLogin():
    def setup_class(self):
        self.session = requests.Session()
        # 实例化接口对象
        self.login_api = MtxLogin()

    @allure.feature('正向登录接口')
    @allure.severity('critical')
    @allure.title('正向登录')
    def test_login_success_case001(self):
        '''
        正向登录接口测试用例
        '''
        resp_login = self.login_api.login_success(self.session)
        assert resp_login.json().get("msg") == "登录成功"

    # 参数化,用yaml文件去保存我们的测试数据
    @allure.feature('登录接口的参数化测试集合')
    @allure.severity('critical')
    @pytest.mark.parametrize('value', analyze_data('login_data', 'test_login'))
    @allure.title('登录异常场景的参数化,测试数据是:{value}')
    def test_login_error_case002(self, value):
        '''
        登录接口参数化测试用例
        '''
        data = {"accounts": value['accounts'], "pwd": value['pwd']}
        resp_login = self.login_api.login(self.session, data)
        assert resp_login.json().get('msg') == value['expect']
Beispiel #3
0
class TestRegister():
    def setup_class(self):
        self.session = requests.Session()
        # 实例化MYSQL接口
        self.db = DataBaseHandle()
        self.reg_obj = RegisterApi()

    @allure.feature('注册接口')
    @allure.severity('critical')
    @allure.title('注册接口')
    def test_register(self):
        '''
        注册接口测试用例
        '''
        # 实例化faker这个类
        fake = Faker()

        # 对data数据进行构造
        username = fake.first_name()
        print(f'fake构造的用户名:{username}')
        password = fake.password()
        print(f'fake构造的密码:{password}')
        data = {
            'accounts': username,
            'pwd': password,
            'type': 'username',
            'is_agree_agreement': 1,
        }
        res = self.reg_obj.registerApi(self.session, data=data)
        re = res.json()
        # print('re的响应值是: ', re)
        # assert re['msg'] == '注册成功'

        # 进行一个断言:查询数据库,看一下刚才注册的数据是否成功存入到数据库中
        sql = f'SELECT pwd,username FROM s_user WHERE username = "******"'
        data = self.db.selectDb(sql)
        print('返回的数据是: ', data)
        assert data[0][1] == username

    @allure.feature('注册接口的参数化测试集合')
    @allure.severity('critical')
    @pytest.mark.parametrize("value",
                             analyze_data('register_data', "test_register"))
    @allure.title('注册异常场景的参数化测试,测试数据是:{value}')
    def test_register_data(self, value):
        '''
        注册接口参数化测试用例
        '''
        data = {
            "accounts": value["accounts"],
            "pwd": value["pwd"],
            "type": "username",
            "is_agree_agreement": 1
        }
        res = self.reg_obj.registerApi(self.session, data=data)
        assert res.json().get("msg") == value['expect']
class TestLogin():
    # 前置条件
    def setup_class(self):
        self.session = requests.Session()  # 通过 session 对象实例化 session
        # 实例化登录接口的对象
        self.login_obj = MtxLogin()

    # 登录成功测试用例
    def test_login_success(self):
        resp_login = self.login_obj.login_succeaa(self.session)
        assert resp_login.json().get('msg') == "登录成功"

    # 参数化,用 yml 文件去保存我们的测试数据
    # data_list = [{},{},{}]  args == for dict in data_list(返回字典)
    @pytest.mark.parametrize('args', analyze_data('login_data', 'test_login'))
    @allure.title('登录异常,测试数据是:{args}')
    def test_login_error(self, args):
        data = {'accounts': args['accounts'], 'pwd': args['pwd']}
        resp_login = self.login_obj.login(self.session, data=data)
        assert resp_login.json().get('msg') == args['exp']
Beispiel #5
0
class Test_LWJ_Login():
    #@allure.step('实例化接口对象')
    def setup_class(self):
        self.session = requests.Session()
        # 实例化接口对象
        self.login_obj = LWJ_Login_case()

    @allure.title('登录异常,测试数据是:{args}')
    #  @allure.title('测试用例登录')
    @allure.feature('测试lwj登录用例')
    @allure.story('登录用例')
    @allure.severity('trivial')
    @allure.link('http://o.sales-staging.liweijia.com', name="分销的访问地址")
    @allure.issue('http://o.sales-staging.liweijia.com',
                  '前面没有name关键字的issue的访问地址')
    @allure.testcase('http://o.sales-staging.liweijia.com', 'testcase的访问地址')
    @pytest.mark.parametrize('args', analyze_data('login_data', 'test_login'))
    def test_Logincase(self, args):
        result = self.login_obj.is_login(self.session, args['lv_username'],
                                         args['lv_password'])
        assert args['exp'] in str(result)