-
Notifications
You must be signed in to change notification settings - Fork 1
Home
A Weird name right.Not really . It was once a part of India. A exotic valley which was once a part of the kingdom of Manipur. Obviously it is not the only reason I named this framework as kabo. While naming I am following Anjuta's path, the famous Gnome IDE(https://developer.gnome.org/anjuta-faqs/stable/general-name.html.en) My motive is to make people's life a bit easier.
It will be a pain killer while automating a UI project. Hey folks , you do not have to worry about maintaining bulk excel files for hybrid automation framework. kabo will do it for you using Behavior-driven development approach. Automation does not mean writing ugly driver.findElement code everywhere in the test scripts. It should be well organized so that maintenance become easy.
From now on forget about creating webDriver instances , forget about the pain you have endured to handles windows. Your only concentration should be on business logic or we call the core functionality.
From now on start writing your test cases in a format everyone understand. Is not it fabulous(read in abish mathew's accent) if you start writing your test cases like below
Meta:
Narrative:
As a user
I want to perform an action
So that I can achieve a business goal
Scenario: scenario description
Given something
When I do this
Then that should happen
And That should happen too.
### Step definition class :
Write your Step Definition class like below
import com.kabo.core.behavior.StepDefinition;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
public class GivenStepDefination implements StepDefinition{
@Given("something")
public void something(){
System.out.println("something");
}
@When("I do this")
public void do_this(){
System.out.println("Do this");
}
@Then("that should happened")
public void assert_what_happened(){
System.out.println("that should happened");
}
@Then("That should happen too.")
public void oh_some_more_assertion(){
System.out.println("That should happen too");
}
}
and run them as normal TestNG test as below
### TestNG test case class
import com.kabo.core.behavior.StepDefinition;
import com.kabo.core.behavior.TestRunner;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class SampleTestCase {
TestRunner testRunner;
@BeforeTest
public void before_test(){
testRunner=new TestRunner();
}
@Test
public void my_first_kabo_test(){
/*500 is the configurable story time out*/
StepDefinition definition=new GivenStepDefination();
testRunner.runTests(500,definition);
}
}
kabo will bring the power of JBehave and Junit right to your IDE with just a maven dependency .
Hmm, Only selenium. But second release onwards, will provide support for API automation and native mobile app automation and Aplitools eye too look after your UI, out of the box saucelab or browserstack integration.
So stay updated, for the initial version release .
To all the QA folks , Always believe something magical is about to happen.