Automation script for Org profile And More

This commit is contained in:
Rakesh Sambaragi 2021-07-06 10:53:33 +05:30
parent 4579493e3e
commit b9026fa73c
28 changed files with 376 additions and 1155 deletions

View File

@ -6,14 +6,18 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="src/test/resources/" kind="src" output="target/test-classes" path="src/test/java">
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>

1
maven/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/target/

View File

@ -1,4 +1,5 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8

View File

@ -1,5 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -30,7 +30,7 @@ public class ContactsPage extends BrowserUtility{
@FindBy(how=How.XPATH, using="((//*[contains(@id,'categoryCountry')])//tbody/tr[4]/td[1])")
WebElement filterCountry;
@FindBy(how=How.XPATH, using="//*[@class='defaultProfileIcon ']")
@FindBy(how=How.XPATH, using="(//span[@class='record_name'])[1]")
WebElement HCPProfile;
@FindBy(how=How.XPATH, using="//a[@target='_new']")
@ -177,6 +177,7 @@ public class ContactsPage extends BrowserUtility{
public void clickOnHCPProfile() {
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
//HCPProfile.click();
try{
HCPProfile.click();
}
@ -192,7 +193,13 @@ public class ContactsPage extends BrowserUtility{
}
public void verifyCountryName() {
String parent=driver.getWindowHandle();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
String string = txtHcpCountry.getText();
String[] parts = string.split(",");
String part = parts[1];
String countryName=part.trim();
System.out.println("Country Name displayed in bussiness card is"+" " +countryName);
/*String parent=driver.getWindowHandle();
Set<String> s= driver.getWindowHandles();
Iterator<String>I1=s.iterator();
while(I1.hasNext()) {
@ -213,7 +220,7 @@ public class ContactsPage extends BrowserUtility{
driver.close();
}
}
driver.switchTo().window(parent);
driver.switchTo().window(parent);*/
}
public void clickAddHcp() {

View File

@ -259,15 +259,18 @@ public class KOLProfilePage {
}
public void clickReportTab() throws InterruptedException {
tabReport.click();
Thread.sleep(2000);
tabReport.click();
}
public void clickChartTab() {
public void clickChartTab() throws InterruptedException {
Thread.sleep(2000);
tabChart.click();
}
public void clickCalendarTab() {
public void clickCalendarTab() throws InterruptedException {
Thread.sleep(2000);
tabCalendar.click();
}

View File

@ -0,0 +1,78 @@
package PageObjects;
import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.How;
import org.openqa.selenium.support.PageFactory;
import Utilities.BrowserUtility;
public class MorePage extends BrowserUtility{
@FindBy(how=How.XPATH, using="//div[@class='dropdown sprite_iconSet']")
WebElement tabMore;
@FindBy(how=How.XPATH, using="//div[@class='kolRequestIcon sprite_iconSet']")
WebElement lnkProfileRequest;
@FindBy(how=How.XPATH, using="//div[@class='excelExportIcon sprite_iconSet tooltip-demo']")
WebElement exportPendingApprovals;
@FindBy(how=How.XPATH, using="//div[@class='excelExportIcon sprite_iconSet']")
WebElement exportProfileRequests;
@FindBy(how=How.XPATH, using="//div[@class='orgRequestIcon sprite_iconSet']")
WebElement lnkOrgProfileRequest;
WebDriver driver;
public MorePage(WebDriver driver) {
this.driver=driver;
PageFactory.initElements(driver, this);
}
public void clickMoreTab() {
tabMore.click();
}
public void clickProfileRequestLink() {
lnkProfileRequest.click();
}
public void exportPendingApprovalsInExcel() throws InterruptedException {
Thread.sleep(2000);
exportPendingApprovals.click();
Thread.sleep(1500);
File f1=new File("C:\\Users\\hp\\Downloads\\");
for(File f:f1.listFiles()) {
if (f.getName().startsWith("my_pending_approvals")||f.getName().startsWith("MyPendingApprovals")) {
f.delete();
System.out.println("Pending approvals are exported successfully");
}
}
}
public void exportProfileRequestsInExcel() throws InterruptedException {
Thread.sleep(2000);
exportProfileRequests.click();
Thread.sleep(1500);
File f1=new File("C:\\Users\\hp\\Downloads\\");
for(File f:f1.listFiles()) {
if (f.getName().startsWith("AllProfileRequests")) {
f.delete();
System.out.println("All profile requests are exported successfully");
}
}
}
public void clickOrgProfileRequest() {
lnkOrgProfileRequest.click();
}
}

View File

@ -3,6 +3,7 @@ package PageObjects;
import java.io.File;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
@ -49,7 +50,35 @@ public class OrganizationPage extends BrowserUtility{
@FindBy(how=How.XPATH, using="//input[@type='button']")
WebElement btnCancel;
@FindBy(how=How.XPATH, using="//span[@class='record_name']")
WebElement lnkOrgName;
@FindBy(how=How.XPATH, using="//a[contains(text(),'Key People')]")
WebElement tabKeyPeople;
@FindBy(how=How.XPATH, using="//a[contains(text(),'Add Key People')]")
WebElement lnkAddKeyPeople;
@FindBy(how=How.XPATH, using="//body/div[15]/div[1]/a[1]/span[1]")
WebElement iconCancelAddKeyPeople;
@FindBy(how=How.XPATH, using="//a[contains(text(),'Affiliate Orgs')]")
WebElement tabAffiliateOrg;
@FindBy(how=How.XPATH, using="//a[contains(text(),'Add Affiliate')]")
WebElement lnkAddAffiliate;
@FindBy(how=How.XPATH, using="//body/div[24]/div[1]/a[1]/span[1]")
WebElement iconCancelAddAffiliate;
@FindBy(how=How.XPATH, using="//a[contains(text(),'Org Network')]")
WebElement tabOrgNetwork;
@FindBy(how=How.XPATH, using="//a[contains(text(),'KTLs')]")
WebElement tabKTLs;
@FindBy(how=How.XPATH, using="//a[@href='#tabs-3']")
WebElement tabOrgNetworkKeyPeople;
String filteredCountry;
@ -152,4 +181,47 @@ public class OrganizationPage extends BrowserUtility{
System.out.println("User is not successfully navigated back to Organization");
}
}
public void navigateWithinOrganization() {
lnkOrgName.click();
}
public void clickKeyPeopleTab() throws InterruptedException {
tabKeyPeople.click();
Thread.sleep(2500);
}
public void openAndCloseAddKeyPeopleForm() throws InterruptedException {
lnkAddKeyPeople.click();
Thread.sleep(1500);
iconCancelAddKeyPeople.click();
}
public void clickAffiliateOrgTab() {
tabAffiliateOrg.click();
}
public void openAndCloseAddKeyAffiliateForm() throws InterruptedException {
Thread.sleep(1500);
lnkAddAffiliate.click();
Thread.sleep(2000);
iconCancelAddAffiliate.click();
}
public void clickOrgNetworkTab() {
tabOrgNetwork.click();
}
public void clickKTLsTab() throws InterruptedException {
Thread.sleep(2000);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)");
tabKTLs.click();
}
public void clickOrgNetworkKeyPeopleTab() throws InterruptedException {
Thread.sleep(1000);
tabOrgNetworkKeyPeople.click();
Thread.sleep(1000);
}
}

View File

@ -1,15 +1,10 @@
package StepDefinitions;
import java.util.Properties;
import org.openqa.selenium.By;
import PageObjects.ContactsPage;
import PageObjects.MyListsPage;
import Utilities.BrowserUtility;
import Utilities.PropertiesFileReader;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.And;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;

View File

@ -76,11 +76,11 @@ public class KOLProfileSteps extends BrowserUtility{
kolProfilePage.clickReportTab();
}
@And("user click on Chart tab within the interactions tab")
public void userclickonCharttabwithintheinteractionstab() {
public void userclickonCharttabwithintheinteractionstab() throws InterruptedException {
kolProfilePage.clickChartTab();
}
@And("user click on Calendar tab within the interactions tab")
public void userclickonCalendartabwithintheinteractionstab() {
public void userclickonCalendartabwithintheinteractionstab() throws InterruptedException {
kolProfilePage.clickCalendarTab();
}
@And("user click on payments tab within track")

View File

@ -0,0 +1,55 @@
package StepDefinitions;
import PageObjects.MorePage;
import Utilities.BrowserUtility;
import io.cucumber.java.After;
import io.cucumber.java.en.And;
import io.cucumber.java.en.When;
import manager.PageObjectManager;
public class MoreSteps extends BrowserUtility{
PageObjectManager pageObjectManager=new PageObjectManager(driver);
MorePage morePage=pageObjectManager.getMorePage();
@After
public static void closeBrowser() throws Exception{
if (driver == null) {
return;
}
driver.quit();
driver = null;
}
@When("user click on More tab")
public void userclickonMoretab() {
morePage.clickMoreTab();
}
@And("user click on Profile request link")
public void userclickonProfilerequestlink() {
morePage.clickProfileRequestLink();
}
@And("user exports pending approvals in Excel")
public void userexportspendingapprovalsinExcel() throws InterruptedException {
morePage.exportPendingApprovalsInExcel();
}
@And("user exports all profile request in Excel")
public void userexportsallprofilerequestinExcel() throws InterruptedException {
morePage.exportProfileRequestsInExcel();
}
@And("user click on Org profile request link")
public void userclickonOrgprofilerequestlink() {
morePage.clickOrgProfileRequest();
}
@And("user exports all organization request in Excel")
public void userexportsallorganizationrequestinExcel() throws InterruptedException {
morePage.exportProfileRequestsInExcel();
}
}

View File

@ -86,4 +86,44 @@ public class OrganizationSteps extends BrowserUtility{
public void usershouldbetakentoorganizationhometab() {
organizationPage.verifyUserNavigation();
}
@And("user navigate within organization")
public void usernavigatewithinorganization() {
organizationPage.navigateWithinOrganization();
}
@And("user click on Key People tab")
public void userclickonKeyPeopletab() throws InterruptedException {
organizationPage.clickKeyPeopleTab();
}
@And("user open and close Add Key People form")
public void useropenandcloseAddKeyPeopleform() throws InterruptedException {
organizationPage.openAndCloseAddKeyPeopleForm();
}
@And("user click on Affiliate Org tab")
public void userclickonAffiliateOrgtab() {
organizationPage.clickAffiliateOrgTab();
}
@And("user click on Add affiliate and close the popup")
public void userclickonAddaffiliateandclosethepopup() throws InterruptedException {
organizationPage.openAndCloseAddKeyAffiliateForm();
}
@And("user click on Org Network tab")
public void userclickonOrgNetworktab() {
organizationPage.clickOrgNetworkTab();
}
@And("user click on KTL's tab within Org network tab")
public void userclickonKTLstabwithinOrgnetworktab () throws InterruptedException{
organizationPage.clickKTLsTab();
}
@And("user click on KeyPeople tab within Org network tab")
public void userclickonKeyPeopletabwithinOrgnetworktab() throws InterruptedException {
organizationPage.clickOrgNetworkKeyPeopleTab();
}
}

View File

@ -10,7 +10,7 @@ import io.cucumber.junit.CucumberOptions;
@CucumberOptions(features="src\\test\\resources\\Features", glue= {"StepDefinitions"},
plugin= {"pretty", "html:target/cucumber-html.report","json:target/cucumber-reports/cucumber.json","junit:target/cucumber-reports/cucumber.xml","com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"},
monochrome=true, tags="@AddOrg"
monochrome=true, tags="@KOLFilter"
)
public class testRunner {

View File

@ -6,6 +6,7 @@ import PageObjects.ContactsPage;
import PageObjects.HomePage;
import PageObjects.KOLProfilePage;
import PageObjects.LoginPage;
import PageObjects.MorePage;
import PageObjects.MyListsPage;
import PageObjects.OrganizationPage;
@ -18,6 +19,7 @@ public class PageObjectManager {
MyListsPage myListPage;
KOLProfilePage kolProfilePage;
OrganizationPage organizationPage;
MorePage morePage;
public PageObjectManager(WebDriver driver) {
this.driver = driver;
@ -43,6 +45,8 @@ public class PageObjectManager {
return (organizationPage==null) ? organizationPage = new OrganizationPage(driver):organizationPage;
}
public MorePage getMorePage() {
return (morePage==null) ? morePage = new MorePage(driver):morePage;
}
}

View File

@ -0,0 +1,24 @@
Feature: More tab features verification
Scenario Outline: Verify user can perofrm different actions in Profile request
Given user login to hills application with <username> and <password>
When user click on More tab
And user click on Profile request link
And user exports pending approvals in Excel
And user exports all profile request in Excel
Examples:
|username|password|
|hillmgr|Ss@hills2|
Scenario Outline: Verify user can perofrm different actions in Profile request
Given user login to hills application with <username> and <password>
When user click on More tab
And user click on Org profile request link
And user exports pending approvals in Excel
And user exports all organization request in Excel
Examples:
|username|password|
|hillmgr|Ss@hills2|

View File

@ -58,3 +58,65 @@ Then user should be taken to organization home tab
Examples:
|username|password|
|hillmgr|Ss@hills2|
@KeyPeople
Scenario Outline: Verify user can download organization in excel format
Given user login to hills application with <username> and <password>
And user click on Organization tab
And user selects All Organizations in Assigned dropdown
And user search an Organization name<orgnization>
And user navigate within organization
And user click on Key People tab
And user open and close Add Key People form
Examples:
|username|password|orgnization|
|hillmgr|Ss@hills2|4 Paws Veterinary Care|
@OrgTrack
Scenario Outline: Verify user can download organization in excel format
Given user login to hills application with <username> and <password>
And user click on Organization tab
And user selects All Organizations in Assigned dropdown
And user search an Organization name<orgnization>
And user navigate within organization
And user click on Track tab
And user click on Report tab within the interactions tab
And user click on Chart tab within the interactions tab
And user click on Calendar tab within the interactions tab
And user click on Add contract and close the popup
Examples:
|username|password|orgnization |
|hillmgr|Ss@hills2|4 Paws Veterinary Care|
@AffiliateOrg
Scenario Outline: Verify user can download organization in excel format
Given user login to hills application with <username> and <password>
And user click on Organization tab
And user selects All Organizations in Assigned dropdown
And user search an Organization name<orgnization>
And user navigate within organization
And user click on Affiliate Org tab
And user click on Add affiliate and close the popup
Examples:
|username|password|orgnization |
|hillmgr|Ss@hills2|4 Paws Veterinary Care|
@OrgNetwork
Scenario Outline: Verify user can download organization in excel format
Given user login to hills application with <username> and <password>
And user click on Organization tab
And user selects All Organizations in Assigned dropdown
And user search an Organization name<orgnization>
And user navigate within organization
And user click on Org Network tab
And user click on KTL's tab within Org network tab
And user click on KeyPeople tab within Org network tab
Examples:
|username|password|orgnization |
|hillmgr|Ss@hills2|4 Paws Veterinary Care|

View File

@ -0,0 +1,7 @@
Feature: Reports tab functionality
Scenario Outline: Verify user can apply country filter to KOL
Given user login to hills application with <username> and <password>
When user click on Report tab
And user export interaction report in Excel
And user click on Chart tab within the interactions tab

View File

@ -1,6 +1,6 @@
Feature: Contacts tab functionality
@KOLFilter
Scenario Outline: Verify user can apply country filter to KOL
Given user login to hills application with <username> and <password>
When user clicks contact tab

View File

@ -1,26 +0,0 @@
Feature: Login functionality check
@ValidTest
Scenario Outline: Verify user login with valid credentials
Given user login to konector application with <username> and <password>
When user click on Discover tab
And user filters Speciality as Dermatology
And user clicks on Pro
Examples:
|username|password|
|kon@test.com|konectarA@51|
#|liteuser@test.com|konectarA@51|
@InvalidTest
Scenario Outline: Verify user login with invalid credentials
Given User navigates to Konectar Login page
When User enter UserName<username> and Password<password>
And User click on Sign In button
Then Invalid login error message should be shown to user
Examples:
|username|password|
|kon@test.com|konectarA@52|
#|kone@test.com|konectar@51|

View File

@ -1,2 +0,0 @@
/classes/
/test-classes/

View File

@ -1,257 +0,0 @@
var CucumberHTML = {};
CucumberHTML.DOMFormatter = function(rootNode) {
var currentUri;
var currentFeature;
var currentElement;
var currentSteps;
var currentStepIndex;
var currentStep;
var $templates = $(CucumberHTML.templates);
this.uri = function(uri) {
currentUri = uri;
};
this.feature = function(feature) {
currentFeature = blockElement(rootNode, feature, 'feature');
};
this.background = function(background) {
currentElement = featureElement(background, 'background');
currentStepIndex = 1;
};
this.scenario = function(scenario) {
currentElement = featureElement(scenario, 'scenario');
currentStepIndex = 1;
};
this.scenarioOutline = function(scenarioOutline) {
currentElement = featureElement(scenarioOutline, 'scenario_outline');
currentStepIndex = 1;
};
this.step = function(step) {
var stepElement = $('.step', $templates).clone();
stepElement.appendTo(currentSteps);
populate(stepElement, step, 'step');
if (step.doc_string) {
docString = $('.doc_string', $templates).clone();
docString.appendTo(stepElement);
// TODO: use a syntax highlighter based on the content_type
docString.text(step.doc_string.value);
}
if (step.rows) {
dataTable = $('.data_table', $templates).clone();
dataTable.appendTo(stepElement);
var tBody = dataTable.find('tbody');
$.each(step.rows, function(index, row) {
var tr = $('<tr></tr>').appendTo(tBody);
$.each(row.cells, function(index, cell) {
var td = $('<td>' + cell + '</td>').appendTo(tBody);
});
});
}
};
this.examples = function(examples) {
var examplesElement = blockElement(currentElement.children('details'), examples, 'examples');
var examplesTable = $('.examples_table', $templates).clone();
examplesTable.appendTo(examplesElement.children('details'));
$.each(examples.rows, function(index, row) {
var parent = index == 0 ? examplesTable.find('thead') : examplesTable.find('tbody');
var tr = $('<tr></tr>').appendTo(parent);
$.each(row.cells, function(index, cell) {
var td = $('<td>' + cell + '</td>').appendTo(tr);
});
});
};
this.match = function(match) {
currentStep = currentSteps.find('li:nth-child(' + currentStepIndex + ')');
currentStepIndex++;
};
this.result = function(result) {
currentStep.addClass(result.status);
if (result.error_message != '') {
populateStepError(currentStep, result.error_message);
}
currentElement.addClass(result.status);
var isLastStep = currentSteps.find('li:nth-child(' + currentStepIndex + ')').length == 0;
if (isLastStep) {
if (currentSteps.find('.failed').length == 0) {
// No failed steps. Collapse it.
currentElement.find('details').prop('open', false);
} else {
currentElement.find('details').attr('open', 'open');
}
}
};
this.embedding = function(mimeType, data, name) {
var nameHtml;
if (!name) {
nameHtml = "";
} else {
nameHtml = "<h4>" + name + "</h4>";
}
if (currentStepIndex == 1) {
this.dummyStep();
}
if (mimeType.match(/^image\//))
{
currentStep.append(nameHtml + '<img src="' + data + '">');
}
else if (mimeType.match(/^video\//))
{
currentStep.append(nameHtml + '<video src="' + data + '" type="' + mimeType + '" autobuffer controls>Your browser doesn\'t support video.</video>');
}
else if (mimeType.match(/^text\//))
{
this.write(nameHtml + data);
}
};
this.write = function(text) {
if (currentStepIndex == 1) {
this.dummyStep();
}
currentStep.append('<pre class="embedded-text">' + text + '</pre>');
};
this.before = function(before) {
this.handleHookResult(before);
};
this.after = function(after) {
this.handleHookResult(after);
};
this.beforestep = function(beforestep) {
this.handleHookResult(beforestep);
};
this.afterstep = function(afterstep) {
this.handleHookResult(afterstep);
};
this.handleHookResult = function(hook) {
if (hook.status != 'passed' && hook.error_message != '') {
this.dummyStep();
currentStep.addClass(hook.status);
currentElement.addClass(hook.status);
populateStepError(currentStep, hook.error_message);
}
};
this.dummyStep = function() {
var stepElement = $('.step', $templates).clone();
stepElement.appendTo(currentSteps);
populate(stepElement, {keyword: '', name: ''}, 'step');
currentStep = currentSteps.find('li:nth-child(' + currentStepIndex + ')');
currentStepIndex++;
};
function featureElement(statement, itemtype) {
var e = blockElement(currentFeature.children('details'), statement, itemtype);
currentSteps = $('.steps', $templates).clone();
currentSteps.appendTo(e.children('details'));
return e;
}
function blockElement(parent, statement, itemtype) {
var e = $('.blockelement', $templates).clone();
e.appendTo(parent);
return populate(e, statement, itemtype);
}
function populate(e, statement, itemtype) {
populateTags(e, statement.tags);
populateComments(e, statement.comments);
e.find('.keyword').text(statement.keyword);
e.find('.name').text(statement.name);
e.find('.description').text(statement.description);
e.attr('itemtype', 'http://cukes.info/microformat/' + itemtype);
e.addClass(itemtype);
return e;
}
function populateComments(e, comments) {
if (comments !== undefined) {
var commentsNode = $('.comments', $templates).clone().prependTo(e.find('.header'));
$.each(comments, function(index, comment) {
var commentNode = $('.comment', $templates).clone().appendTo(commentsNode);
commentNode.text(comment.value);
});
}
}
function populateTags(e, tags) {
if (tags !== undefined) {
var tagsNode = $('.tags', $templates).clone().prependTo(e.find('.header'));
$.each(tags, function(index, tag) {
var tagNode = $('.tag', $templates).clone().appendTo(tagsNode);
tagNode.text(tag.name);
});
}
}
function populateStepError(e, error) {
if (error !== undefined) {
errorNode = $('.error', $templates).clone().appendTo(e);
errorNode.text(error);
}
}
};
CucumberHTML.templates = '<div>\
<section class="blockelement" itemscope>\
<details open>\
<summary class="header">\
<span class="keyword" itemprop="keyword">Keyword</span>: <span itemprop="name" class="name">This is the block name</span>\
</summary>\
<div itemprop="description" class="description">The description goes here</div>\
</details>\
</section>\
\
<ol class="steps"></ol>\
\
<ol>\
<li class="step"><div class="header"></div><span class="keyword" itemprop="keyword">Keyword</span><span class="name" itemprop="name">Name</span></li>\
</ol>\
\
<pre class="doc_string"></pre>\
\
<pre class="error"></pre>\
\
<table class="data_table">\
<tbody>\
</tbody>\
</table>\
\
<table class="examples_table">\
<thead></thead>\
<tbody></tbody>\
</table>\
\
<section class="embed">\
<img itemprop="screenshot" class="screenshot" />\
</section>\
<div class="tags"></div>\
<span class="tag"></span>\
<div class="comments"></div>\
<div class="comment"></div>\
<div>';
if (typeof module !== 'undefined') {
module.exports = CucumberHTML;
} else if (typeof define !== 'undefined') {
define([], function() { return CucumberHTML; });
}

View File

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cucumber Features</title>
<link href="style.css" rel="stylesheet">
<script src="jquery-3.4.1.min.js"></script>
<script src="formatter.js"></script>
<script src="report.js"></script>
</head>
<body>
<div class="cucumber-report"></div>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,139 +0,0 @@
$(document).ready(function() {var formatter = new CucumberHTML.DOMFormatter($('.cucumber-report'));formatter.uri("file:src/test/resources/Features/Organization.feature");
formatter.feature({
"name": "Organization tab functionality verification",
"description": "",
"keyword": "Feature"
});
formatter.scenarioOutline({
"name": "Verify user can download organization in excel format",
"description": "",
"keyword": "Scenario Outline",
"tags": [
{
"name": "@AddOrg"
}
]
});
formatter.step({
"name": "user login to hills application with \u003cusername\u003e and \u003cpassword\u003e",
"keyword": "Given "
});
formatter.step({
"name": "user click on Organization tab",
"keyword": "And "
});
formatter.step({
"name": "user click on New link to add organization",
"keyword": "And "
});
formatter.step({
"name": "user click on Save button without adding organization details",
"keyword": "And "
});
formatter.step({
"name": "user click on Cancel button in new organization form",
"keyword": "And "
});
formatter.step({
"name": "user should be taken to organization home tab",
"keyword": "Then "
});
formatter.examples({
"name": "",
"description": "",
"keyword": "Examples",
"rows": [
{
"cells": [
"username",
"password"
]
},
{
"cells": [
"hillmgr",
"Ss@hills2"
]
}
]
});
formatter.scenario({
"name": "Verify user can download organization in excel format",
"description": "",
"keyword": "Scenario Outline",
"tags": [
{
"name": "@AddOrg"
}
]
});
formatter.step({
"name": "user login to hills application with hillmgr and Ss@hills2",
"keyword": "Given "
});
formatter.match({
"location": "HillsCommonSteps.user_login_to_konector_application_with_username_and_password(String,String)"
});
formatter.result({
"status": "passed"
});
formatter.step({
"name": "user click on Organization tab",
"keyword": "And "
});
formatter.match({
"location": "OrganizationSteps.userclickonOrganizationtab()"
});
formatter.result({
"status": "passed"
});
formatter.step({
"name": "user click on New link to add organization",
"keyword": "And "
});
formatter.match({
"location": "OrganizationSteps.userclickonNewlinktoaddorganization()"
});
formatter.result({
"status": "passed"
});
formatter.step({
"name": "user click on Save button without adding organization details",
"keyword": "And "
});
formatter.match({
"location": "OrganizationSteps.userclickonSavebuttonwithoutaddingorganizationdetails()"
});
formatter.result({
"status": "passed"
});
formatter.step({
"name": "user click on Cancel button in new organization form",
"keyword": "And "
});
formatter.match({
"location": "OrganizationSteps.userclickonCancelbuttoninneworganizationform()"
});
formatter.result({
"status": "passed"
});
formatter.step({
"name": "user should be taken to organization home tab",
"keyword": "Then "
});
formatter.match({
"location": "OrganizationSteps.usershouldbetakentoorganizationhometab()"
});
formatter.result({
"status": "passed"
});
formatter.after({
"status": "passed"
});
formatter.after({
"status": "passed"
});
formatter.after({
"status": "passed"
});
});

View File

@ -1,97 +0,0 @@
.cucumber-report .body {
font-family: Helvetica,Arial,sans-serif;
}
.cucumber-report .keyword {
font-weight: bold;
}
.cucumber-report .description {
font-style: italic;
margin-left: 20px;
white-space: pre;
}
.cucumber-report details > section {
margin-left: 20px;
}
.cucumber-report ol.steps {
list-style-type: none;
margin-top: 0;
margin-bottom: 0;
}
.cucumber-report .step .embedded-text {
background: #dddddd;
}
.cucumber-report .doc_string {
margin: 0 0 0 20px;
}
.cucumber-report table {
border-collapse: collapse;
border: 1px;
border-style: solid;
}
.cucumber-report td, .cucumber-report th {
border: 1px;
border-style: solid;
padding-left: 4px;
padding-right: 4px;
}
.cucumber-report table {
margin-left: 20px;
}
.cucumber-report thead {
background-color: #C0C0C0;
}
.cucumber-report .passed {
background-color: #C5D88A;
}
.cucumber-report .undefined, .cucumber-report .pending {
background-color: #EAEC2D;
}
.cucumber-report .skipped {
background-color: #2DEAEC;
}
.cucumber-report .failed {
background-color: #D88A8A;
}
.cucumber-report .tags {
display: inline;
}
.cucumber-report .tag {
margin-right: 0.25em;
color: #246ac1;
}
.cucumber-report .comments {
display: inline;
}
.cucumber-report .comment {
margin: 0;
padding: 0;
}
.cucumber-report .error {
margin: .2em .75em;
padding: .2em;
border: 1px solid #900;
background-color: #EDBBBB;
}
#cucumber-templates {
display: none;
}

View File

@ -1,443 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8' />
<meta name='description' content='' />
<meta name='robots' content='noodp, noydir' />
<meta name='viewport' content='width=device-width, initial-scale=1' />
<meta id="timeStampFormat" name="timeStampFormat" content='MMM d, yyyy hh:mm:ss a'/>
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600' rel='stylesheet' type='text/css' />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<link href='https://cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@ff53917fbbdb5ef820abbbe4d199a6942dc771ff/v3html/css/extent.css' type='text/css' rel='stylesheet' />
<title>Extent</title>
<style type='text/css'>
/* json-tree */
.jstBracket,.jstComma,.jstValue{white-space:pre-wrap}.jstValue{font-size:10px;font-weight:400;font-family:"Lucida Console",Monaco,monospace}.jstProperty{color:#666;word-wrap:break-word}.jstBool{color:#2525CC}.jstNum{color:#D036D0}.jstNull{color:gray}.jstStr{color:#2DB669}.jstFold:after{content:' -';cursor:pointer}.jstExpand{white-space:normal}.jstExpand:after{content:' +';cursor:pointer}.jstFolded{white-space:normal!important}.jstHiddenBlock{display:none}
</style>
<script type="text/javascript">
/*! json-tree - v0.2.2 - 2017-09-25, MIT LICENSE */
var JSONTree=function(){var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"},t=0,r=0;this.create=function(n,t){return r+=1,N(u(n,0,!1),{class:"jstValue"})};var e=function(t){return t.replace(/[&<>'"]/g,function(t){return n[t]})},s=function(){return r+"_"+t++},u=function(n,t,r){if(null===n)return f(r?t:0);switch(typeof n){case"boolean":return l(n,r?t:0);case"number":return i(n,r?t:0);case"string":return o(n,r?t:0);default:return n instanceof Array?a(n,t,r):c(n,t,r)}},c=function(n,t,r){var e=s(),u=Object.keys(n).map(function(r){return j(r,n[r],t+1,!0)}).join(m()),c=[g("{",r?t:0,e),N(u,{id:e}),p("}",t)].join("\n");return N(c,{})},a=function(n,t,r){var e=s(),c=n.map(function(n){return u(n,t+1,!0)}).join(m());return[g("[",r?t:0,e),N(c,{id:e}),p("]",t)].join("\n")},o=function(n,t){var r=e(JSON.stringify(n));return N(v(r,t),{class:"jstStr"})},i=function(n,t){return N(v(n,t),{class:"jstNum"})},l=function(n,t){return N(v(n,t),{class:"jstBool"})},f=function(n){return N(v("null",n),{class:"jstNull"})},j=function(n,t,r){var s=v(e(JSON.stringify(n))+": ",r),c=N(u(t,r,!1),{});return N(s+c,{class:"jstProperty"})},m=function(){return N(",\n",{class:"jstComma"})},N=function(n,t){return d("span",t,n)},d=function(n,t,r){return"<"+n+Object.keys(t).map(function(n){return" "+n+'="'+t[n]+'"'}).join("")+">"+r+"</"+n+">"},g=function(n,t,r){return N(v(n,t),{class:"jstBracket"})+N("",{class:"jstFold",onclick:"JSONTree.toggle('"+r+"')"})};this.toggle=function(n){var t=document.getElementById(n),r=t.parentNode,e=t.previousElementSibling;""===t.className?(t.className="jstHiddenBlock",r.className="jstFolded",e.className="jstExpand"):(t.className="",r.className="",e.className="jstFold")};var p=function(n,t){return N(v(n,t),{})},v=function(n,t){return Array(2*t+1).join(" ")+n};return this}();
</script>
</head>
<body class='extent standard default hide-overflow bdd-report'>
<div id='theme-selector' alt='Click to toggle theme. To enable by default, use theme configuration.' title='Click to toggle theme. To enable by default, use theme configuration.'>
<span><i class='material-icons'>desktop_windows</i></span>
</div>
<nav>
<div class="nav-wrapper">
<a href="#!" class="brand-logo black"><img src="https://cdn.rawgit.com/extent-framework/extent-github-cdn/d74480e/commons/img/logo.png"></a>
<!-- slideout menu -->
<ul id='slide-out' class='side-nav fixed hide-on-med-and-down'>
<li class='waves-effect active'><a href='#!' view='test-view' onclick="configureView(0);chartsView('test');"><i class='material-icons'>dashboard</i></a></li>
<li class='waves-effect'><a href='#!' view='category-view' onclick="configureView(1)"><i class='material-icons'>label_outline</i></a></li>
<li class='waves-effect'><a href='#!' onclick="configureView(-1);chartsView('dashboard');" view='dashboard-view'><i class='material-icons'>track_changes</i></a></li>
</ul>
<!-- report name -->
<span class='report-name'>Automation Report</span>
<!-- report headline -->
<span class='report-headline'></span>
<!-- nav-right -->
<ul id='nav-mobile' class='right hide-on-med-and-down nav-right'>
<a href='#!'>
<span class='label blue darken-3 suite-start-time'>Jul 2, 2021 05:32:53 PM</span>
</a>
</ul>
</div>
</nav> <!-- container -->
<div class='container'>
<div id='test-view' class='view'>
<section id='controls'>
<div class='controls grey lighten-4'>
<!-- test toggle -->
<div class='chip transparent'>
<a class='dropdown-button tests-toggle' data-activates='tests-toggle' data-constrainwidth='true' data-beloworigin='true' data-hover='true' href='#'>
<i class='material-icons'>warning</i> Status
</a>
<ul id='tests-toggle' class='dropdown-content'>
<li status='pass'><a href='#!'>Pass <i class='material-icons green-text'>check_circle</i></a></li>
<li class='divider'></li>
<li status='clear' clear='true'><a href='#!'>Clear Filters <i class='material-icons'>clear</i></a></li>
</ul>
</div>
<!-- test toggle -->
<!-- category toggle -->
<div class='chip transparent'>
<a class='dropdown-button category-toggle' data-activates='category-toggle' data-constrainwidth='false' data-beloworigin='true' data-hover='true' href='#'>
<i class='material-icons'>local_offer</i> Category
</a>
<ul id='category-toggle' class='dropdown-content'>
<li><a href='#'>@AddOrg</a></li>
<li class='divider'></li>
<li class='clear'><a href='#!' clear='true'>Clear Filters</a></li>
</ul>
</div>
<!-- category toggle -->
<!-- clear filters -->
<div class='chip transparent hide'>
<a class='' id='clear-filters' alt='Clear Filters' title='Clear Filters'>
<i class='material-icons'>close</i> Clear
</a>
</div>
<!-- clear filters -->
<!-- enable dashboard -->
<div id='toggle-test-view-charts' class='chip transparent'>
<a class='pink-text' id='enable-dashboard' alt='Enable Dashboard' title='Enable Dashboard'>
<i class='material-icons'>track_changes</i> Dashboard
</a>
</div>
<!-- enable dashboard -->
<!-- search -->
<div class='chip transparent' alt='Search Tests' title='Search Tests'>
<a href="#" class='search-div'>
<i class='material-icons'>search</i> Search
</a>
<div class='input-field left hide'>
<input id='search-tests' type='text' class='validate browser-default' placeholder='Search Tests...'>
</div>
</div>
<!-- search -->
</div>
</section>
<div id='test-view-charts' class='subview-full'>
<div id='charts-row' class='row nm-v nm-h'>
<div class='col s12 m4 l4 np-h'>
<div class='card-panel nm-v'>
<div class='left panel-name'>Features</div>
<div class='chart-box' style="max-height:94px;">
<canvas id='parent-analysis' width='90' height='70'></canvas>
</div>
<div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>1</span> feature(s) passed</span>
</div>
<div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> feature(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> skipped
</div>
</div>
</div>
<div class='col s12 m4 l4 np-h'>
<div class='card-panel nm-v'>
<div class='left panel-name'>Scenarios</div>
<div class='chart-box' style="max-height:94px;">
<canvas id='child-analysis' width='90' height='70'></canvas>
</div>
<div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>1</span> scenario(s) passed</span>
</div>
<div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> scenario(s) failed,
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> skipped,
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
</div>
</div>
</div>
<div class='col s12 m4 l4 np-h'>
<div class='card-panel nm-v'>
<div class='left panel-name'>Steps</div>
<div class='chart-box' style="max-height:94px;">
<canvas id='grandchild-analysis' width='90' height='70'></canvas>
</div>
<div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>6</span> step(s) passed</span>
</div>
<div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> scenario(s) failed,
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> skipped,
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
</div>
</div>
</div>
</div>
<div id="timeline-chart" class="row nm-v nm-h">
<div class="col s12 m12 l12 np-h">
<div class="card-panel">
<div class='left panel-name'>Timeline (seconds)</div>
<div class="chart-box" style="width:98%;max-height:145px;">
<canvas id="timeline" height="120"></canvas>
</div>
</div>
</div>
</div>
</div> <div class='subview-left left'>
<div class='view-summary'>
<ul id='test-collection' class='test-collection'>
<li class='test displayed active has-leaf pass' status='pass' bdd='true' test-id='1'>
<div class='test-heading'>
<span class='test-name'>Organization tab functionality verification</span>
<span class='test-time'>Jul 2, 2021 05:32:55 PM</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='test-content hide'>
<div class="sr-filters bdd-filters">
<a class="btn-floating waves-effect waves-light pass green" title="pass"><i class='material-icons'>check_circle</i></a>
<a class="btn-floating waves-effect waves-light fail red" title="fail"><i class='material-icons'>cancel</i></a>
<a class="btn-floating waves-effect waves-light skip blue" title="skip"><i class='material-icons'>redo</i></a>
<a class="btn-floating waves-effect waves-light clear grey" title="clear"><i class='material-icons'>clear</i></a>
</div>
<div class='scenario outline node' test-id='2' status='pass'>
<div class='category-list'>
<span class='category label'>@AddOrg</span>
</div>
<span class='duration right label'>0h 0m 25s+968ms</span>
<div class="bdd-test">
<div class="scenario-name"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span> Scenario Outline: Verify user can download organization in excel format</div>
<table class='runtime-table table-striped table'><tr><td>username</td><td>password</td></tr><tr><td>hillmgr</td><td>Ss@hills2</td></tr></table>
</div>
<ul class='steps'>
<li test-id='3' class='node scenario pass' status='pass'>
<div class="step-name" title=""><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>Verify user can download organization in excel format</div>
<ul class='gc steps'>
<li test-id='4' class='gc given pass' status='pass'>
<h6 class="step-name" title="HillsCommonSteps.user_login_to_konector_application_with_username_and_password(String,String)"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>Given user login to hills application with hillmgr and Ss@hills2</h6>
<div class="node-step"></div>
</li>
<li test-id='5' class='gc and pass' status='pass'>
<h6 class="step-name" title="OrganizationSteps.userclickonOrganizationtab()"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>And user click on Organization tab</h6>
<div class="node-step"></div>
</li>
<li test-id='6' class='gc and pass' status='pass'>
<h6 class="step-name" title="OrganizationSteps.userclickonNewlinktoaddorganization()"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>And user click on New link to add organization</h6>
<div class="node-step"></div>
</li>
<li test-id='7' class='gc and pass' status='pass'>
<h6 class="step-name" title="OrganizationSteps.userclickonSavebuttonwithoutaddingorganizationdetails()"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>And user click on Save button without adding organization details</h6>
<div class="node-step"></div>
</li>
<li test-id='8' class='gc and pass' status='pass'>
<h6 class="step-name" title="OrganizationSteps.userclickonCancelbuttoninneworganizationform()"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>And user click on Cancel button in new organization form</h6>
<div class="node-step"></div>
</li>
<li test-id='9' class='gc then pass' status='pass'>
<h6 class="step-name" title="OrganizationSteps.usershouldbetakentoorganizationhometab()"><span class='status pass' title='pass'><i class='material-icons'>check_circle</i></span>Then user should be taken to organization home tab</h6>
<div class="node-step"></div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
<!-- subview left -->
<div class='subview-right left'>
<div class='view-summary'>
<div id='step-filters' class="right sr-filters">
<a class="btn-floating waves-effect waves-light green" status="pass" alt="pass" title="pass"><i class="material-icons">check_circle</i></a>
<a class="btn-floating waves-effect waves-light red" status="fail" alt="fail" title="fail"><i class="material-icons">cancel</i></a>
<a class="btn-floating waves-effect waves-light red darken-4" status="fatal" alt="fatal" title="fatal"><i class="material-icons">cancel</i></a>
<a class="btn-floating waves-effect waves-light pink text-lighten-1" status="error" alt="error" title="error"><i class="material-icons">error</i></a>
<a class="btn-floating waves-effect waves-light orange" alt="warning" status="warning" title="warning"><i class="material-icons">warning</i></a>
<a class="btn-floating waves-effect waves-light teal" status="skip" alt="skip" title="skip"><i class="material-icons">redo</i></a>
<a class="btn-floating waves-effect waves-light grey" status="clear" alt="Clear filters" title="Clear filters"><i class="material-icons">clear</i></a>
</div>
<h5 class='test-name'></h5>
</div>
</div>
<!-- subview right -->
</div>
<!-- test view --><div id='category-view' class='view hide'>
<section id='controls'>
<div class='controls grey lighten-4'>
<!-- search -->
<div class='chip transparent' alt='Search Tests' title='Search Tests'>
<a href="#" class='search-div'>
<i class='material-icons'>search</i> Search
</a>
<div class='input-field left hide'>
<input id='search-tests' type='text' class='validate browser-default' placeholder='Search Tests...'>
</div>
</div>
<!-- search -->
</div>
</section>
<div class='subview-left left'>
<div class='view-summary'>
<ul id='category-collection' class='category-collection'>
<li class='category displayed active'>
<div class='category-heading'>
<span class='category-name'>@AddOrg</span>
<span class='category-status right'>
<span class='label pass'>2</span>
</span>
</div>
<div class='category-content hide'>
<div class='category-status-counts'>
<span status="pass" class='label green accent-4 white-text'>Passed: 2</span>
</div>
<div class='category-tests'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Timestamp</th>
<th>TestName</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Jul 2, 2021 05:32:55 PM</td>
<td class='linked' test-id='2'>Verify user can download organization in excel format</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Jul 2, 2021 05:32:55 PM</td>
<td class='linked' test-id='3'>Verify user can download organization in excel format</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class='subview-right left'>
<div class='view-summary'>
<h5 class='category-name'></h5>
</div>
</div>
</div>
<!-- category view --><!-- exception view --><div id='dashboard-view' class='view hide'>
<div class='card-panel transparent np-v'>
<h5>Dashboard</h5>
<div class='row'>
<div class='col s2'>
<div class='card-panel r'>
Features
<div class='panel-lead'>1</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Scenarios
<div class='panel-lead'>1</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Steps
<div class='panel-lead'>6</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Start
<div class='panel-lead'>Jul 2, 2021 05:32:53 PM</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
End
<div class='panel-lead'>Jul 2, 2021 05:33:22 PM</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Time Taken
<div class='panel-lead'>0h 0m 28s+32ms</div>
</div>
</div>
<div class='col s6'>
<div class='card-panel dashboard-categories'>
<span class='right label cyan white-text'>Categories</span><p>&nbsp;</p>
<table>
<tr>
<th>Name</th>
<th>Passed</th>
<th>Failed</th>
<th>Skipped</th>
<th>Passed %</th>
</tr>
<tr>
<td>@AddOrg</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>
100%
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- dashboard view -->
<!-- testrunner-logs view --> </div>
<!-- container -->
<script>
var statusGroup = {
parentCount: 1,
passParent: 1,
failParent: 0,
fatalParent: 0,
errorParent: 0,
warningParent: 0,
skipParent: 0,
exceptionsParent: 0,
childCount: 1,
passChild: 1,
failChild: 0,
fatalChild: 0,
errorChild: 0,
warningChild: 0,
skipChild: 0,
infoChild: 0,
debugChild: 0,
exceptionsChild: 0,
grandChildCount: 6,
passGrandChild: 6,
failGrandChild: 0,
fatalGrandChild: 0,
errorGrandChild: 0,
warningGrandChild: 0,
skipGrandChild: 0,
infoGrandChild: 0,
debugGrandChild: 0,
exceptionsGrandChild: 0,
};
</script>
<script>
var timeline = {
"Organization tab functionality verification":25.968
};
</script>
<script src='https://cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@ff53917fbbdb5ef820abbbe4d199a6942dc771ff/v3html/js/extent.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function() {
});
</script>
</body>
</html>

View File

@ -1,140 +0,0 @@
[
{
"line": 1,
"elements": [
{
"start_timestamp": "2021-07-02T12:02:54.726Z",
"line": 58,
"name": "Verify user can download organization in excel format",
"description": "",
"id": "organization-tab-functionality-verification;verify-user-can-download-organization-in-excel-format;;2",
"after": [
{
"result": {
"duration": 799692800,
"status": "passed"
},
"match": {
"location": "KOLProfileSteps.closeBrowser()"
}
},
{
"result": {
"duration": 664000,
"status": "passed"
},
"match": {
"location": "OrganizationSteps.closeBrowser()"
}
},
{
"result": {
"duration": 10643200,
"status": "passed"
},
"match": {
"location": "ContactsTabSteps.closeBrowser()"
}
}
],
"type": "scenario",
"keyword": "Scenario Outline",
"steps": [
{
"result": {
"duration": 14605842500,
"status": "passed"
},
"line": 48,
"name": "user login to hills application with hillmgr and Ss@hills2",
"match": {
"arguments": [
{
"val": "hillmgr",
"offset": 37
},
{
"val": "Ss@hills2",
"offset": 49
}
],
"location": "HillsCommonSteps.user_login_to_konector_application_with_username_and_password(String,String)"
},
"keyword": "Given "
},
{
"result": {
"duration": 5742222600,
"status": "passed"
},
"line": 49,
"name": "user click on Organization tab",
"match": {
"location": "OrganizationSteps.userclickonOrganizationtab()"
},
"keyword": "And "
},
{
"result": {
"duration": 736202400,
"status": "passed"
},
"line": 50,
"name": "user click on New link to add organization",
"match": {
"location": "OrganizationSteps.userclickonNewlinktoaddorganization()"
},
"keyword": "And "
},
{
"result": {
"duration": 2161249000,
"status": "passed"
},
"line": 51,
"name": "user click on Save button without adding organization details",
"match": {
"location": "OrganizationSteps.userclickonSavebuttonwithoutaddingorganizationdetails()"
},
"keyword": "And "
},
{
"result": {
"duration": 2868606800,
"status": "passed"
},
"line": 52,
"name": "user click on Cancel button in new organization form",
"match": {
"location": "OrganizationSteps.userclickonCancelbuttoninneworganizationform()"
},
"keyword": "And "
},
{
"result": {
"duration": 22876100,
"status": "passed"
},
"line": 53,
"name": "user should be taken to organization home tab",
"match": {
"location": "OrganizationSteps.usershouldbetakentoorganizationhometab()"
},
"keyword": "Then "
}
],
"tags": [
{
"name": "@AddOrg"
}
]
}
],
"name": "Organization tab functionality verification",
"description": "",
"id": "organization-tab-functionality-verification",
"keyword": "Feature",
"uri": "file:src/test/resources/Features/Organization.feature",
"tags": []
}
]

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<testsuite failures="0" name="cucumber.runtime.formatter.JUnitFormatter" skipped="0" tests="1" time="27.098506">
<testcase classname="Organization tab functionality verification" name="Verify user can download organization in excel format" time="27.098506">
<system-out><![CDATA[Given user login to hills application with hillmgr and Ss@hills2............passed
And user click on Organization tab..........................................passed
And user click on New link to add organization..............................passed
And user click on Save button without adding organization details...........passed
And user click on Cancel button in new organization form....................passed
Then user should be taken to organization home tab..........................passed
]]></system-out>
</testcase>
</testsuite>