Does cats support single interface testing
Does cats support single interface testing? such as: https://cloud.githubusercontent.com/assets/4562611/19390428/12224610-91f6-11e6-9ece-6e3cd7dd35ea.png
java -jar target/cats-runner.jar fuzz -X GET --mc 500 -t "path1" -i "2XX,4XX" https://petstore3.swagger.io/api/v3/pet/path1
[][] ▶ Starting cats-11.8.1-SNAPSHOT, build time 2024-09-26T06:32:26Z UTC, platform Mac OS X-12.0-aarch64
================================================================================= FUZZING =================================================================================
https://petstore3.swagger.io/api/v3/pet/path1 .............................................................................................................. E 0, W 0, S 0 ✔ [][] ℹ Skip printing time execution statistics. You can use --printExecutionStatistics to enable this feature!
[][] ★ CATS finished in 14.749s. Total requests 0. ✔ Passed 0, ⚠ warnings: 0, ‼ errors: 0, You can open the report here:
Why there were 0 tests generated?Help
Hi @duhang1996. Yes it does. Exactly as you executed. The report has zero tests because no test matched 500 as you instructed. If you run with --mc 400 you will get all tests in the report. If you want to see the execution details, you can also include --verbosity DETAILED as an argument.
Hi @duhang1996. Yes it does. Exactly as you executed. The report has zero tests because no test matched
500as you instructed. If you run with--mc 400you will get all tests in the report. If you want to see the execution details, you can also include--verbosity DETAILEDas an argument.
thank you!
Hi @duhang1996. Yes it does. Exactly as you executed. The report has zero tests because no test matched
500as you instructed. If you run with--mc 400you will get all tests in the report. If you want to see the execution details, you can also include--verbosity DETAILEDas an argument.
Hi, @en-milie After several rounds of testing, I found that the generated test is the same every time. How to keep this test constantly running or generate more test cases?Thanks!
When you say same tests what do you mean? As a scenario? What CATS does with the built in mechanism is to send a predefined set of random characters in the fields you specify. For more intelligence you should use an OpenAPI spec. That will create more advanced scenarios.
You can also provide your own dictionary using --words <file>:
java -jar target/cats-runner.jar fuzz -X GET --mc 400 -t "path1" -i "2XX,4XX" --words nastyStrings.txt https://petstore3.swagger.io/api/v3/pet/path1
@en-milie What I mean is that the random replacement characters generated for the first and second times are exactly the same, and the number of test cases generated is also the same(38).After executing the 38 test cases, the run ends and cannot be tested continuously.
the first test:
the second test:
Do you have an OpenAPI spec? Or just fuzzing based on a JSON template?
Starting with this release https://github.com/Endava/cats/releases/tag/cats-13.0.0 you can add an additional --random argument to the cats fuzz sub-command that will do continuous fuzzing.