package com.gemalto.mcx.groovy
import org.openqa.selenium.By
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.firefox.FirefoxProfile
import org.openqa.selenium.support.ui.ExpectedCondition
import org.openqa.selenium.support.ui.WebDriverWait
import org.openqa.selenium.Dimension
import org.openqa.selenium.Point
//For ScreenCap
import java.io.File
import org.apache.commons.io.FileUtils
import org.openqa.selenium.TakesScreenshot
import org.openqa.selenium.OutputType
import java.util.concurrent.TimeUnit
class SoapUiSelenium {
/*
* Calls to this CLASS MUST pass the *log* and *testRunner* objects
* log: used for sending log info to SoapUI
* testRunner: provides hooks for Test Case/Suite/Project/Environment Properties
* along with anything that is accessible by using the 'Groovy Script' Test Step
* directly within SoapUI
*/
def log
def testRunner
def UrlMfsAdminApp
def UrlQrCodeGen
def pathScreenShot
WebDriver testBrowser
WebElement element
/*
* Constructor:
* For internal calls
*/
def SoapUiSelenium(){
//
// Create a new Firefox Profile to allow camera access
FirefoxProfile profile = new FirefoxProfile()
profile.setPreference("media.navigator.permission.disabled", true)
// Create a new instance of the Firefox driver
testBrowser = new FirefoxDriver(profile)
// Set Window position and size
testBrowser.manage().window().setPosition(new Point(20,20))
testBrowser.manage().window().setSize(new Dimension(750,500))
}
/*
* Constructor:
* Takes SoapUi LOG and testRunner objects to enable SoapUi hooks
*/
def SoapUiSelenium(log, testRunner){
this.log = log
this.testRunner = testRunner
// def UrlMfsAdminApp = "https://127.0.0.1:18202" //VAL1
// def UrlMfsAdminApp = "https://127.0.0.1:18201" //LAB1
log.info "Fetching URLs from Project Properties:"
UrlMfsAdminApp = testRunner.testCase.testSuite.project.getPropertyValue("UrlMfsAdminApp")
UrlQrCodeGen = testRunner.testCase.testSuite.project.getPropertyValue("UrlQrCodeGen")
pathScreenShot = testRunner.testCase.testSuite.project.getPropertyValue("pathScreenShot")
log.info "Environment: $UrlMfsAdminApp"
log.info "QR Code Generator Site: $UrlQrCodeGen"
log.info "ScreenShot Folder: $pathScreenShot"
// Create a new Firefox Profile to allow camera access
FirefoxProfile profile = new FirefoxProfile()
profile.setPreference("media.navigator.permission.disabled", true)
// Create a new instance of the Firefox driver
log.info "Selenium Server Staring..."
testBrowser = new FirefoxDriver(profile)
log.info "Selenium Server: Started."
// Set Window position and size
testBrowser.manage().window().setPosition(new Point(20,20))
testBrowser.manage().window().setSize(new Dimension(750,500))
}
/*
* After running TestSuite, export JUnit Report to specific directory
* Use this function to parse the report using XPATH just to get simple
* NAME, RESULT, TIME table for summary XLS
*/
def JUnit_Report_Parse(){
testBrowser.get("file:///T:/TestFramework/logs/soapui/rpt/index.html")
/*
* @TODO Get Project Name from the <H3></H3> element above the results <table>.
* @TODO add JavaDoc comments for all methods
*/
def thisTsName = testBrowser.findElement(By.xpath("//table[5]/tbody/tr/td")).getText()
def rowCount=testBrowser.findElements(By.xpath("//table[5]/tbody/tr")).size()
def resultsList = []
// get Row Count.. will subtract '1' from the count later since it has a header row....
println("ROWCOUNT: " + rowCount)
int i = 1
for (tr in testBrowser.findElements(By.xpath("//table[5]/tbody/tr"))) {
if (i > 1){
def thisTcName = testBrowser.findElement(By.xpath("//table[5]/tbody/tr[$i]/td")).getText()
def thisTcStat = testBrowser.findElement(By.xpath("//table[5]/tbody/tr[$i]/td[2]")).getText()
def thisTcTime = testBrowser.findElement(By.xpath("//table[5]/tbody/tr[$i]/td[4]")).getText()
resultsList.add( "$thisTcName, $thisTcStat, $thisTcTime" )
//println("$i: TestCase: $thisTcName, Status: $thisTcStat, Time: $thisTcTime")
}
i++
}
testBrowser.quit()
println("Printing Results reed from the JUnit Report....")
println("TestSuiteName: " + thisTsName)
// subtract '1' from the rowCount since first row was actually the header row
for (int j=0; j<rowCount-1; j++){
println("Status " + j + ": " + resultsList[j])
}
}
def MFS_Login(){
log.info "Called: Selenium.MFS_Login"
/// Open Admin App and Login
/*
* @TODO: port hardcoded login credentials to TestSuite Properties
*/
testBrowser.get("${UrlMfsAdminApp}/AdminApp/rest/login")
element = testBrowser.findElement(By.name("identifier"))
element.sendKeys("lr_ma")
element = testBrowser.findElement(By.name("credential"))
element.sendKeys("Qwerty01")
element = testBrowser.findElement(By.id("loginBtn"))
element.click()
}
def GetScreenshot(screenNum=1, browserScreen){
log.info "Called: Selenium.GetScreenshot"
//Get TimeStamp and Save Screenshot
//Thread.sleep(3000)
def thisDate = new Date().format("yyyy_MMdd'_'HHmmss_SSS")
def screen = browserScreen.getScreenshotAs(OutputType.FILE)
FileUtils.copyFile(screen, new File("${pathScreenShot}/selenium/${thisDate}-screen${screenNum}.png"))
}
def QRCodeGenerator(){
log.info "Called: Selenium.QRCodeGenerator"
def thisToken = testRunner.testCase.testSuite.getPropertyValue("A-TransactionToken")
// Open QRCode Generator
def thisUrl = testRunner.testCase.testSuite. //project.getPropertyValue("A-TransactionToken")
testBrowser.get(UrlQrCodeGen)
element = testBrowser.findElement(By.linkText("Generate"))
element.click()
element = testBrowser.findElement(By.xpath("//textarea")).sendKeys("MCX.00000.${thisToken}")
Thread.sleep(2000)
// let customer scan the QRCode with the WalletApp before looking for resultant Token
def alert = com.eviware.soapui.support.UISupport
alert.showInfoMessage("Scan QR code...\nTHEN press OK when done")
testBrowser.quit() //Close the browser
}
def QRCodeScanner(){
log.info "Called: Selenium.QRCodeScanner"
// Open QRCode Generator
testBrowser.get(UrlQrCodeGen)
element = testBrowser.findElement(By.linkText("Scan"))
element.click()
// let browser enable webcam before looking for resultant Token
def alert = com.eviware.soapui.support.UISupport
alert.showInfoMessage("Scan QR code...\nTHEN press OK when done")
// pull token from browser results
element = testBrowser.findElement(By.className("content-text"))
def thisToken = element.getText().substring(10,22)
testBrowser.quit()
return thisToken
}
def MFS_Merch_Transaction_VerifyData(){
}
def MFS_Merch_AbsoluteLock(thisAction="Lock"){
log.info "Called: Selenium.MFS_Merch_AbsoluteLock"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
if (thisAction == "Lock"){
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Locked: FALSE(Locking It Now)"
element.click()
} else {
log.info "Merchant Locked: TRUE(No Change Made)"
}
} else if (thisAction == "Release"){
element = testBrowser.findElement(By.id("releaseAbsoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Locked: TRUE(UnLocking It Now)"
element.click()
} else {
log.info "Merchant Locked: FALSE(No Change Made)"
}
} else {
log.info "Doing Nothing: Not Release or Lock"
}
testBrowser.quit()
}
def MFS_Merch_POS_AbsoluteLock(thisAction="Lock"){
log.info "Called: Selenium.MFS_Merch_POS_AbsoluteLock(${thisAction})"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisStaff = testRunner.testCase.testSuite.getPropertyValue("M-Identifier")
log.info "Staff Id" + thisStaff
def thisURL = "${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/staff-member/${thisStaff}.xhtml"
log.info "Opening: ${thisURL} thisURL"
testBrowser.get(thisURL)
if (thisAction == "Lock"){
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Staff Locked: FALSE(Locking It Now)"
element.click()
} else {
log.info "MerchantStaff Locked: TRUE(No Change Made)"
}
} else if (thisAction == "Release"){
element = testBrowser.findElement(By.id("releaseAbsoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Staff Locked: TRUE(UnLocking It Now)"
element.click()
} else {
log.info "Merchant Staff Locked: FALSE(No Change Made)"
}
} else {
log.info "Doing Nothing: Not Release or Lock"
}
Thread.sleep(15000)
testBrowser.quit()
}
def MFS_Merch_Suspend(thisAction="Suspend"){
log.info "Called: Selenium.MFS_Merch_Suspend(${thisAction})"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
if (thisAction == "Suspend"){
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Merchant is Suspended"
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: FALSE"
element.click()
}
}
} else if (thisAction == "Release"){
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: FALSE"
}
}
} else {
log.info "Doing Nothing: No Action for ${thisAction}"
}
testBrowser.quit()
}
def MFS_Merch_Suspend_Release(){
log.info "Called: Selenium.MFS_Merch_Suspend_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: FALSE"
}
}
testBrowser.quit()
}
def MFS_Merch_Pocket_Suspend(){
log.info "Called: Selenium.MFS_Merch_Pocket_Suspend"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: TRUE"
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: FALSE"
element.click()
}
}
//Close the browser
testBrowser.quit()
}
def MFS_Merch_Pocket_Suspend_Release(){
log.info "Called: Selenium.MFS_Merch_Pocket_Suspend_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Suspended: FALSE"
}
}
testBrowser.quit()
}
def MFS_Merch_Pocket_Suspend_All(){
log.info "Called: Selenium.MFS_Merch_Pocket_Suspend_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Merchant Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/pockets-list.xhtml")
def rowCount=testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
//Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
def thisMerchPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisMerchPocket
pocketList.add(thisMerchPocket)
}
// Suspend via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
// RELEASE
log.info "Merchant Pocket ${j} Suspended: TRUE"
} else {
// SUSPEND
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Pocket ${j} Suspended: FALSE"
element.click()
log.info "Merchant Pocket ${j} Suspended: TRUE"
}
}
}
//Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Merch_Pocket_Suspend_Release_All(){
log.info "Called: Selenium.MFS_Merch_Pocket_Suspend_Release_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Merchant Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/pockets-list.xhtml")
def rowCount = testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
// Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
def thisMerchPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisMerchPocket
pocketList.add(thisMerchPocket)
}
// Suspend via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
// RELEASE
log.info "Merchant Pocket ${j} Suspended: TRUE"
element.click()
log.info "Merchant Pocket ${j} Suspended: FALSE"
} else {
// SUSPEND
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Merchant Pocket ${j} Suspended: FALSE"
}
}
}
//Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Cust_Suspend(){
log.info "Called: Selenium.MFS_Cust_Suspend"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Suspended: TRUE"
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Customer Suspended: FALSE"
element.click()
}
}
testBrowser.quit()
}
def MFS_Cust_Suspend_Release(){
log.info "Called: MFS_Cust_Suspend_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Suspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Customer Suspended: FALSE"
}
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Suspend_All(){
log.info "Called: MFS_Cust_Pocket_Suspend_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Customer Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
def rowCount=testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
// Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
thisCustPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisCustPocket
pocketList.add(thisCustPocket)
}
// Suspend via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
// RELEASE
log.info "Customer Pocket ${j} Suspended: TRUE"
} else {
// SUSPEND
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} Suspended: FALSE"
element.click()
log.info "Customer Pocket ${j} Suspended: TRUE"
}
}
}
// Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Cust_Pocket_Suspend_Release_All(){
log.info "Called: MFS_Cust_Pocket_Suspend_Release_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Customer Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
def rowCount=testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
//Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
thisCustPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisCustPocket
pocketList.add(thisCustPocket)
}
// Release Suspensions via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} Suspended: TRUE"
element.click()
log.info "Customer Pocket ${j} Suspended: FALSE"
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} Suspended: FALSE"
}
}
}
//Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Cust_Pocket_Self_Suspend(){
log.info "Called: MFS_Cust_Pocket_Self_Suspend"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket SelfSuspended: TRUE"
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket SelfSuspended: FALSE"
element.click()
}
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Self_Suspend_Release(){
log.info "Called: MFS_Cust_Pocket_Self_Suspend_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket SelfSuspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket SelfSuspended: FALSE"
}
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Suspend(){
log.info "Called: MFS_Cust_Pocket_Suspend"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Suspended: TRUE"
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Suspended: FALSE"
element.click()
}
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Suspend_Release(){
log.info "Called: MFS_Cust_Pocket_Suspend_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("releaseSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Suspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("suspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Suspended: FALSE"
}
}
testBrowser.quit()
}
def MFS_Cust_Suspend_Self(){
log.info "Called: MFS_Cust_Suspend_Self"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Self-Suspended: TRUE"
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Self-Suspended: FALSE"
element.click()
}
}
testBrowser.quit()
}
def MFS_Cust_Suspend_Self_Release(){
log.info "Called: MFS_Cust_Suspend_Self_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Self-Suspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Self-Suspended: FALSE"
}
}
testBrowser.quit()
}
def MFS_Cust_Self_Suspend_Release(){
log.info "Called: MFS_Cust_Self_Suspend_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer SelfSuspended: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer SelfSuspended: FALSE"
}
}
testBrowser.quit()
}
//----------------------------------------
def MFS_Cust_Absolute_Lock(){
log.info "Called: MFS_Cust_Absolute_Lock"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Customer Absolute Lock: FALSE"
element.click()
} else {
element = testBrowser.findElement(By.id("releaseAbsoluteLock"))
if (element.isDisplayed() ) {
log.info "Customer Absolute Lock: TRUE"
}
}
testBrowser.quit()
}
def MFS_Cust_Absolute_Lock_Release(){
log.info "Called: MFS_Cust_Absolute_Lock_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("releaseAbsoluteLock"))
if (element.isDisplayed() ) {
log.info "Customer Absolute Lock: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Customer Absolute Lock: FALSE"
}
}
testBrowser.quit()
}
def MFS_Cust_Security_Lock_Release(){
log.info "Called: MFS_Cust_Security_Lock_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("releaseSecurityLock"))
if (element.isDisplayed() ) {
log.info "Customer Security Lock: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Customer Security Lock: NEEDS TO BE CODED"
//this needs to get changed to something else, Security Lock doesn't really have a visible parameter
}
}
testBrowser.quit()
}
def MFS_Merch_Absolute_Lock(){
log.info "Called: Selenium.MFS_Merch_Absolute_Lock"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
element = testBrowser.findElement(By.id("releaseAbsoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Absolute Lock: TRUE"
} else {
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Absolute Lock: FALSE"
element.click()
}
}
testBrowser.quit()
}
def MFS_Merch_Absolute_Lock_Release(){
log.info "Called: Selenium.MFS_Merch_Absolute_Lock_Release"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
element = testBrowser.findElement(By.id("releaseAbsoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Absolute Lock: TRUE"
element.click()
} else {
element = testBrowser.findElement(By.id("absoluteLock"))
if (element.isDisplayed() ) {
log.info "Merchant Absolute Lock: FALSE"
}
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Retire(){
log.info "Called: MFS_Cust_Pocket_Retire"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${thisCustPocket}.xhtml")
element = testBrowser.findElement(By.id("retire"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Retired: FALSE"
element.click()
}
element = testBrowser.findElement(By.id("confirmOkBtn"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Retired: TRUE"
element.click()
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Retire_All(){
log.info "Called: MFS_Cust_Pocket_Retire_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Customer Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
def rowCount=testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
// Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
thisCustPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisCustPocket
pocketList.add(thisCustPocket)
}
// Retire via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("retire"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} Retired: FALSE"
element.click()
}
element = testBrowser.findElement(By.id("confirmOkBtn"))
if (element.isDisplayed() ) {
log.info "Customer Pocket Retired: TRUE"
element.click()
}
}
// Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Merch_Retire_Account(){
log.info "Called: Selenium.MFS_Merch_Retire_Account"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/merchant/${thisMerch}/merchant-details.xhtml")
element = testBrowser.findElement(By.id("retire"))
if (element.isDisplayed() ) {
log.info "Merchant Retired = FALSE"
element.click()
}
element = testBrowser.findElement(By.id("confirmOkBtn"))
if (element.isDisplayed() ) {
element.click()
log.info "Merchant Retired = TRUE"
}
testBrowser.quit()
}
def MFS_Cust_Retire_Account(){
log.info "Called: Selenium.MFS_Cust_Retire_Account"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("retire"))
if (element.isDisplayed() ) {
log.info "Customer Account Retired: FALSE"
element.click()
}
element = testBrowser.findElement(By.id("confirmOkBtn"))
if (element.isDisplayed() ) {
log.info "Customer Account Retired: TRUE"
element.click()
}
testBrowser.quit()
}
def MFS_Cust_Pocket_Self_Suspend_All(){
log.info "Called: MFS_Cust_Pocket_Self_Suspend_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Customer Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
def rowCount=testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
// Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
thisCustPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisCustPocket
pocketList.add(thisCustPocket)
}
// Suspend via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
// RELEASE
log.info "Customer Pocket ${j} SelfSuspended: TRUE"
} else {
// SUSPEND
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} SelfSuspended: FALSE"
element.click()
log.info "Customer Pocket ${j} SelfSuspended: TRUE"
}
}
}
// Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Cust_Pocket_Self_Suspend_Release_All(){
log.info "Called: MFS_Cust_Pocket_Self_Suspend_Release_All"
this.MFS_Login()
//Pull Properties and Create Vars
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
def thisCustPocket = testRunner.testCase.testSuite.getPropertyValue("C-PocketId")
def pocketList = []
// Customer Pocket List page and Detect Pockets
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
def rowCount=testBrowser.findElements(By.xpath("//table[@id='default-pocket-table']/tbody/tr")).size()
log.info "ROWCOUNT: " + rowCount
log.info "Saving Screenshot #1"
GetScreenshot(1, testBrowser)
// Pass values to an array, THEN use array to get links...
//Detect Pockets and push to array
for (int i=1; i<rowCount+1; i++){
thisCustPocket = testBrowser.findElement(By.xpath("//table[@id='default-pocket-table']/tbody/tr[${i}]")).getAttribute('pocketid')
log.info "Current Pocket: " + thisCustPocket
pocketList.add(thisCustPocket)
}
// Release Suspensions via Iteration
for (j in pocketList){
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pocket/${j}.xhtml")
log.info "PocketList: Pocket: $j: Checking visible links"
Thread.sleep(3000)
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} SelfSuspended: TRUE"
element.click()
log.info "Customer Pocket ${j} SelfSuspended: FALSE"
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer Pocket ${j} SelfSuspended: FALSE"
}
}
}
//Verify Changes Were Successful
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/pockets-list.xhtml")
log.info "Saving Screenshot #2"
GetScreenshot(2, testBrowser)
testBrowser.quit()
}
def MFS_Cust_Self_Suspend(){
log.info "Called: Selenium.MFS_Cust_Self_Suspend"
this.MFS_Login()
def thisMerch = testRunner.testCase.testSuite.getPropertyValue("M-MerchantId")
def thisCust = testRunner.testCase.testSuite.getPropertyValue("C-CustomerId")
testBrowser.get("${UrlMfsAdminApp}/AdminApp/page/customer/${thisCust}/personal-information.xhtml")
element = testBrowser.findElement(By.id("releaseSelfSuspension"))
if (element.isDisplayed() ) {
log.info "Customer SelfSuspended: TRUE"
} else {
element = testBrowser.findElement(By.id("selfSuspend"))
if (element.isDisplayed() ) {
log.info "Customer SelfSuspended: FALSE"
element.click()
}
}
testBrowser.quit()
}
}