| Attribute | Plugin Link |
|---|---|
| JSON Schema Assertion | https://github.com/kde-intro/jmeter-json-schema-assertion-plugin |
| Apache Jmeter | https://jmeter.apache.org/download_jmeter.cgi |
| maven | https://maven.apache.org/install.html |
| sqlite | https://sqlite.org/download.html |
- Copy the Custom_JsonSchemaAssertion_component-0.4.jar located at ./jmeter in "assignment-qa" project to your JMeter home directory/lib/ext/
---------------------------------------------------------------OR--------------------------------------------------------------------------------
- Clone the repo at:: https://github.com/kde-intro/jmeter-json-schema-assertion-plugin
- Build extension - create jar file by running Maven build package (cli: mvn package).
- Put the generated jar file (Custom_JsonSchemaAssertion_component.jar) from target folder to JMeter JMeter home directory/lib/ext/ directory.
# Detail documentation and analysis is availale in the "./docx" folder of the project for all assignments
-
Clone the repo:: https://github.com/pydrive50CS/assignment-qa
Note: If there is no database or you want to make modifications on the database for testcases then use the following command:
- Run the JAVA Selenium Test at:
src/test/java/com/saucedemo/tests/LoginTest.java - The emailable HTML reports are found under the ./reports/login/ExtentReport.html
- Run the JAVA Selenium Test for at:
src/test/java/com/demoqa/tests/FormsValidationTest.java - The emailable HTML reports are found under the ./reports/forms/ExtentReport.html
*Make sure you have the JSON Schema Assertion plugin*
-
Then open the "assignment-3.jmx" file in the "./jmeter/assignment-3" directory of the project
-
Next update the schemaPath User Defined Variables in the TestPlan to the absolute path for the current schema directory existing in the "./jmeter/assignment-3/schema/" like:
Windows: "C:\Users\qa\Documents\Projects\assignment-qa\jmeter\assignment-3\schema"
Linux: /home/en1gma/Documents/VSCode/qa/assignment-qa/jmeter/assignment-3/schema""
-
Run the tests and see the results in View Results Tree listener
-
Open the "assignment-4.jmx" file in the "./jmeter/assignment-4" directory of the project to view the test plan
-
To run this jmx from the terminal use the below command
"jmeter -n -t /path/to/assignment-4.jmx -l /path/to/results.jtl -e -o /path/to/report" -
Finally view the reports by opening the /path/to/report/index.html
- Run the JAVA Selenium Test at:
This project showcases capabilities in software quality assurance, encompassing web UI automation, API functional testing, and performance testing with application of Page Object Model and Data-Driven Testing, to ensure a highly organized and efficient testing process.The project attempts to validate software across functional, security, and performance perspective. Detailed insights are provided using ExtentReports and JMeter dashboards.
Tools & Technologies: Selenium WebDriver, Java, TestNG, ExtentReports, SQLite Database.
1. Page Object Model (POM)
2. Data-Driven Testing (DDT)
3. Negative & Edge Case Testing
4. Structured Test Case Management
5. Comprehensive Reporting
1. Complex Form Validation: Automated the testing of a multi-field form, validating browser-side and programmatic rules for required fields, data formats (mobile numbers), whitespace, and special characters.
2. UI-Based Security Checks: Proactively tested for common web vulnerabilities by injecting basic XSS payloads (<script>, <img onerror>) and SQL injection strings into form fields to verify input sanitization.
3. JavaScript Execution: Utilized a JavaScriptUtility to perform actions not easily handled by standard Selenium commands, including highlighting elements and ensuring interaction with elements that require scrolling into view.
4. Framework Management: Use of utilities for configuration management (ConfigReader), cross-browser support (DriverFactory), and screenshot capture.
End-to-End API Functional Testing: Tested the full lifecycle of API endpoints covering all CRUD operations (GET, POST, PUT, DELETE).
Authentication & Authorization: Implemented tests for token-based authentication, extracting a JWT token from a login endpoint and passing it as a bearer token in subsequent requests. Tested protected endpoints with and without a valid token.
Schema & Response Validation: Used JSON Schema Assertion to validate the structure of API responses and Response Assertions to verify status codes and body content.
Content-Type Handling: Verified API behavior with different Accept and Content-Type headers, including application/json and application/xml.
Performance Testing: Designed and executed a performance test by configuring a Thread Group with multiple users, a ramp-up period, and a loop count.
Dynamic Parameterization: Used Groovy scripting within JMeter to generate dynamic data (random delay value) for each reques





