当前位置:网站首页>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 :

  1. Tests found : Find the test case from the file
  2. The test execution : In a certain order
  3. Test judgment : Judge the difference between the expected results and the actual results through assertions
  4. 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
 Insert picture description here
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
 Insert picture description here

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)

原网站

版权声明
本文为[Don't ask me y]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130624178013.html