- Click here to download and Install LeanFT
- Create LeanFT Cucumber Project
Go to File -> New -> Other -> LeanFT Folder -> LeanFT Cucumber Project -> Next -> Enter Group Id and Artifact Id -> click Finish.
- Update POM.xml with the Required LeanFT Dependencies
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java8</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.hp.lft</groupId>
<artifactId>com.hp.lft.sdk</artifactId>
<version>12.53.0</version>
</dependency>
<dependency>
<groupId>com.hp.lft</groupId>
<artifactId>com.hp.lft.report</artifactId>
<version>12.53.0</version>
</dependency>
<dependency>
<groupId>com.hp.lft</groupId>
<artifactId>com.hp.lft.unittesting</artifactId>
<version>12.53.0</version>
</dependency>
<dependency>
<groupId>com.hp.lft</groupId>
<artifactId>com.hp.lft.verifications</artifactId>
<version>12.53.0</version>
</dependency>
- Create Sample feature file LoginTest.feature
Feature: Login Test
@login
Scenario: Successful Login with Valid Credentials
Given User is on Home Page
When User Navigate to Test Page
And User enters UserName and Password
Then Verify Login Successful message
- Create step definition file
package com.selcukes.steps;
import java.util.concurrent.TimeUnit;
import org.junit.Assert;
import java.io.IOException;
import com.hp.lft.report.ReportException;
import com.hp.lft.sdk.GeneralLeanFtException;
import com.hp.lft.sdk.TestObjectDescriber;
import com.hp.lft.sdk.web.Browser;
import com.hp.lft.sdk.web.BrowserFactory;
import com.hp.lft.sdk.web.BrowserType;
import com.hp.lft.sdk.web.EditField;
import com.hp.lft.sdk.web.EditFieldDescription;
import com.hp.lft.sdk.web.Image;
import com.hp.lft.sdk.web.ImageDescription;
import com.hp.lft.verifications.Verify;
import cucumber.api.java8.En;
public class LoginStepdefs implements En
{
Browser browser;
public LoginStepdefs()
{
Given("^User is on Home Page$", () -> {
browser = BrowserFactory.launch(BrowserType.CHROME);
browser.navigate("http://techyworks.blogspot.in/");
String strPageTitle = browser.getTitle();
System.out.println("Page Title:" + strPageTitle);
});
When("^User Navigate to Test Page$", () -> {
driver.findElement(By.xpath("//*[@href='/p/test.html']")).click();
});
When("^User enters UserName and Password$", () -> {
EditField username = browser.describe(EditField.class, new EditFieldDescription.Builder()
.type("text").name("userName").build());
username.setValue(un);
EditField password = browser.describe(EditField.class, new EditFieldDescription.Builder()
.type("password").name("password").build());
password.setValue(psd);
browser.describe(Image.class, new ImageDescription.Builder()
.alt("login").type(com.hp.lft.sdk.web.ImageType.BUTTON).tagName("INPUT").build()).click();
});
Then("^Verify Login Successful message$", () -> {
Verify.areEqual("Login Successful..", browser.getTitle() );
browser.close();
});
}
}
- Create a runner class file
package com.selcukes.runners;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
import unittesting.UnitTestClassBase;
import com.hp.lft.sdk.*;
import com.hp.lft.verifications.*;
@CucumberOptions(plugin = { "html:target/cucumber-results/cucumber-html-report",
"json:target/cucumber-results/cucumber.json",
"usage:target/cucumber-results/cucumber-usage.json" },
monochrome = true, features = "src/test/resources/features/", glue = {
"com.selcukes.steps" }, tags = { "@login" })
@RunWith(Cucumber.class)
public class LeanFTLoginTestRunner extends UnitTestClassBase{
@BeforeClass
public static void setUpBeforeClass() throws Exception {
instance = new LeanFTLoginTestRunner();
globalSetup(LeanFTLoginTestRunner.class);
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
globalTearDown();
}
}
0 Comments