github配置
克隆 github上的仓库
vcs下选图片中的内容
- git 是一个代码的管理工具,它可以将你的所有的目录都管理起来,包括文件的变更,实现版本号的管理 。
- Pycharm里面也提供了一个界面化的方式来关联Pycharm中的项目同步到GitHub中。
- git常用命令
用git 提交代码,几条命令
pytest 常用的命令行参数
常用参数
pytest --collect-only 只收集用例
pytest -k “add ” 匹配所有名称中包含add的用例(‘add or div’ ‘TestClass’)
def func1(x):
return x+1
# 在terminal中执行下方面的方法用:pytest -k answer
def test_answer():
assert func1(3) == 4
pytest -m mark标签名 标记
# 新建 pytest.ini 文件,自定义mark标签
[pytest]
markers = login
Search
import pytest
@pytest.mark.login
def test_case1():
print('afwefawefawe')
# 使用标签执行用例,在terminal中执行:pytest -m login
@pytest.mark.Search
def test_case2():
print('Search 方法')
pytest - - junitxml=./result.xml 生成执行结果文件
pytest --setup-show 回溯fixture的执行过程
更多的用法使用pytest —help查看帮助文档
pytest 框架结构
- 类似的setup,teardown同样更灵活,
- 模块级(setup_module/teardown_module)模块始末,全局的(优先最高)
- 函数级(setup_function/teardown_function)只对函数用例生效(不在类中)
def setup_function():
print('执行 setupfunction')
def teardown_function():
print('执行 teardownfunctin')
def test_case1():
print('测试类1')
- 类级(setup_class/teardown_class)**只在类中前后运行一次(在类中)
- 方法级(setup_method/teardown_methond)开始于方法始末(在类中)
- 类里面的(setup/teardown)运行在调用方法的前后
参数化与数据驱动
- 什么是参数化?
- 待测试的输入和输出是一组数据, 可以把测试数据组织起来,用不同的测试数据调用相同的测试方法
- 数据驱动?
- 数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。
- 参数化放在类上面,类中的方法,每个方法都会执行多次
- 如果配置了多个参数,会执行参数个数的笛卡尔积次
@pytest.mark.parametrize('a',[1, 2, 3])
@pytest.mark.parametrize('b',[1, 2, 3])
@pytest.mark.parametrize('c',[1, 2, 3])
def test_canshuhua(a, b, c):
print(a, b,c)
参数化的用法
- 参数化装饰函数
- ids参数增加可读性
- 叠加参数化
mark.parametrize参数化
- 场景:测试数据是传⼊的,测试的预期结果也是传⼊的,⼆个不同的参数⼀⼀对应,输⼊的数据经过调⽤执⾏后结果是否与预期⼀致
- 解决:使⽤mark中的@pytest.mark.parametrize进⾏参数化和数据驱动更灵活
- 应用:
- 1、在方法,类上加上装饰器都可以,
- 2、另外组合方式可以实现更多测试用例的自动生成