当前位置:网站首页>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)
边栏推荐
- CDZSC_ 2022 winter vacation personal training match level 21 (1)
- Upload taro pictures to Base64
- 2020浙江省赛
- How to become a senior digital IC Design Engineer (5-2) theory: ULP low power design technology (Part 1)
- [4G/5G/6G专题基础-147]: 6G总体愿景与潜在关键技术白皮书解读-2-6G发展的宏观驱动力
- Main (argc, *argv[]) details
- 一大波开源小抄来袭
- H5 web player easyplayer How does JS realize live video real-time recording?
- Elaborate on MySQL mvcc multi version control
- Luogu p2482 [sdoi2010] zhuguosha
猜你喜欢
第一讲:包含min函数的栈
一大波开源小抄来袭
Use 3 in data modeling σ Eliminate outliers for data cleaning
视频化全链路智能上云?一文详解什么是阿里云视频云「智能媒体生产」
[4g/5g/6g topic foundation-146]: Interpretation of white paper on 6G overall vision and potential key technologies-1-overall vision
Oracle installation enhancements error
细说Mysql MVCC多版本控制
印象笔记终于支持默认markdown预览模式
VSCode+mingw64
Lesson 1: finding the minimum of a matrix
随机推荐
Impression notes finally support the default markdown preview mode
第一讲:包含min函数的栈
[4g/5g/6g topic foundation -147]: Interpretation of the white paper on 6G's overall vision and potential key technologies -2-6g's macro driving force for development
MySQL can connect locally through localhost or 127, but cannot connect through intranet IP (for example, Navicat connection reports an error of 1045 access denied for use...)
Applet popup half angle mask layer
How does mongodb realize the creation and deletion of databases, the creation of deletion tables, and the addition, deletion, modification and query of data
Application of C # XML
H5 web player easyplayer How does JS realize live video real-time recording?
进程间的通信方式
CDZSC_2022寒假个人训练赛21级(1)
VSCode+mingw64
IIS faked death this morning, various troubleshooting, has been solved
Sqlplus garbled code problem, find the solution
Gauss elimination
C# 初始化程序时查看初始化到哪里了示例
H5网页播放器EasyPlayer.js如何实现直播视频实时录像?
CodeForces - 1324D Pair of Topics(二分或双指针)
小程序实现页面多级来回切换支持滑动和点击操作
【BW16 应用篇】安信可BW16模组/开发板AT指令实现MQTT通讯
根据热门面试题分析Android事件分发机制(二)---事件冲突分析处理