🎉🎉接口自动化框架代码

数据库录入接口数据后,需要在代码端编写用例代码,此代码好比调用方来驱动数据库内的具体用例

编写用例代码

在testcase目录下,创建编写用例代码,修改类和方法名避免冲突,再填写用例数据所在的表和用例id(调用多条用例,可写为zmm-1.0#zmm-1.3), 如下创建./testcase/caseBlog/case_blog.py。

🎉 后续用例只需要复制此代码,修改下类/方法名/parameterization_data传参即可

from app.core.methods import *

@allure.epic("测试用例")
@allure.feature("博客项目")
@pytest.mark.skipif(env in ['RELEASE'], reason='线上环境不执行')
class TestExample():

    @login_decorator
    def setup_class(self):
        Log().debug('----------------------【测试用例开始执行】----------------------')

    @allure.story("文章管理")
    @allure.title('{title}')
    @pytest.mark.parametrize('case_id, title, table_name', MysqlConstructor.parameterization_data('article', 'zmm-1.0#zmm-1.4'))
    def test_example(self, case_id, title, table_name):
        Genetator.global_generator(table_name=table_name, case_id=case_id)

    def teardown_class(self):
        Log().debug('-----------------------【测试用例执行完毕】-----------------------\n')

🎉 parameterization_data()内的用例id详细写法说明如下

调用单条用例写法
MysqlConstructor.parameterization_data('article', 'back-zmm-1.0')

调用多条用例写法
MysqlConstructor.parameterization_data('article', 'back-zmm-1.0#back-zmm-1.2')
此写法会调用back-zmm-1.0、back-zmm-1.1、back-zmm-1.2共3条用例

调用分离的多条用例写法
MysqlConstructor.parameterization_data('article', 'back-zmm-1.0#back-zmm-1.2,back-zmm-1.5#back-zmm-1.7')
此写法会调用back-zmm-1.0、back-zmm-1.1、back-zmm-1.2、back-zmm-1.5、back-zmm-1.6、back-zmm-1.7共6条用例

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:http://zhangyanc.club/subject/article/api_python/

许可协议:署名-非商业性使用 4.0 国际许可协议