当前位置:网站首页>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)
边栏推荐
- Elaborate on MySQL mvcc multi version control
- 其实特简单,教你轻松实现酷炫的数据可视化大屏
- VSCode+mingw64
- Qualifying 3
- Basic use of JMeter to proficiency (I) creation and testing of the first task thread from installation
- Applet sliding, clicking and switching simple UI
- 如何成为一名高级数字 IC 设计工程师(1-6)Verilog 编码语法篇:经典数字 IC 设计
- La différence entre viewpager 2 et viewpager et la mise en œuvre de la rotation viewpager 2
- [Frida practice] "one line" code teaches you to obtain all Lua scripts in wegame platform
- 进程和线程的区别
猜你喜欢
Basic use of JMeter to proficiency (I) creation and testing of the first task thread from installation
PLC信号处理系列之开关量信号防抖FB
Detailed explanation of diffusion model
In fact, it's very simple. It teaches you to easily realize the cool data visualization big screen
[bw16 application] Anxin can realize mqtt communication with bw16 module / development board at instruction
VSCode+mingw64+cmake
沙龙预告|GameFi 领域的瓶颈和解决方案
Natapp intranet penetration
其实特简单,教你轻松实现酷炫的数据可视化大屏
H5网页播放器EasyPlayer.js如何实现直播视频实时录像?
随机推荐
Oracle installation enhancements error
asp. How to call vb DLL function in net project
There is a problem using Chinese characters in SQL. Who has encountered it? Such as value & lt; & gt;` None`
CMD startup software passes in parameters with spaces
Applet sliding, clicking and switching simple UI
Selenium+bs4 parsing +mysql capturing BiliBili Tarot data
VSCode+mingw64+cmake
**Grafana installation**
用flinksql的方式 写进 sr的表,发现需要删除的数据没有删除,参照文档https://do
Pit using BigDecimal
Luogu p2482 [sdoi2010] zhuguosha
基于智慧城市与储住分离数字家居模式垃圾处理方法
洛谷P2482 [SDOI2010]猪国杀
2020ccpc Weihai J - Steins; Game (SG function, linear basis)
使用BigDecimal的坑
thinkphp3.2信息泄露
Main (argc, *argv[]) details
Scratch crawler mysql, Django, etc
小程序滑动、点击切换简洁UI
Codeforces - 1324d pair of topics