当前位置:网站首页>pytest interface automation testing framework | parametrize source code analysis
pytest interface automation testing framework | parametrize source code analysis
2022-08-01 07:29:00 【COCOgsta】
Video source: Station B "Upload at risk!pytest interface automation testing framework (basic theory to project actual combat and secondary development) teaching video [software testing]"
Organize the teacher's course content and test notes while studying, and share it with everyone. The infringement will be deleted immediately. Thank you for your support!
Attach the summary post: pytest interface automation testing framework | Summary_COCOgsta's blog-CSDN blog
def paramtrize(argnames, argvalues, indirect=False, ids=None, scope=None,*, _param_mark=None):"""Add new invocations to the underlying test function using the list ofargvalues for the given argnames. Parametrization is performed duringthe collection phase. If you need to setup expensive resources see aboutsetting indirect to do it rather at test setup time.# Add a new call to the underlying test function with a list of argValues for the given argnames.During the collection phase (understood as the use case execution phase)Perform parameterization.:param argnames: (Union[str, List[str], Tuple[str, ..]]) - A comma-separatedstring denoting one or more argument names, or a list/tuple of argument strings.# Parameter names: use a comma-separated string, or a list or tuple, representing one or more parameter names:param argvalues: (Iterable[Union[_pytest.mark.structures.ParameterSet,Sequence[ojbect], object]]) -The list of argvalues determines how often a test is invoked with different argumentvalues.If only one argname was specified argvalues is a list of values. If N argnames werespecified, argvalues must be a list of N-tuples, where each tuple-element specifiesa value for its respective argname.# Argument value: only one argnames, argvalues is a list of values.When there are N argnames,Each tuple corresponds to a set of argnames, and all tuples are combined into a list:param indirect: (Union[bool, Sequence[str]]) - A list of arguments' names(subset of argnames) or a boolean. If True the list contains all names fromthe argnames. Each argvalue corresponding to an argname in this list will bepassed as request.param to its respective argname fixture function so that itcan perform more expensive setups during the setup phase of a test rather thanat collection time.# indirect: When indirect=True, if the incoming argnames is the fixture function name.# At this time, the fixutre function name will become an executable function, argvalues are used as the parameters of the fixture, and the fixture function will be executed.The final result is then stored in request.param;When indirect=False, the fixture function is only called as a parameter name to the test collection phase.What is the setup phase test setup phase?Understand it as configuring the conftest.py stageWhat is the collection phase test collection phase?understood as the use case execution phase:param ids: (Optional[Union[Iterable[Union[None, str, float, int, bool]],Callable[[Any], Optional[Object]]]]) -Sequence of (or generator for) ids for argvalues, or a callable to return part ofthe id for each argvalue.With sequences (and generators like itertools.count()) the returned ids should beof type string, int, float, bool, or None. They are mapped to the correspondingindex in argvalues. None means to use the auto-generated id.If it is a callable it will be called for each entry in argvalues,and the return value is used as part of the auto-generated id for the wholeset (where parts are joined with dashes ("-")). This is useful to provide morespecific ids for certain items, e.g. dates. Returning None will use anauto-generated id.If no ids are provided they will be generated automatically from the argvalues.# ids: a list of strings, which can be understood as a title, consistent with the number of use cases:param scope: (Optional[_Scope]) - If specified it denotes the scope of theparameters. The scope is used for grouping tests by parameter instance.It will also override any fixture-function defined scope, allowing to seta dynamic scope using test context or configuration.# If specified, indicates the range of parameters.Scopes are used to group tests by parameter instance.It will also override any fixture functionsDefined scopes that allow the use of test contexts or configuration dynamic scopes.:param _param_mark::return:"""
边栏推荐
- Self-made a remote control software - VeryControl
- 研发过程中的文档管理与工具
- LevelSequence源码分析
- I have three degrees, and I have five faces. I was "confessed" by the interviewer, and I got an offer of 33*15.
- MVVM project development (commodity management system 1)
- pytest接口自动化测试框架 | parametrize叠加使用
- 目标检测概述-上篇
- 我说过无数遍了:从来没有一种技术是为灵活组合这个目标而设计的
- mysql查看cpu使用情况
- 升级为重量级锁,锁重入会导致锁释放?
猜你喜欢
随机推荐
Vim扩展内容
USB 协议 (二) 术语
MVVM项目开发(商品管理系统一)
my creative day
How to generate and configure public key certificate in Alipay
数据分析5
HPC系统简介
POJ1251丛林之路题解
华为深度学习课程第九章——卷积神经网络以及案例实践
05-SDRAM: Arbitration
mysql查看cpu使用情况
插入排序—直接插入排序和希尔排序
JVM: Runtime Data Area - PC Register (Program Counter)
22牛客多校1 J.Serval and Essay (启发式合并)
支付宝如何生成及配置公钥证书
Explosive 30,000 words, the hardest core丨Mysql knowledge system, complete collection of commands [recommended collection]
LeetCode 415:字符串相加
flink sql-client,怎么处理源端与目标增加端,sql-client包括映射表与JOB如
【ASWC Arxml结构分解】-7-Explicit(显式)和Implicit(隐式) Sender-Receiver communication描述差异
Shell执行SQL发邮件