Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qmetry/qaf-support-ws
Support project that provides ready to use steps for webservices
https://github.com/qmetry/qaf-support-ws
bdd java qaf rest rest-api test-automation testng webservices
Last synced: 2 months ago
JSON representation
Support project that provides ready to use steps for webservices
- Host: GitHub
- URL: https://github.com/qmetry/qaf-support-ws
- Owner: qmetry
- License: mit
- Created: 2017-01-26T07:36:36.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-23T10:21:48.000Z (about 1 year ago)
- Last Synced: 2024-01-24T06:39:59.256Z (about 1 year ago)
- Topics: bdd, java, qaf, rest, rest-api, test-automation, testng, webservices
- Language: Java
- Homepage:
- Size: 167 KB
- Stars: 10
- Watchers: 12
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![License](https://img.shields.io/github/license/qmetry/qaf-support-ws.svg)](http://www.opensource.org/licenses/mit-license.php)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.qmetry/qaf-support-ws/badge.svg)](https://mvnrepository.com/artifact/com.qmetry/qaf-support-ws/latest)
[![GitHub tag](https://img.shields.io/github/tag/qmetry/qaf-support-ws.svg)](https://github.com/qmetry/qaf-support-ws/tags)
[![javadoc](https://javadoc.io/badge2/com.qmetry/qaf-support-ws/javadoc.svg)](https://javadoc.io/doc/com.qmetry/qaf-support-ws)# qaf-support-ws
Support project that provides ready to use steps for webservices
Features:| Feature |Attribute |Details|
|---------|----------|--------|
|Test-Authoring | Industry Standard||
| |Coded |Java (TestNG, Junit)|
|| BDD | QAF-BDD, Gherkin||
|| Keyword driven |XML,CSV,EXCEL||
| Step-Creation |||
||Java |Y (any Java IDE can be used)|
||BDD | Ecipse QAF BDD editor, QAS|
||Keyword driven| QAS||
|IDE support | Y | Eclipse, IntelliJ, Net-beans, QAS||
|Data-driven |Y |XML, CSV, JSON, DB, Excel|
|Reporting |XML |Industry Standard – TestNG and Junit|
||HTML |TestNG, Junit, QAF(json) detailed reporting|
|Language-Support|Y|Java, Goovy|
|Programming|Y Full programming control|
|Test-Data|||
||parameter|Y|
||Random| Y|
||Locale |Y|
|| Multiple Env support| Y|
|Orchestration|Y| UI and API test Orchestration|
|Test-Management|Y| Supports easy integration with all test management tools|
|Build tools |Industry Standard| ANT+IVY, Maven,Gradle|
|Request validation|||
||XML |xml path validation|
||JSON |json path validation|
||Schema| Y|
|Run-configuration|Y| TestNG XML (all features)|
|||Parallel execution|
|SOAP support |Y||
|REST support |Y||To start with
1. [Create QAF Project](https://qmetry.github.io/qaf/latest/create_test_project.html)
2. add dependency
```
```
3. Create [web-service call repository](https://github.com/qmetry/qaf-support-ws/wiki/Request-Call-Repository) having all your calls in following format in `.wsc` or `.properties` file
``` properties
#format
#my.ws.call = {'headers':,'endpoint':'/myservice-endPoint','baseUrl':'${env.baseurl}','method':'','query-parameters':,'form-parameters':,'body':''}
get.sample.call={'headers':{},'endPoint':'/myservice-endpoint','baseUrl':'${env.baseurl}','method':'GET','query-parameters':{'param1':'val1','param2':'val2'},'form-parameters':{},'body':''}
```
4. Create [bdd](https://qmetry.github.io/qaf/latest/bdd2.html)
```
Scenario:When user requests '${get.sample.call}'
Then response should have status code ''
[And response should have '' at ''
And response should have '' at ''
:
:
]
```
5. [Run your test](https://github.com/qmetry/qaf-step-by-step-tutorial/wiki/Exercise-3-Run-Your-First-Test)
Refer ready to use [steps for validation](https://javadoc.io/doc/com.qmetry/qaf-support-ws/latest/com/qmetry/qaf/automation/step/WsStep.html). Here you can find [Example Projet](https://github.com/qmetry/WebServiceWithWebAutomation-Sample).
# AuthorizationThis dependency provides few well known Authentication support as well.
1. Basic authentication, requires below properties.
```
rest.client.impl=com.qmetry.qaf.automation.ws.client.BasicAuthWsClient
rest.client.basic.auth.username=
rest.client.basic.auth.password=
```
2. Digest type authentication, requires below properties.
```
rest.client.impl=com.qmetry.qaf.automation.ws.client.DigestAuthWsClient
rest.client.digest.auth.username=
rest.client.digest.auth.password=
```
3. OAuth type authentication,requires below properties.
```
rest.client.impl=com.qmetry.qaf.automation.ws.client.OAuthWsClient
rest.client.oauth.auth.access_token=
rest.client.oauth.auth.client_id=
rest.client.oauth.auth.client_secret=
rest.client.oauth.auth.refresh_token=
rest.client.oauth.auth.username=
rest.client.oauth.auth.password=
rest.client.oauth.auth.authentication_server_url=
rest.client.oauth.auth.resource_server_url=
rest.client.oauth.auth.grant_type=
```
4. NTLM authentication,requires below properties.
```
rest.client.impl=com.qmetry.qaf.automation.ws.client.NTLMAuthClient
ntlm.user=
ntlm.password=PASSWORD
ntlm.workstation=
ntlm.domain=
```
5. Hawk authentication,requires below properties
```
rest.client.impl=com.qmetry.qaf.automation.ws.client.HawkAuthWsClient
rest.client.hawk.auth.keyId=
rest.client.hawk.auth.key=
```