我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

持续继承-樊江飞-2021.03.23

[复制链接]
皮皮虾学员认证 发表于 2021-3-23 20:02:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db, Asserts

@pytest.fixture(params=FileRead.read_yaml(r"datacase\login.yaml"))
def login_data(request):
    return request.param

def test_login(login_data,baserequests,url,db):
    phone = login_data['regdata']['mobilephone']
    # 准备数据
    print(login_data)
    # 下发注册请求(登录成功、失败)
    Member.register(baserequests,url,login_data['regdata'])
    # 下发登录的请求
    r = Member.login(baserequests,url,login_data['logindata'])
    # 检查结果
    # assert r.json()['msg'] == login_data['expect']['msg']
    # assert r.json()['code'] == login_data['expect']['code']
    # assert r.json()['status'] == login_data['expect']['status']
    Asserts.assert_equal(r,login_data['expect'],"msg,code,status")
    # 删除注册用户,清理环境
    Db.delete_user(db,phone)

import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db, Asserts

@pytest.fixture(scope='module',params=FileRead.read_yaml(r"datacase\login_setup.yaml"))
def setup_data(request):
    return request.param

@pytest.fixture(params=FileRead.read_yaml(r"datacase\login_data.yaml"))
def login_data(request):
    return request.param

@pytest.fixture(scope='module')
def register(setup_data,baserequests,url,db):
    #初始化环境:删除注册用户
    Db.delete_user(db,setup_data['regdata']['mobilephone'])
    #下发注册的请求
    Member.register(baserequests,url,setup_data['regdata'])
    yield
    # 清理环境:删除注册用户
    Db.delete_user(db,setup_data['regdata']['mobilephone'])

def test_login(register,baserequests,url,login_data):
    #下发登录请求
    r = Member.login(baserequests,url,login_data['regdata'])
    #检查结果
    # assert r.json()['msg'] == login_data['expect']['msg']
    # assert r.json()['code'] == login_data['expect']['code']
    # assert r.json()['status'] == login_data['expect']['status']
    Asserts.assert_equal(r,login_data['expect'],"msg,code,status")
'''
import pytest
#注册失败的数据
from zonghe.caw import FileRead
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_fail.yaml"))
def fail_data(request):
    return request.param
#注册失败的测试逻辑、测试步骤
def test_register_fail(fail_data):
    #准备测试数据
    print("测试数据为:",fail_data['data'])
    print("预期结果为:",fail_data['expect'])
    #下发请求'''
import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db, Asserts

# 注册失败的数据
from zonghe.test_script.conftest import baserequests, url

@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_fail.yaml"))  # yaml文件读取过来的
def fail_data(request):
    return request.param
# 注册失败的测试逻辑/测试步骤
def test_register_fail(fail_data, baserequests, url):
    # 准备测试数据
    print("测试数据为:", fail_data['data'])
    print("预期结果为:", fail_data['expect'])
    # 下发请求
    r = Member.register(baserequests, url, fail_data['data'])
    # 检查结果
    assert r.json()['msg'] == fail_data['expect']['msg']
    assert r.json()['code'] == fail_data['expect']['code']
    assert r.json()['status'] == fail_data['expect']['status']
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_pass.yaml"))  # yaml文件读取过来的
def pass_data(request):
    return request.param

    #成功用例
def test_register_pass(pass_data, baserequests, url,db):
    # 初始化环境(环境中可能有上次遗留的数据,或者其他人添加的数据,与本次执行的数据冲突了)
    Db.delete_user(db,pass_data['data']['mobilephone'])
    # 准备测试数据
    print("测试数据为:", pass_data['data'])
    print("预期结果为:", pass_data['expect'])
    # 下发请求
    r = Member.register(baserequests, url, pass_data['data'])
    # 检查结果
    # assert r.json()['msg'] == pass_data['expect']['msg']
    # assert r.json()['code'] == pass_data['expect']['code']
    # assert r.json()['status'] == pass_data['expect']['status']
    Asserts.assert_equal(r,pass_data['expect'],"msg,code,status")
    #########################################################
    # 检查注册的用户在系统中存在
    # 方法1.使用注册的用户登录    方法2.检查数据库    方法3.查询所有用户,结果在包含已注册用户
    r = Member.list(baserequests,url)
    assert pass_data['data']['mobilephone'] in r.text         #校验手机号在结果里存在
    # 清理环境:删除用户(这个脚本执行完,不影响其他脚本执行,不影响这个脚本的第二次执行)
    # 方法1、使用删除用户的接口删除   方法2、数据库中删除
    Db.delete_user(db,pass_data['data']['mobilephone'])

# 重复注册
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_repeat.yaml"))  # yaml文件读取过来的
def repeat_data(request):

    return request.param
def test_register_repeat(repeat_data, baserequests, url,db):
    Db.delete_user(db,repeat_data['data']['mobilephone'])
    # 准备测试数据
    print("测试数据为:", repeat_data['data'])
    print("预期结果为:", repeat_data['expect'])
    r = Member.register(baserequests, url, repeat_data['data'])
    # 可以不用校验
    # assert r.json()['msg'] == repeat_data['expect']['msg']
    # assert r.json()['code'] == repeat_data['expect']['code']
    # assert r.json()['status'] == repeat_data['expect']['status']
    Asserts.assert_equal(r,repeat_data['expect'],"msg,code,status")
    r = Member.register(baserequests, url, repeat_data['data'])
    print(r.text)
    # assert r.json()['msg'] == repeat_data['expect']['msg']
    # assert r.json()['code'] == repeat_data['expect']['code']
    # assert r.json()['status'] == repeat_data['expect']['status']
    Asserts.assert_equal(r,repeat_data['expect'],"msg,code,status")
    Db.delete_user(db,repeat_data['data']['mobilephone'])

回复

使用道具 举报

关注0

粉丝0

帖子25

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026