All Projects → ctco → Cukes

ctco / Cukes

Licence: apache-2.0
Cucumber DSL for testing RESTful Web Services

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cukes

pactum
REST API Testing Tool for all levels in a Test Pyramid
Stars: ✭ 190 (+100%)
Mutual labels:  cucumber, api-testing
karate-runner
VSCode Extension for Karate
Stars: ✭ 23 (-75.79%)
Mutual labels:  cucumber, api-testing
karate
Test Automation Made Simple
Stars: ✭ 6,384 (+6620%)
Mutual labels:  cucumber, api-testing
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+5686.32%)
Mutual labels:  api-testing, cucumber
Email Spec
Collection of RSpec/MiniTest matchers and Cucumber steps for testing email in a ruby app using ActionMailer or Pony
Stars: ✭ 1,142 (+1102.11%)
Mutual labels:  cucumber
Oerpscenario
Business Driven Development (BDD) for OpenERP/Odoo
Stars: ✭ 32 (-66.32%)
Mutual labels:  cucumber
Chn Eolinker Ams Lite 4.0 For Php
中国最大的在线API管理平台EOLINKER 旗下API管理系统开源精简版,适合个人以及微型团队使用。
Stars: ✭ 869 (+814.74%)
Mutual labels:  api-testing
Cuke linter
A linting tool for Cucumber
Stars: ✭ 24 (-74.74%)
Mutual labels:  cucumber
Godog
Cucumber for golang
Stars: ✭ 1,287 (+1254.74%)
Mutual labels:  cucumber
Httpie Oauth
OAuth plugin for HTTPie
Stars: ✭ 78 (-17.89%)
Mutual labels:  api-testing
Cypress Cucumber Example
An example skeleton with Cypress and Cucumber
Stars: ✭ 57 (-40%)
Mutual labels:  cucumber
Php Vcr
Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
Stars: ✭ 976 (+927.37%)
Mutual labels:  api-testing
Mobileautomationframework
Single code base framework to test android and iOS app using appium (v6.1.0), maven, testng,java. Option to start appium server programmatically.
Stars: ✭ 66 (-30.53%)
Mutual labels:  cucumber
Hoppscotch
👽 Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+36288.42%)
Mutual labels:  api-testing
Gradle Cucumber Plugin
Plugin to support cucumber-jvm in Gradle builds
Stars: ✭ 80 (-15.79%)
Mutual labels:  cucumber
Cucumber Protractor Harness
Simple starter project for incorporating cucumber (2.3.1) with protractor
Stars: ✭ 9 (-90.53%)
Mutual labels:  cucumber
Cucumber Api
API validator in BBD style with Cucumber
Stars: ✭ 50 (-47.37%)
Mutual labels:  cucumber
Wdio Cucumber Framework
A WebdriverIO v4 plugin. Adapter for Cucumber testing framework.
Stars: ✭ 77 (-18.95%)
Mutual labels:  cucumber
Intellij Cucumber Scala
Enables navigation between cucumber feature steps and glue code using cucumber-scala DSL.
Stars: ✭ 48 (-49.47%)
Mutual labels:  cucumber
Specflow.assist.dynamic
Extension methods to create dynamic objects from SpecFlow tables
Stars: ✭ 45 (-52.63%)
Mutual labels:  cucumber

Join the chat at https://gitter.im/ctco/cukes wercker status Maven

cukes-rest logo

cukes-rest takes simplicity of Cucumber and provides bindings for HTTP specification. As a sugar on top, cukes-rest adds steps for storing and using request/response content from a file system, variable support in .features, context inflation in all steps and a custom plug-in system to allow users to add additional project specific content.

Resources

Sample Test

Feature: Gadgets are great!

  Background:
    Given baseUri is http://my-server.com/rest/

  Scenario: Should create another Gadget object
    Given request body from file gadgets/requests/newGadget.json
    And content type is "application/json"

    When the client performs POST request on /gadgets
    Then status code is 201
    And header Location contains "http://localhost:8080/gadgets/"

    When the client performs GET request on {(header.Location)}
    Then status code is 200
    And response contains property "id" with value other than "2000"
    And response contains property "name" with value "Nexus 9"
    And response does not contain property "updatedDate"

There are three sections available to be used in a Feature files:

  • Feature - a description of a feature under test
  • Background - set of steps to be executed before every scenario (usually these are preconditions)
  • Scenario - a single automated test case

As well as three groups of steps available

  • Given - building up a HTTP request to be performed
  • When - executing the request
  • Then - assertions based on a response received

More information can be found in the presentation right here!

Prerequisites

  • JDK 1.6+

Dependency

The dependencies are stored in Maven Central

cukes-rest: core dependency with all you need to get started with the framework (Maven)

<dependency>
    <groupId>lv.ctco.cukes</groupId>
    <artifactId>cukes-rest</artifactId>
    <version>${cukes-rest.version}</version>
</dependency>

Getting Started

There are two options to start local server with Sample Application:

  1. Run SampleApplicaiton.java with following params server server.yml from $MODULE_DIR$
  2. Execute Package/Install Maven phase of the parent project cukes-rest-all

Running tests

Precondition: in order for all tests to pass successfully, please make sure you started fresh instance of Sample Application.

  • To start a specific Feature/Scenario, either change CucumberOption in RunCukesTest.java or run Feature file directly from you IDE
  • To start all tests run RunCukesTest.java from sub-project cukes-rest-sample
  • To start all tests right from Maven, execute test phase in project cukes-rest-sample
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].