WebFuzzing / EvoMaster

The first open-source AI-driven tool for automatically generating system-level test cases (also known as fuzzing) for web/enterprise applications. Currently targeting whitebox and blackbox testing of Web APIs, like REST, GraphQL and RPC (e.g., gRPC and Thrift).
GNU Lesser General Public License v3.0
524 stars 85 forks source link

Error in EvoMaster 3.1.0: Black-Box Testing Initialization Failure with SSLException #1071

Open sathiyajith opened 2 months ago

sathiyajith commented 2 months ago

-(venv) # evomaster --blackBox true --bbSwaggerUrl file:/restler_server.yaml --bbTargetUrl https://localhost:8888/docs --outputFormat JAVA_JUNIT_4 --maxTime 30s --ratePerMinute 60

arcuri82 commented 2 months ago

Hi @sathiyajith , thanks for reporting this issue. You are trying to test https://localhost:8888/docs. Are you sure that you want to use HTTPS to connect to localhost? shouldn't rather be http://localhost:8888/docs? Regardless, we should provide a better, more descriptive error message.

sathiyajith commented 2 months ago

Hey @arcuri82 , Thanks for pointing this out. It's a mistake from my end. I'm able to run the blackbox test and I got the test suites java files. Now, are these suites standalone? I dont have much experience on Maven. How should I create the pom.xml file and how should I run these suites using the evomaster executable file? Could you please explain?

arcuri82 commented 2 months ago

hi @sathiyajith , if you are unfamiliar with Maven, you can use Gradle. Setting up third-party libraries is explained in the documentation (see https://github.com/WebFuzzing/EvoMaster/blob/master/docs/library_dependencies.md). Note that, if you prefer Python or JavaScript, you can use a different --outputFormat, like PYTHON_UNITTEST or JS_JEST

sathiyajith commented 2 months ago

@arcuri82 Thanks for your explanation. I can now execute the test suites. But, the test suites have only limited number of test cases. I thought Evomaster is kind of a fuzzing tool and I wanted it to run in the loop endlessly. Can we do that (maybe in white box testing)? Or does it give only specific number of test case everytime and stops after that?

arcuri82 commented 2 months ago

if you want to run it for longer, you can increase the --maxTime value. However, what you get at the end is only a minimized test suite, with the best test cases.

There are more advanced coverage criteria, which would lead to larger and more thorough test suites, which can be activated with --advancedBlackBoxCoverage true. But that is an experimental feature (so, not on by default yet). i d actually like to hear what impact option that would give to you