I am new to cucumber
. I've configured the environment for cucumber
with required jars. I want to test rest api with cucumber
. And so first created .feature
file and generated basic step definitions.
.feature
file:
Feature: Test
Scenario: List accounts
Given the system knows about the following details:
| name | value |
| unit | 01 |
| dept | 001 |
When the client requests accounts
Then the response code should be 200
And the response should contain following details:
| name | value |
| unit | 01 |
| dept | 001 |
| acctype | current |
And TestClass.java
as below:
package testPackage;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.DataTable;
import cucumber.api.PendingException;
import cucumber.api.java.en.*;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features={"classpath:cucumber.features/"},
glue = {"testPackage"}
)
public class TestClass {
@Given("^the system knows about the following details:$")
public void the_system_knows_about_the_following_details(DataTable arg1) throws Throwable {
// Write code here that turns the phrase above into concrete actions
// For automatic transformation, change DataTable to one of
// List<YourType>, List<List<E>>, List<Map<K,V>> or Map<K,V>.
// E,K,V must be a scalar (String, Integer, Date, enum etc)
throw new PendingException();
}
@When("^the client requests accounts$")
public void the_client_requests_accounts() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
@Then("^the response code should be (\\d+)$")
public void the_response_code_should_be(int arg1) throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
@Then("^the response should contain following details:$")
public void the_response_should_contain_following_details(DataTable arg1) throws Throwable {
// Write code here that turns the phrase above into concrete actions
// For automatic transformation, change DataTable to one of
// List<YourType>, List<List<E>>, List<Map<K,V>> or Map<K,V>.
// E,K,V must be a scalar (String, Integer, Date, enum etc)
throw new PendingException();
}
}
I searched a lot but couldn't able to find to send GET
request from .java
file.
How to send GET
request from cucumber
step definitions and compare json
response ?