当前位置:网站首页>Pytest learning - dayone
Pytest learning - dayone
2022-07-07 09:53:00 【Don't ask me y】
One 、pytest Unit test framework
1、 What is a unit test framework :
In the process of software development , The smallest unit for software ( function 、 Method ) Check and test the correctness
2、 Unit test framework :pytest、unittest
3、 The main function :
- Tests found : Find the test case from the file
- The test execution : In a certain order
- Test judgment : Judge the difference between the expected results and the actual results through assertions
- Test report : speed of progress 、 Time consuming 、 Passing rate 、 Generate test reports
Two 、 The relationship between unit test framework and automation test framework
1、 What is automated testing framework
Test code encapsulated to complete the automation of a project
2、 effect
1. Improve test efficiency
2. Reduce human intervention , Improve test accuracy
3、POM Pattern 、 Data driven 、 Keyword Driven 、 Assertion 、 Log links, etc
Report mail 、selenium、request Secondary packaging of
The unit testing framework is just one part of the automation testing framework
3、 ... and 、 About pytest Characteristics
1、 Very mature python Unit framework , And ratio unittest Easier to use
2、pytest You can talk to selenium、request、qpplum In combination with implementation web automation 、 Interface automation 、app automation
3、pytest Test cases can be skipped and reruns Failed test cases
4、pytest You can talk to allure Generate very beautiful test reports
5、pytest You can talk to lenkins Continuous integration
6、pytest There are many very powerful plug-ins , And there are many operations used
pytest-html Generate html Automated test report in
pytest-xdst Distributed execution of test cases , many CPU distribution
pytest-ordering Used to change the execution order of test cases
pytest-reruns Rerun of test cases
7、 Install all plug-ins
Put all the above commands in a new directory txt In file , Input... At the terminal :
pip install -r file name .txt
Four 、 Use pytest Default test case rules and basic application
1、 The document must be marked with test_ perhaps _test ending
2、 The test case ( Class name ) Must be Test* start , And there can be no init
3、 The test method ( Method ) We must use test start
5、 ... and 、pytest How test cases run ( You can run some use cases or all use cases )
1、 Main function mode
Run all :pytest.main([’- Parameters ’])
Run the specified module :pytest Parameters Test case name
pytest main([’-vs’,‘test_login.py’])
Specify the directory :pytest main([’-vs’,./interface.testcase’])
adopt nodeid Specify the use case run :nodeid By module name 、 Separator 、 Class name 、 Method name 、 The function name consists of
pytest main([’-vs’,‘./interface.testcase( Module name )::( Class name ):: Method name ’])
2、 Command line mode
Parameters, :
-s Output the debugging information in the use case
-v Show more details
-vs The combination of these two parameters
-n Support multithreading or distributed operation
pytest main([’-vs’,./interface.testcase’,’-n=2‘])—— Two threads run , Two threads execute the use cases sequentially
–reruns:pytest main([’-vs’,./interface.testcase’,’–reruns = 2’])
-x : As long as one test case is wrong , The test stops ( Get to know )
–maxfull : Stop testing as long as one use case fails
-k “ao": Select the execution file name that contains “ao“ Some of the use cases
3、 By reading the pytest.ini Configuration file to run
pyteat.ini The configuration file is pytest The core test framework in the test framework
Location : It is usually placed in the root directory of the file
code : Must be ANSI, have access to notepad++ Modify encoding format
effect : change pytest Default behavior of
Operation rules : This configuration file will be run in any mode
6、 ... and 、pytest The order in which test cases are executed
pytest By default, it is executed from top to bottom
Adjust the execution order in actual work :
To mark ( The writing is fixed ):@pytest.mark.run(order = 1)
边栏推荐
- 请教个问题,我用sql-client起了个同步任务,从MySQL同步到ADB,历史数据有正常同步过去
- 细说Mysql MVCC多版本控制
- 基础篇:带你从头到尾玩转注解
- 第一讲:鸡蛋的硬度
- 使用BigDecimal的坑
- Database multi table Association query problem
- Addition, deletion, modification and query of ThinkPHP database
- Diffusion模型详解
- CentOS installs JDK1.8 and mysql5 and 8 (the same command 58 in the second installation mode is common, opening access rights and changing passwords)
- Flex flexible layout
猜你喜欢
Diffusion模型详解
Software modeling and analysis
Esp8266 uses TF card and reads and writes data (based on Arduino)
iNFTnews | 时尚品牌将以什么方式进入元宇宙?
Oracle安装增强功能出错
Arthas simple instructions
Unity3d interface is embedded in WPF interface (mouse and keyboard can respond normally)
面试被问到了解哪些开发模型?看这一篇就够了
csdn涨薪技术-浅学Jmeter的几个常用的逻辑控制器使用
Lesson 1: finding the minimum of a matrix
随机推荐
Dynamics 365online applicationuser creation method change
How to become a senior digital IC Design Engineer (1-6) Verilog coding Grammar: Classic Digital IC Design
CodeForces - 1324D Pair of Topics(二分或双指针)
Loxodonframework quick start
flink. CDC sqlserver. 可以再次写入sqlserver中么 有连接器的 dem
Elaborate on MySQL mvcc multi version control
Application of C # XML
How to become a senior digital IC Design Engineer (5-3) theory: ULP low power design technology (Part 2)
第一讲:包含min函数的栈
JS reverse tutorial second issue - Ape anthropology first question
CentOS installs JDK1.8 and mysql5 and 8 (the same command 58 in the second installation mode is common, opening access rights and changing passwords)
IIS redirection redirection appears eurl axd
根据热门面试题分析Android事件分发机制(二)---事件冲突分析处理
Gym - 102219j kitchen plates (violent or topological sequence)
First issue of JS reverse tutorial
Write it into the SR table in the way of flinksql. It is found that the data to be deleted has not been deleted. Refer to the document https://do
js逆向教程第二发-猿人学第一题
sql 里面使用中文字符判断有问题,哪位遇到过?比如value<>`无`
如何成为一名高级数字 IC 设计工程师(1-6)Verilog 编码语法篇:经典数字 IC 设计
Analyze Android event distribution mechanism according to popular interview questions (II) -- event conflict analysis and handling