Skip to content

Commit

Permalink
Add AutomateCreatingSiteUsingWebsiteEditorialBlueprint Test Case to c…
Browse files Browse the repository at this point in the history
  • Loading branch information
juacamar committed Dec 1, 2017
1 parent c64eda7 commit 053662c
Show file tree
Hide file tree
Showing 5 changed files with 154 additions and 15 deletions.
@@ -0,0 +1,148 @@
package org.craftercms.studio.test.cases.sanitytesttestcases;

import org.testng.annotations.Test;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;

import static org.testng.Assert.assertFalse;

import org.craftercms.studio.test.pages.CreateSitePage;
import org.craftercms.studio.test.pages.HomePage;
import org.craftercms.studio.test.pages.LoginPage;
import org.craftercms.studio.test.utils.ConstantsPropertiesManager;
import org.craftercms.studio.test.utils.FilesLocations;
import org.craftercms.studio.test.utils.UIElementsPropertiesManager;
import org.craftercms.studio.test.utils.WebDriverManager;
import org.openqa.selenium.WebElement;

/**
*
*
* @author Juan Camacho A
*
*/
//Test Case created to cover ticket https://github.com/craftercms/craftercms/issues/1445
public class AutomateCreatingSiteUsingWebsiteEditorialBlueprint {

private WebDriverManager driverManager;
private LoginPage loginPage;
private HomePage homePage;
private CreateSitePage createSitePage;

private String userName;
private String password;
private String siteDropdownElementXPath;
private String createSiteErrorNotificationWindow;
private String editorialSitePreviewPageTitle;
private String createSiteButtonXpath;
private String menuSitesButton;

@BeforeClass
public void beforeTest() {
this.driverManager = new WebDriverManager();
UIElementsPropertiesManager uIElementsPropertiesManager = new UIElementsPropertiesManager(
FilesLocations.UIELEMENTSPROPERTIESFILEPATH);
ConstantsPropertiesManager constantsPropertiesManager = new ConstantsPropertiesManager(
FilesLocations.CONSTANTSPROPERTIESFILEPATH);

this.driverManager.setConstantsPropertiesManager(constantsPropertiesManager);

this.loginPage = new LoginPage(this.driverManager, uIElementsPropertiesManager);
this.homePage = new HomePage(this.driverManager, uIElementsPropertiesManager);
this.createSitePage = new CreateSitePage(this.driverManager, uIElementsPropertiesManager);

userName = constantsPropertiesManager.getSharedExecutionConstants().getProperty("crafter.username");
password = constantsPropertiesManager.getSharedExecutionConstants().getProperty("crafter.password");
siteDropdownElementXPath = uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("complexscenarios.general.sitedropdown");
createSiteErrorNotificationWindow = uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("general.sites.createsite.errowindow");
editorialSitePreviewPageTitle = uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("preview.editorial.site.title");
createSiteButtonXpath= uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("general.sites.createsitebutton");
menuSitesButton = uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("preview.sites.menu.button");
}

public void deleteSite() {

this.driverManager.getDriver().switchTo().defaultContent();

this.driverManager.driverWaitUntilElementIsPresentAndDisplayedAndClickable(
"xpath", menuSitesButton).click();;

// Click on Delete icon
this.driverManager.isElementPresentAndClickableByXpath(createSiteButtonXpath);
homePage.clickOnDeleteSiteIcon();

// Click on YES to confirm the delete.
homePage.clickOnYesToDeleteSite();

//Refresh the page
driverManager.getDriver().navigate().refresh();

}

@AfterClass
public void afterTest() {
deleteSite();
driverManager.closeConnection();
}

@Test(priority = 0)
public void createSiteWithWebSiteEditorialBluePrintTest() {

// login to application
loginPage.loginToCrafter(
userName,password);

// Click on the create site button

homePage.clickOnCreateSiteButton();

// Filling the name of site

createSitePage.fillSiteName();

// Filling the description of the site

createSitePage.fillDescription("Description");

// Open blueprint combo
// Select blueprint

createSitePage.selectWebSiteEditorialBluePrintOption();

// Click on Create button

createSitePage.clickOnCreateSiteButton();

//Verify No error messages after clicking on the Create button

assertFalse(driverManager.isElementPresentByXpath(createSiteErrorNotificationWindow));

this.driverManager.waitWhileElementIsDisplayedAndClickableByXpath(siteDropdownElementXPath);


//Assert Page is displayed
this.driverManager.waitWhileElementIsDisplayedAndClickableByXpath(siteDropdownElementXPath);

//Move to the content frame
Assert.assertTrue(this.driverManager.isElementPresentAndClickableByXpath(siteDropdownElementXPath));

driverManager.getDriver().switchTo().defaultContent();
driverManager.getDriver().switchTo().frame(this.driverManager.driverWaitUntilElementIsPresentAndDisplayed(
"id", "engineWindow"));

//Assert Title of the page correspond to a Editorial Blueprint site

WebElement siteTitle = this.driverManager.driverWaitUntilElementIsPresentAndDisplayed(
"xpath", editorialSitePreviewPageTitle);

Assert.assertTrue(siteTitle.getText().contains("Hi, I’m Editorial"));

}

}
Expand Up @@ -54,10 +54,6 @@ public void beforeTest() {
.getProperty("complexscenarios.general.sitedropdown");
createSiteButtonXpath = uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("general.sites.createsitebutton");
// topNavDeleteOption = uIElementsPropertiesManager.getSharedUIElementsLocators()
// .getProperty("general.deletetopnavoption");
// topNavEditOption= uIElementsPropertiesManager.getSharedUIElementsLocators()
// .getProperty("general.edittopnavoption");
}

@AfterClass
Expand Down
Expand Up @@ -29,8 +29,6 @@ public class CreateSiteWithWebSiteEditorialBluePrintTest {
private String userName;
private String password;
private String siteDropdownElementXPath;
// private String topNavDeleteOption;
// private String topNavEditOption;

@BeforeClass
public void beforeTest() {
Expand All @@ -50,10 +48,6 @@ public void beforeTest() {
password = constantsPropertiesManager.getSharedExecutionConstants().getProperty("crafter.password");
siteDropdownElementXPath = uIElementsPropertiesManager.getSharedUIElementsLocators()
.getProperty("complexscenarios.general.sitedropdown");
// topNavDeleteOption = uIElementsPropertiesManager.getSharedUIElementsLocators()
// .getProperty("general.deletetopnavoption");
// topNavEditOption= uIElementsPropertiesManager.getSharedUIElementsLocators()
// .getProperty("general.edittopnavoption");

}

Expand Down Expand Up @@ -92,11 +86,6 @@ public void createSiteWithWebSiteEditorialBluePrintTest() {

this.driverManager.waitWhileElementIsDisplayedAndClickableByXpath(siteDropdownElementXPath);

// this.driverManager.driverWaitUntilElementIsPresentAndDisplayedAndClickable("xpath", siteDropdownElementXPath);
// this.driverManager.driverWaitUntilElementIsPresentAndDisplayedAndClickable("xpath",
// topNavDeleteOption);
// this.driverManager.driverWaitUntilElementIsPresentAndDisplayedAndClickable( "xpath",
// topNavEditOption);

Assert.assertTrue(this.driverManager.isElementPresentAndClickableByXpath(siteDropdownElementXPath));
}
Expand Down
4 changes: 4 additions & 0 deletions src/test/resources/SharedUIElements.properties
Expand Up @@ -47,11 +47,14 @@ preview.workflow_cancellation_cancel_Button = //BUTTON[@class='cancel btn btn-de
preview.static_assets_button = //A[@id='static assets-tree']
preview.static_assets_child_folder = .//span[contains(text(),'static-assets')]
preview.static_assets_images_child_folder = .//span[contains(text(),'images')]
preview.editorial.site.title =.//section[@id='banner']/div/header/h1/span
preview.sites.menu.button = //SPAN[@class='nav-icon fa fa-sitemap']
general.studiologo = cstudio-logo
general.navigation_sitebar_name_id = navbar-site-name




##Dependencies Page Elements
dependencies.content_selector = //SELECT[@class='form-control dependencies-option']
dependencies.close_button = //BUTTON[@data-translation='close'][text()='Close']
Expand Down Expand Up @@ -414,6 +417,7 @@ general.myrecentactivity.showinput = .//div[@id='MyRecentActivity']/div/ul/li/di
general.myrecentactivity.firstelementurl = .//tbody[@id='MyRecentActivity-tbody']/tr[1]/td[4]
general.myrecentactivity.secondelementurl = .//tbody[@id='MyRecentActivity-tbody']/tr[2]/td[4]
general.sites.createsitebutton =.//button/span[text()='Create Site']
general.sites.createsite.errowindow = //H3[@class='modal-title ng-binding'][text()='Notification']
general.sites.sitespagetitle = //H1[@class='ng-binding'][text()='Sites']
general.sites.sitepageurl = /studio/#/sites
general.loginalertfornonvalidcreds = .//div[@class='alert alert-danger ng-binding ng-scope']
Expand Down
2 changes: 2 additions & 0 deletions src/test/resources/testngSanityTest.xml
Expand Up @@ -14,6 +14,8 @@
name="org.craftercms.studio.test.cases.sitestestcases.DeleteSiteTest" />
<class
name="org.craftercms.studio.test.cases.sanitytesttestcases.AutomateLoginInToStudio" />
<class
name="org.craftercms.studio.test.cases.sanitytesttestcases.AutomateCreatingSiteUsingWebsiteEditorialBlueprint" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
Expand Down

0 comments on commit 053662c

Please sign in to comment.