当前位置:网站首页>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)
边栏推荐
- Use 3 in data modeling σ Eliminate outliers for data cleaning
- The applet realizes multi-level page switching back and forth, and supports sliding and clicking operations
- 企业实战|复杂业务关系下的银行业运维指标体系建设
- HCIP 第一天 笔记整理
- Loxodonframework quick start
- H5网页播放器EasyPlayer.js如何实现直播视频实时录像?
- 请教个问题,我用sql-client起了个同步任务,从MySQL同步到ADB,历史数据有正常同步过去
- 小程序实现页面多级来回切换支持滑动和点击操作
- 基础篇:带你从头到尾玩转注解
- How to use clipboard JS library implements copy and cut function
猜你喜欢

H5网页播放器EasyPlayer.js如何实现直播视频实时录像?

Qualifying 3

【BW16 应用篇】安信可BW16模组/开发板AT指令实现MQTT通讯

Unity3d interface is embedded in WPF interface (mouse and keyboard can respond normally)

使用BigDecimal的坑

How to use clipboard JS library implements copy and cut function

沙龙预告|GameFi 领域的瓶颈和解决方案
![[Frida practice]](/img/20/fc68bcf2f55b140d6754af6364896b.png)
[Frida practice] "one line" code teaches you to obtain all Lua scripts in wegame platform

第一讲:包含min函数的栈

印象笔记终于支持默认markdown预览模式
随机推荐
thinkphp3.2信息泄露
HCIP 第一天 笔记整理
Niuke - Huawei question bank (61~70)
Oracle安装增强功能出错
使用BigDecimal的坑
Natapp intranet penetration
Difference between process and thread
Guys, have you ever encountered the case of losing data when Flink CDC reads mysqlbinlog? Every time the task restarts, there is a probability of losing data
Unity3d interface is embedded in WPF interface (mouse and keyboard can respond normally)
Create an int type array with a length of 6. The values of the array elements are required to be between 1-30 and are assigned randomly. At the same time, the values of the required elements are diffe
Main (argc, *argv[]) details
2016 CCPC Hangzhou Onsite
第一讲:鸡蛋的硬度
【BW16 应用篇】安信可BW16模组/开发板AT指令实现MQTT通讯
C# Socke 服务器,客户端,UDP
企业实战|复杂业务关系下的银行业运维指标体系建设
Lesson 1: hardness of eggs
Analyze Android event distribution mechanism according to popular interview questions (I)
Sword finger offer II 107 Distance in matrix
如何成为一名高级数字 IC 设计工程师(1-6)Verilog 编码语法篇:经典数字 IC 设计