12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841 |
- package automation_admin;
- import java.io.File;
- import java.io.IOException;
- import java.time.Duration;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Set;
- import org.apache.poi.EncryptedDocumentException;
- import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
- import org.openqa.selenium.By;
- import org.openqa.selenium.JavascriptExecutor;
- import org.openqa.selenium.Keys;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.WindowType;
- import org.openqa.selenium.interactions.Actions;
- import org.openqa.selenium.support.FindBy;
- import org.openqa.selenium.support.ui.ExpectedConditions;
- import org.openqa.selenium.support.ui.WebDriverWait;
- import org.testng.annotations.Test;
- import org.testng.asserts.SoftAssert;
- import com.Utility.MethodFactory;
- import com.Utility.ReadExcel;
- import com.Utility.TakeScreenshot;
- import com.Utility.TestNGCreation;
- import com.Utility.UtilMethods;
- import com.relevantcodes.extentreports.ExtentTest;
- import com.relevantcodes.extentreports.LogStatus;
- public class RT_OppCreatePage extends OpportunityElementFactory {
- static String data;
- static File file;
- static ReadExcel excel;
- public static ReadExcel excel(String excelName) {
- file = new File(System.getProperty("user.dir") + "/ExcelFiles/" + excelName + ".xlsx");
- excel = new ReadExcel(file);
- return excel;
- }
- public static WebDriver fillFieldsOnOppCreatePage(WebDriver driver, String path, ExtentTest logger, String oppName,
- String crID, String closeDt, String sellingCountryval, String localCurrencyVal,
- String IndustrySubSegmentValue, String excelName, String sheetName, int row) throws InterruptedException {
-
- excel(excelName);
- String opportunityName;
- String accountID;
- String closeDate;
- String sellingCountry;
- String localCurrency;
- String IndustrySubSegment;
-
- opportunityName = excel.getCellData(sheetName, oppName, row);
- accountID = excel.getCellData(sheetName, crID, row);
- closeDate = excel.getCellData(sheetName, closeDt, row);
-
- logger.log(LogStatus.INFO, "closeDate from excel is:" + closeDate);
-
- sellingCountry = excel.getCellData(sheetName, sellingCountryval, row);
- localCurrency = excel.getCellData(sheetName, localCurrencyVal, row);
- IndustrySubSegment = excel.getCellData(sheetName, IndustrySubSegmentValue, row);
- Thread.sleep(4000);
-
- // Setting Value for Opportunity Name field
- UtilMethods.waitTillElementIsVisible(logger, driver, opportunityNameOnCreateOppPage);
- UtilMethods.setText(logger, opportunityNameOnCreateOppPage, opportunityName);
- // Setting Value for Customer relationship field
- Thread.sleep(4000);
- UtilMethods.waitTillElementIsVisible(logger, driver, customerRelationshipOnCreateOppPage);
- Thread.sleep(4000);
- UtilMethods.setText(logger, customerRelationshipOnCreateOppPage, accountID);
- Thread.sleep(4000);
- UtilMethods.clickEnter(logger, customerRelationshipOnCreateOppPage, "Customer Relationship");
- Thread.sleep(4000);
- // UtilMethods.clickEnter(logger, customerRelationshipOnCreateOppPage, "Customer Relationship");
- // Thread.sleep(3000);
- UtilMethods.waitTillElementIsVisible(logger, driver, RT_WinLossSurveyFindingsPage.cRSelection);
- Thread.sleep(3000);
- UtilMethods.clickOn(logger, cRSelection, "CR");
- Thread.sleep(3000);
- // Setting Value for Close Date
- UtilMethods.waitTillElementIsVisible(logger, driver, closeDateOnCreateOppPage);
- Thread.sleep(3000);
- UtilMethods.setText(logger, closeDateOnCreateOppPage, closeDate);
- Thread.sleep(5000);
- JavascriptExecutor executor = (JavascriptExecutor) driver;
- WebElement element1 = driver.findElement(
- By.xpath("//label[text()='Selling Country/Location']/ancestor::lightning-combobox//input | //label[text()='Selling Country/Location']/ancestor::lightning-combobox//button[@name='SellingCountry__c']"));
- Thread.sleep(2000);
- UtilMethods.waitTillElementIsVisible(logger, driver, element1);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element1, "Selling Country");
- WebElement selectionElement = driver.findElement(By
- .xpath("//label[text()='Selling Country/Location']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + sellingCountry + "']"));
- executor.executeScript("arguments[0].click();", selectionElement);
- // local currency
- WebElement element2 = driver
- .findElement(By.xpath("//label[text()='Local Currency']/ancestor::lightning-combobox//button"));
- UtilMethods.waitTillElementIsVisible(logger, driver, element2);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element2, "Local Currency");
- WebElement selectionElement1 = driver.findElement(
- By.xpath("//label[text()='Local Currency']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + localCurrency + "']"));
- executor.executeScript("arguments[0].click();", selectionElement1);
- UtilMethods.waitTillElementIsVisible(logger, driver, industrySubSegmentOnCreateOppPage);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, industrySubSegmentOnCreateOppPage,
- "ISS");
- Thread.sleep(2000);
-
- if (IndustrySubSegment.equals("H&PS HEALTH-COMM'L PAYER")
- || IndustrySubSegment.equals("H&PS HEALTH-COMM'L PROVIDER")) {
-
- String IndustrySubSegmentData[] = IndustrySubSegment.split("'");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By
- .xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[contains(text(),'"
- + IndustrySubSegmentData[0] + "') and contains(text(),'" + IndustrySubSegmentData[1]
- + "')]")),
- "industry sub segment");
-
- } else {
-
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(
- By.xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[text()='"
- + IndustrySubSegment + "']")),
- "industry sub segment");
- }
- return driver;
- }
- public static WebDriver addFinancials(WebDriver driver, String path, ExtentTest logger, String SG, String SSG,
- String SR, String SSGOff, String excelName, String sheetName, int row) throws InterruptedException {
- Thread.sleep(5000);
- excel(excelName);
- if (clearSSG.size() > 0 || deleteSSG.size() > 0) {
- //UtilMethods.clickOn(logger, ssgAddBtn, "ssgAdd Button");
- MethodFactory.clickTheRespectiveButtonByJavaScriptExecutor(driver, path, logger,
- ssgAddBtn, "SSG Add Button");
-
-
- }
- String serviceGroup = excel.getCellData(sheetName, SG, row);
- String subServiceGroup = excel.getCellData(sheetName, SSG, row);
- String serviceRevenue = excel.getCellData(sheetName, SR, row);
- String ssgOff = excel.getCellData(sheetName, SSGOff, row);
- String[] ssgOfflist = ssgOff.split(";");
- int ssgListSize = ssgOfflist.length;
- logger.log(LogStatus.INFO, "ssgListSize " + ssgListSize);
- row = row - 1;
- // Setting Value for Service Group
- JavascriptExecutor executor = (JavascriptExecutor) driver;
- WebElement element1 = driver.findElement(
- By.xpath("(//label[text()='Service Group']/ancestor::lightning-combobox//input)[" + row + "] | (//label[text()='Service Group']/ancestor::lightning-combobox//button)[" + row + "]"));
- Thread.sleep(2000);
- UtilMethods.waitTillElementIsVisible(logger, driver, element1);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element1, "SG");
- WebElement selectionElement1 = driver.findElement(
- By.xpath("(//label[text()='Service Group']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + serviceGroup + "'])[" + row + "]"));
- executor.executeScript("arguments[0].click();", selectionElement1);
- Thread.sleep(5000);
- // Setting Value for SSG
- WebElement element2 = driver.findElement(
- By.xpath("(//label[text()='Sub Service Group']/ancestor::lightning-combobox//input)[" + row + "] | (//label[text()='Sub Service Group']/ancestor::lightning-combobox//button)[" + row + "]"));
- Thread.sleep(2000);
- UtilMethods.clickOn(logger, element2, "SSG inbox");
- UtilMethods.waitTillElementIsVisible(logger, driver, element1);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element1, "SSG");
- List<WebElement> selectionElement2 = driver.findElements(By
- .xpath("//label[text()='Sub Service Group']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + subServiceGroup + "']"));
- executor.executeScript("arguments[0].click();", selectionElement2.get(selectionElement2.size()-1));
- Thread.sleep(5000);
- // Setting Value for Services Revenue
- WebElement element3 = driver.findElement(By
- .xpath("(//label[text()='Services Revenue']//ancestor::div[@class='field-height set-background']//input)["
- + row + "] | (//label[text()='Services Revenue']//ancestor::div[@class='field-height set-background']//button)["
- + row + "]"));
- UtilMethods.waitTillElementIsVisible(logger, driver, srTextBox);
- UtilMethods.setText(logger, element3, serviceRevenue);
- Thread.sleep(5000);
- // Setting Value for SSG Offerings
- if(!ssgOfflist[0].equals("NA")) {
- for (int i = 0; i < ssgListSize; i++) {
- logger.log(LogStatus.INFO, "ssgOfflist " + ssgOfflist[i]);
- logger.log(LogStatus.INFO, "row " + row);
- Thread.sleep(5000);
- String SSGOff1 = ssgOfflist[i];
- WebElement element4 = driver.findElement(By
- .xpath("(//span[text()='SSG Offerings']//ancestor::div[@class='slds slds-form-element large']//input)["
- + row + "] | (//span[text()='SSG Offerings']//ancestor::div[@class='slds slds-form-element large']//button)["
- + row + "]"));
- Thread.sleep(5000);
- UtilMethods.clickOn(logger, element4, "element4");
- UtilMethods.setText(logger, element4, SSGOff1);
- logger.log(LogStatus.INFO, "row " + row);
- Thread.sleep(5000);
- UtilMethods.clickEnter(logger, element4, "ssgTextBox");
- UtilMethods.waitTillElementIsVisible(logger, driver, element4);
- Thread.sleep(4000);
- }
- }
- return driver;
- }
- public static WebDriver updateSSGOfferings(WebDriver driver, String path, ExtentTest logger, String SSGOff,
- String excelName, String sheetName, int row) throws InterruptedException {
- Thread.sleep(5000);
- excel(excelName);
- String ssgOff = excel.getCellData(sheetName, SSGOff, row);
- logger.log(LogStatus.INFO, "ssgOfflist " + ssgOff);
- String[] ssgOfflist = ssgOff.split(";");
- int ssgListSize = ssgOfflist.length;
- logger.log(LogStatus.INFO, "ssgListSize " + ssgListSize);
- row = row - 1;
- // Setting Value for SSG Offerings
- for (int i = 0; i < ssgListSize; i++) {
- logger.log(LogStatus.INFO, "ssgOfflist " + ssgOfflist[i]);
- logger.log(LogStatus.INFO, "row " + row);
- String SSGOff1 = ssgOfflist[i];
- WebElement element4 = driver.findElement(By
- .xpath("(//span[text()='SSG Offerings']//ancestor::div[@class='slds slds-form-element large']//input)["
- + row + "]"));
- Thread.sleep(5000);
- //UtilMethods.clickOn(logger, element4, "element4");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element4, "element4");
- UtilMethods.setText(logger, element4, SSGOff1);
- logger.log(LogStatus.INFO, "row " + row);
- Thread.sleep(5000);
- UtilMethods.clickEnter(logger, element4, "ssgTextBox");
- Thread.sleep(4000);
- }
- return driver;
- }
- public static WebDriver navigateToOppCreatePage(WebDriver driver, String path, ExtentTest logger)
- throws InterruptedException {
- Thread.sleep(4000);
- MethodFactory.clickTheRespectiveButtonByJavaScriptExecutor(driver, path, logger, Opptab, "Opp Tab" );
- Thread.sleep(3000);
- UtilMethods.waitTillElementIsVisible(logger, driver, newButton);
- Thread.sleep(3000);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver,logger, newButton, "New Button" );
-
- Thread.sleep(5000);
- return driver;
- }
- public static WebDriver deleteTheSSG(WebDriver driver, String path, ExtentTest logger, String excelName,
- String sheetName, int row) throws InterruptedException {
- List<WebElement> delSSG = driver
- .findElements(By.xpath("//button[@title='Delete SSG']//following::button[@name='3']"));
- if (delSSG.size() == 1) {
- UtilMethods.clickOn(logger, delSSG.get(0), "deleteSSGbtn");
- logger.log(LogStatus.PASS, "Last Record Deleted");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "deleteTheSSG");
- logger.log(LogStatus.FAIL, "Last Record is not deleted" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- Thread.sleep(2000);
- UtilMethods.clickOn(logger, oKButtonSubmitForApproval, "oKButtonSubmitForApproval");
- Thread.sleep(2000);
- return driver;
- }
- public static WebDriver updateTheRevenue(WebDriver driver, String path, ExtentTest logger, String SR,
- String excelName, String sheetName, int row) throws InterruptedException {
- WebElement errorBox = driver.findElement(By.xpath(
- "//div[text()='ERROR: Invalid Revenue']//ancestor::div[@class='field-height set-background']//input"));
- String serviceRevenue = excel.getCellData(sheetName, SR, row);
- UtilMethods.clickOn(logger, errorBox, "errorBox");
- UtilMethods.setText(logger, errorBox, serviceRevenue);
- return driver;
- }
- public static WebDriver updateTheSG(WebDriver driver, String path, ExtentTest logger, String SG, String excelName,
- String sheetName, int row) throws InterruptedException {
- String serviceGrp = excel.getCellData(sheetName, SG, row);
- // Setting Value for Service Group
- JavascriptExecutor executor = (JavascriptExecutor) driver;
- Thread.sleep(2000);
- WebElement selectionElement1 = driver.findElement(
- By.xpath("(//label[text()='Service Group']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + serviceGrp + "'])[4]"));
- executor.executeScript("arguments[0].click();", selectionElement1);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, selectionElement1, "SG");
- Thread.sleep(5000);
- return driver;
- }
- public static WebDriver updateRevenueAfterDQCFilled(WebDriver driver, String path, ExtentTest logger, String SR,
- String excelName, String sheetName, int row) throws InterruptedException {
- WebElement inbox = driver.findElement(By.xpath("//div[@class='field-height set-background']//input"));
- String serviceRevenue = excel.getCellData(sheetName, SR, row);
- UtilMethods.clickOn(logger, inbox, "inbox");
- UtilMethods.setText(logger, inbox, serviceRevenue);
- return driver;
- }
- public static WebDriver includeMultipleISS(WebDriver driver, String path, ExtentTest logger,
- String IndustrySubSegmentValue, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- Thread.sleep(4000);
-
-
- UtilMethods.waitTillElementIsVisible(logger, driver, industrySubSegmentOnCreateOppPage);
- int rowcount = excel.getColumnRowCount(sheetName, IndustrySubSegmentValue);
- rowcount = rowcount + 2;
- logger.log(LogStatus.INFO, "row count " + rowcount);
- for (int i = 2; i < rowcount; i++) {
- String IndustrySubSegment = excel.getCellData(sheetName, IndustrySubSegmentValue, i);
- //extra added
- System.out.println("picklist count "+ rowcount);
-
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, industrySubSegmentOnCreateOppPage,
- IndustrySubSegment);
- Thread.sleep(2000);
- logger.log(LogStatus.INFO, "fieldValue " + IndustrySubSegment);
- if (IndustrySubSegment.equals("H&PS HEALTH-COMM'L PAYER")
- || IndustrySubSegment.equals("H&PS HEALTH-COMM'L PROVIDER")) {
- String IndustrySubSegmentData[] = IndustrySubSegment.split("'");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By
- .xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[contains(text(),'"
- + IndustrySubSegmentData[0] + "') and contains(text(),'"
- + IndustrySubSegmentData[1] + "')]")),
- "industry sub segment");
- } else {
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By
- .xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[text()='"+ IndustrySubSegment + "']")),
- "industry sub segment");
- }
- }
- return driver;
- }
- public static WebDriver createOppFromCR(WebDriver driver, String path, ExtentTest logger, String oppName,
- String closeDt,String sellingCountryval, String localCurrencyVal, String IndustrySubSegmentValue, String excelName, String sheetName,
- int row) throws InterruptedException {
- excel(excelName);
- String opportunityName;
- String closeDate;
- String localCurrency;
- String sellingCountry;
- String IndustrySubSegment;
- opportunityName = excel.getCellData(sheetName, oppName, row);
- closeDate = excel.getCellData(sheetName, closeDt, row);
- localCurrency = excel.getCellData(sheetName, localCurrencyVal, row);
- sellingCountry = excel.getCellData(sheetName, sellingCountryval, row);
- IndustrySubSegment = excel.getCellData(sheetName, IndustrySubSegmentValue, row);
- UtilMethods.waitTillElementIsVisible(logger, driver, oppRelatedList);
- //UtilMethods.clickOn(logger, oppRelatedList, "oppRelatedList is clicked");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, oppRelatedList, "oppRelatedList is clicked");
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, newButton1);
- UtilMethods.clickOn(logger, newButton1, "newButton is clicked");
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, opportunityNameOnCreateOppPage);
- UtilMethods.setText(logger, opportunityNameOnCreateOppPage, opportunityName);
- Thread.sleep(5000);
- JavascriptExecutor executor = (JavascriptExecutor) driver;
- WebElement element2 = driver
- .findElement(By.xpath("//label[text()='Local Currency']/ancestor::lightning-combobox//button"));
- UtilMethods.waitTillElementIsVisible(logger, driver, element2);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element2, "Local Currency");
- WebElement selectionElement1 = driver.findElement(
- By.xpath("//label[text()='Local Currency']//ancestor::div[1]//div[@role='listbox']//span/span[text()='" + localCurrency + "']"));
- executor.executeScript("arguments[0].click();", selectionElement1);
- UtilMethods.waitTillElementIsVisible(logger, driver, closeDateOnCreateOppPage);
- UtilMethods.setText(logger, closeDateOnCreateOppPage, closeDate);
-
-
- WebElement element1 = driver.findElement(
- By.xpath("//label[text()='Selling Country/Location']/ancestor::lightning-combobox//input | //label[text()='Selling Country/Location']/ancestor::lightning-combobox//button[@name='SellingCountry__c']"));
- Thread.sleep(2000);
- UtilMethods.waitTillElementIsVisible(logger, driver, element1);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element1, "Seling Country");
- WebElement selectionElement = driver.findElement(By
- .xpath("//label[text()='Selling Country/Location']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + sellingCountry + "']"));
- executor.executeScript("arguments[0].click();", selectionElement);
-
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, industrySubSegmentOnCreateOppPage);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, industrySubSegmentOnCreateOppPage,
- "ISS");
- Thread.sleep(5000);
-
-
- if (IndustrySubSegment.equals("H&PS HEALTH-COMM'L PAYER")
- || IndustrySubSegment.equals("H&PS HEALTH-COMM'L PROVIDER")) {
- String IndustrySubSegmentData[] = IndustrySubSegment.split("'");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By
- .xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[contains(text(),'"
- + IndustrySubSegmentData[0] + "') and contains(text(),'" + IndustrySubSegmentData[1]
- + "')]")),
- "industry sub segment");
- } else {
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(
- By.xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[text()='"
- + IndustrySubSegment + "']")),
- "industry sub segment");
- }
- /*UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, industrySubSegmentOnCreateOppPage,
- "ISS");*/
-
-
-
- return driver;
- }
- // new method for close date
- public static WebDriver createOppFromCRDate(WebDriver driver, String path, ExtentTest logger, String oppName,
- String closeDt, String localCurrencyVal, String IndustrySubSegmentValue, String excelName, String sheetName,
- int row) throws InterruptedException {
- excel(excelName);
- String opportunityName;
- String closeDate;
- String localCurrency;
- String IndustrySubSegment;
- opportunityName = excel.getCellData(sheetName, oppName, row);
- closeDate = excel.getCellData(sheetName, closeDt, row);
- localCurrency = excel.getCellData(sheetName, localCurrencyVal, row);
- IndustrySubSegment = excel.getCellData(sheetName, IndustrySubSegmentValue, row);
- UtilMethods.waitTillElementIsVisible(logger, driver, oppRelatedList);
- //UtilMethods.clickOn(logger, oppRelatedList, "oppRelatedList is clicked");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, oppRelatedList, "oppRelatedList is clicked");
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, newButton1);
- UtilMethods.clickOn(logger, newButton1, "newButton is clicked");
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, opportunityNameOnCreateOppPage);
- UtilMethods.setText(logger, opportunityNameOnCreateOppPage, opportunityName);
- Thread.sleep(5000);
- JavascriptExecutor executor = (JavascriptExecutor) driver;
- WebElement element2 = driver
- .findElement(By.xpath("//label[text()='Local Currency']/ancestor::lightning-combobox//button"));
- UtilMethods.waitTillElementIsVisible(logger, driver, element2);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element2, "Local Currency");
- WebElement selectionElement1 = driver.findElement(
- By.xpath("//label[text()='Local Currency']//ancestor::div[1]//div[@role='listbox']//span/span[text()='" + localCurrency + "']"));
- executor.executeScript("arguments[0].click();", selectionElement1);
-
-
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, industrySubSegmentOnCreateOppPage);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, industrySubSegmentOnCreateOppPage,
- "ISS");
- Thread.sleep(5000);
-
-
- if (IndustrySubSegment.equals("H&PS HEALTH-COMM'L PAYER")
- || IndustrySubSegment.equals("H&PS HEALTH-COMM'L PROVIDER")) {
- String IndustrySubSegmentData[] = IndustrySubSegment.split("'");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By
- .xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[contains(text(),'"
- + IndustrySubSegmentData[0] + "') and contains(text(),'" + IndustrySubSegmentData[1]
- + "')]")),
- "industry sub segment");
- } else {
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(
- By.xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[text()='"
- + IndustrySubSegment + "']")),
- "industry sub segment");
- }
-
-
- UtilMethods.waitTillElementIsVisible(logger, driver, closeDateOnCreateOppPage);
- UtilMethods.setText(logger, closeDateOnCreateOppPage, closeDate);
- //closeDateOnCreateOppPage.sendKeys(Keys.ENTER);
-
- UtilMethods.clickEnter(logger, closeDateOnCreateOppPage, "Validate error msg");
- return driver;
- }
-
- public static WebDriver updateOppName(WebDriver driver, String path, ExtentTest logger, String oppName,
- String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
-
- String opportunityName = excel.getCellData(sheetName, oppName, row);
- opportunityNameOnCreateOppPage.clear();
-
- // Setting Value for Opportunity Name field
- UtilMethods.waitTillElementIsVisible(logger, driver, opportunityNameOnCreateOppPage);
- UtilMethods.setText(logger, opportunityNameOnCreateOppPage, opportunityName);
- return driver;
- }
- public static WebDriver updateCR(WebDriver driver, String path, ExtentTest logger, String crID, String excelName,
- String sheetName, int row) throws InterruptedException {
- UtilMethods.waitTillElementIsVisible(logger, driver, clearCR);
- //check click function
- //UtilMethods.clickOn(logger, clearCR, "clearCR is done");
- MethodFactory.clickTheRespectiveButtonByJavaScriptExecutor(driver, path, logger,
- clearCR, "CR is cleared");
- //
-
- MethodFactory.refreshPg(driver);
- Thread.sleep(3000);
- String accountID = excel.getCellData(sheetName, crID, row);
- UtilMethods.waitTillElementIsVisible(logger, driver, customerRelationshipOnCreateOppPage);
- UtilMethods.setText(logger, customerRelationshipOnCreateOppPage, accountID);
- Thread.sleep(3000);
- // UtilMethods.clickEnter(logger, customerRelationshipOnCreateOppPage, "Customer Relationship");
- // Thread.sleep(4000);
- UtilMethods.clickEnter(logger, customerRelationshipOnCreateOppPage, "Customer Relationship");
- Thread.sleep(10000);
- UtilMethods.clickOn(logger, cRSelection, "CR");
- UtilMethods.clickOn(logger, selectButton, "Select");
- Thread.sleep(3000);
- return driver;
- }
- public static WebDriver updateNewCR(WebDriver driver, String path, ExtentTest logger, String crID, String excelName,
- String sheetName, int row, String sellingCountryval, String IndustrySubSegmentValue) throws InterruptedException {
- UtilMethods.waitTillElementIsVisible(logger, driver, clearCR);
- //check click function
- //UtilMethods.clickOn(logger, clearCR, "clearCR is done");
- MethodFactory.clickTheRespectiveButtonByJavaScriptExecutor(driver, path, logger,
- clearCR, "CR is cleared");
- //
- String IndustrySubSegment;
- String sellingCountry;
-
- Thread.sleep(3000);
- String accountID = excel.getCellData(sheetName, crID, row);
- sellingCountry = excel.getCellData(sheetName, sellingCountryval, row);
- IndustrySubSegment = excel.getCellData(sheetName, IndustrySubSegmentValue, row);
-
- UtilMethods.waitTillElementIsVisible(logger, driver, customerRelationshipOnCreateOppPage);
- UtilMethods.setText(logger, customerRelationshipOnCreateOppPage, accountID);
- Thread.sleep(3000);
- UtilMethods.clickEnter(logger, customerRelationshipOnCreateOppPage, "Customer Relationship");
- // UtilMethods.waitTillElementIsVisible(logger, driver, RT_WinLossSurveyFindingsPage.cRSelection);
- // UtilMethods.clickOn(logger, cRSelection, "CR");
- Thread.sleep(10000);
- UtilMethods.clickOn(logger, cRSelection, "CR");
- UtilMethods.clickOn(logger, selectButton, "Select");
- Thread.sleep(3000);
-
- JavascriptExecutor executor = (JavascriptExecutor) driver;
-
- WebElement element1 = driver.findElement(
- By.xpath("//label[text()='Selling Country/Location']/ancestor::lightning-combobox//input | //label[text()='Selling Country/Location']/ancestor::lightning-combobox//button[@name='SellingCountry__c']"));
- Thread.sleep(2000);
- UtilMethods.waitTillElementIsVisible(logger, driver, element1);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, element1, "Seling Country");
- WebElement selectionElement = driver.findElement(By
- .xpath("//label[text()='Selling Country/Location']//ancestor::div[1]//div[@role='listbox']//span/span[text()='"
- + sellingCountry + "']"));
- executor.executeScript("arguments[0].click();", selectionElement);
-
- Thread.sleep(5000);
- UtilMethods.waitTillElementIsVisible(logger, driver, industrySubSegmentOnCreateOppPage);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, industrySubSegmentOnCreateOppPage,
- "ISS");
- Thread.sleep(5000);
-
-
- if (IndustrySubSegment.equals("H&PS HEALTH-COMM'L PAYER")
- || IndustrySubSegment.equals("H&PS HEALTH-COMM'L PROVIDER")) {
- String IndustrySubSegmentData[] = IndustrySubSegment.split("'");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By
- .xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[contains(text(),'"
- + IndustrySubSegmentData[0] + "') and contains(text(),'" + IndustrySubSegmentData[1]
- + "')]")),
- "industry sub segment");
- } else {
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(
- By.xpath("//span[text()='Industry Sub Segment']/../../following-sibling::div//div[text()='"
- + IndustrySubSegment + "']")),
- "industry sub segment");
- }
- Thread.sleep(3000);
- return driver;
- }
-
- public static WebDriver updateDQCResponse(WebDriver driver, String path, ExtentTest logger, String headingQues,
- String response, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, headingQues);
- rowcount = rowcount + 2;
- logger.log(LogStatus.INFO, "row count " + rowcount);
- for (int i = 2; i < rowcount; i++) {
- String headingValue = excel.getCellData(sheetName, headingQues, i);
- String selection = excel.getCellData(sheetName, response, i);
- WebElement field1 = driver.findElement(By
- .xpath("//div[@c-oppcreatedqclineitem_oppcreatedqclineitem]//span[text()='" + headingValue + "']"));
-
- String strXpath = "//div[@c-oppcreatedqclineitem_oppcreatedqclineitem]//span[text()='" + headingValue + "']";
- WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(1000));
- WebElement element=wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(strXpath)));
- UtilMethods.verifyElementPresent(logger, driver, driver.findElements(By.xpath(strXpath)));
-
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
- UtilMethods.clickOn(logger, element, "textValue" + headingValue);
- Thread.sleep(2000);
-
- // Selecting Response
- WebElement selectionTxt = driver.findElement(By.xpath("//slot//div[text()='" + selection + "']"));
- //UtilMethods.clickOn(logger, selectionTxt, "selection");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, selectionTxt, "selection");
- }
- return driver;
- }
- // Validations
-
- public static WebDriver validateDQCResult(WebDriver driver, String path, ExtentTest logger, String excelName,
- String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- if (weakResult.size() > 0) {
- logger.log(LogStatus.PASS, " Deliverability is weak.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateDQCResult");
- logger.log(LogStatus.FAIL, "Deliverability is not weak. " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- int ans = notAnswered.size();
- if (ans == 10) {
- logger.log(LogStatus.PASS, "8 not answered, 2 headings are blank");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateDQCResult");
- logger.log(LogStatus.FAIL, " Answers not marked properly" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- if (overallResult.size() == 1) {
- logger.log(LogStatus.PASS, "Overall Result is blank");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateDQCResult");
- logger.log(LogStatus.FAIL, " Overall Result is not marked properly" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateAttriPerField(WebDriver driver, String path, ExtentTest logger,
- String attrNameValue, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, attrNameValue);
-
- // UtilMethods.clickOn(logger, editLink, "editLink");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, editLink,
- "Edit% Link");
- Thread.sleep(3000);
- List<WebElement> inputValues = driver
- .findElements(By.xpath("//div[@class='slds-modal__content editCard']//div[@lightning-input_input]//input[@aria-label]|//div[@class='slds-modal__content editCard']//div[2]/lightning-input"));
- int values = inputValues.size();
- logger.log(LogStatus.INFO, " Values " + values);
- logger.log(LogStatus.INFO, " rowcount " + rowcount);
-
- Thread.sleep(3000);
- if (rowcount == values) {
- logger.log(LogStatus.PASS, "Value is correct.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "updateAttriPerc");
- logger.log(LogStatus.FAIL, "Value is not correct." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateAttributePerc(WebDriver driver, String path, ExtentTest logger,
- String attrNameValue, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(5000);
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, attrNameValue);
- rowcount = rowcount + 2;
- logger.log(LogStatus.INFO, "row count " + rowcount);
- for (int i = 2; i < rowcount; i++) {
- String attrName = excel.getCellData(sheetName, attrNameValue, i);
- logger.log(LogStatus.INFO, " attrName " + attrName);
- List<WebElement> inputValues = driver
- .findElements(By.xpath("//span[text()='" + attrName + "']//following::span[text()=' 50% ']"));
- logger.log(LogStatus.INFO, " inputValues " + inputValues);
- if (inputValues.size() > 0) {
- logger.log(LogStatus.PASS, "% Value is correct.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateAttributePerc");
- logger.log(LogStatus.FAIL, "% Value is not correct." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- return driver;
- }
- public static WebDriver validateErrorMsg(WebDriver driver, String path, ExtentTest logger, String errorMsg,
- String excelName, String sheetName, int row) throws InterruptedException {
-
- excel(excelName);
- Thread.sleep(2000);
-
- String ErrorMsg;
- ErrorMsg = excel.getCellData(sheetName, errorMsg, row);
- // MethodFactory.clickTheRespectiveButtonByJavaScriptExecutor(driver, path, logger,
- // saveAndContinueButtonOnOppCreatePage, "saveAndContinueButtonOnOppCreatePage");
- driver.manage().window().maximize();
- List<WebElement> errorMessage1 = driver.findElements(By.xpath("//span[contains(text(),'" + ErrorMsg + "')]|//div[text()='"+ErrorMsg + "']"));
- //WebElement errorMessage1 = driver.findElement(By.xpath("//span[contains(text(),'" + ErrorMsg + "')]"));
-
- int size = errorMessage1.size();
-
- logger.log(LogStatus.INFO, "size " + size);
-
- if (size > 0) {// || createPage > 0 ){
- logger.log(LogStatus.PASS, "Proper error msg is displayed:" +ErrorMsg);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Opp Create Function");
- logger.log(LogStatus.FAIL, "Error msg is not displayed correctly" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
-
- return driver;
- }
-
- public static WebDriver validateErrorMsgOnSave(WebDriver driver, String path, ExtentTest logger, String errorMsg,
- String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- Thread.sleep(2000);
- //UtilMethods.clickOn(logger, saveAndContinueButtonOnOppCreatePage, "saveAndContinueButtonOnOppCreatePage clicked");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, saveAndContinueButtonOnOppCreatePage, "saveAndContinueButtonOnOppCreatePage");
- Thread.sleep(1000);
- String ErrorMsg;
- ErrorMsg = excel.getCellData(sheetName, errorMsg, row);
- // List<WebElement> errorMessage1 = driver.findElements(By.xpath("//span[contains(text(),'" + ErrorMsg + "')]"));
- //
- // int size = errorMessage1.size();
- List<WebElement> errorMessage1 = driver.findElements(By.xpath("//span[contains(text(),'" + ErrorMsg + "')]"));
- Thread.sleep(3000);
- int size = errorMessage1.size();
-
- logger.log(LogStatus.INFO, "size " + size);
-
- if (size > 0) {// || createPage > 0 ){
- logger.log(LogStatus.PASS, "Opportunity is not created.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Opp Create Function");
- logger.log(LogStatus.FAIL, "Opportunity is created." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
-
- public static WebDriver validatError(WebDriver driver, String path, ExtentTest logger, String errorMsg,
- String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- Thread.sleep(2000);
- //UtilMethods.clickOn(logger, saveAndContinueButtonOnOppCreatePage, "saveAndContinueButtonOnOppCreatePage clicked");
- // UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, saveAndContinueButtonOnOppCreatePage, "saveAndContinueButtonOnOppCreatePage");
- Thread.sleep(1000);
- String ErrorMsg;
- ErrorMsg = excel.getCellData(sheetName, errorMsg, row);
- //List<WebElement> errorMessage1 = driver.findElements(By.xpath("//span[contains(text(),'" + ErrorMsg + "')]"));
- List<WebElement> errorMessage1 = driver.findElements(By.xpath("//div[@class='viewport' and @aria-hidden='false' ]//div[contains(@class,'active')]//span[contains(text(),'" + ErrorMsg + "')]]"));
- int size = errorMessage1.size();
- logger.log(LogStatus.INFO, "size " + size);
-
- if (size > 0) {// || createPage > 0 ){
- logger.log(LogStatus.PASS, "Opportunity is not created.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Opp Create Function");
- logger.log(LogStatus.FAIL, "Opportunity is created." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateDQCResultAfterOppCreation(WebDriver driver, String path, ExtentTest logger,
- String delValue, String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- String ErrorMsg;
- Thread.sleep(5000);
- int size = grayResult.size();
- String deliverability = excel.getCellData(sheetName, delValue, row);
- Thread.sleep(3000);
- if (size == 3) {
- logger.log(LogStatus.PASS, "DQC is correct on created Opportunity.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Opp Create Function");
- logger.log(LogStatus.FAIL, "DQC is not correct on created Opportunity." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- List<WebElement> delvalue = driver.findElements(By.xpath("//table//td//img[@alt='" + deliverability + "']"));
- if (delvalue.size() == 1) {
- logger.log(LogStatus.PASS, "DQC Value is correct on created Opportunity.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Opp Create Function");
- logger.log(LogStatus.FAIL,
- "DQC Value is not correct on created Opportunity." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateRevenue(WebDriver driver, String path, ExtentTest logger, String ssgValue,
- String revenueValue, String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- Thread.sleep(5000);
- String ssg = excel.getCellData(sheetName, ssgValue, row);
- String revenue = excel.getCellData(sheetName, revenueValue, row);
- List<WebElement> totRevenue = driver
- .findElements(By.xpath("//a[text()='" + ssg + "']//ancestor::tr//span[text()='" + revenue + "']"));
- if (totRevenue.size() == 1) {
- logger.log(LogStatus.PASS, "Revenue is correct on created Opportunity.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateRevenue");
- logger.log(LogStatus.FAIL, "Revenue is not correct on created Opportunity." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateErrorMsgForRevenue(WebDriver driver, String path, ExtentTest logger,
- String errorMsg, String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- String ErrorMsg;
- Thread.sleep(3000);
- ErrorMsg = excel.getCellData(sheetName, errorMsg, row);
- List<WebElement> errorMessage1 = driver.findElements(By.xpath("//div[text()='" + ErrorMsg + "']"));
- int size = errorMessage1.size();
- if (size > 0) {
- logger.log(LogStatus.PASS, "Revenue is not correct.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Revenue is correct.");
- logger.log(LogStatus.FAIL, "Revenue is correct." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateSaveBtnEnabled(WebDriver driver, String path, ExtentTest logger, String excelName,
- String sheetName, int row) throws InterruptedException {
- List<WebElement> btnSize = driver.findElements(By.xpath("//button[text()='Save & Continue']"));
- int size = btnSize.size();
- if (size > 0) {
- logger.log(LogStatus.PASS, "Save Button is enabled");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateSaveBtnEnabled");
- logger.log(LogStatus.FAIL, "Save Button is Disabled" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateSaveBtnDisabled(WebDriver driver, String path, ExtentTest logger, String excelName,
- String sheetName, int row) throws InterruptedException {
- List<WebElement> btnSize = driver
- .findElements(By.xpath("//button[@disabled]//following::button[text()='Save & Continue']"));
- int size = btnSize.size();
- if (size > 0) {
- logger.log(LogStatus.PASS, "Button Disabled");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateSaveBtnDisabled");
- logger.log(LogStatus.FAIL, "Button enabled" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateNumberOfSSGsCanBeAdded(WebDriver driver, String path, ExtentTest logger)
- throws InterruptedException {
- for (int i = 1; i < 4; i++) {
- if (ssgAddBtn.isEnabled()) {
- Thread.sleep(2000);
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, ssgAddBtn, "ssgAddBtn");
- logger.log(LogStatus.INFO, "Clicked " + i);
- Thread.sleep(2000);
- Actions mouseHover = new Actions(driver);
- mouseHover.moveToElement(cancelButtonInEditFinancialPage);
- }
- }
- Thread.sleep(3000);
- if (ssgAddButton.size() > 0) {
- TS = TakeScreenshot.CaptureScreen(driver, "Add Button is present");
- logger.log(LogStatus.FAIL, "Add Button is still present" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- } else {
- logger.log(LogStatus.PASS, "Add Button is not present");
- S_ASSERT.assertTrue(true);
- }
- Thread.sleep(2000);
- UtilMethods.clickOn(logger, delete2ndSSG, "deleteSSG");
- Thread.sleep(2000);
- UtilMethods.clickOn(logger, oKButtonSubmitForApproval, "oKButtonSubmitForApproval");
- Thread.sleep(2000);
- if (ssgAddButton.size() == 1) {
- logger.log(LogStatus.PASS, "Add Button is present");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Add Button is not present");
- logger.log(LogStatus.FAIL, "Add Button is not present" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateMessageOnPg2(WebDriver driver, String path, ExtentTest logger, String textMsg,
- String excelName, String sheetName, int row) throws InterruptedException {
- Thread.sleep(10000);
- UtilMethods.clickOn(logger, previousStepButton, "previousStepButton");
- String txtMsg = excel.getCellData(sheetName, textMsg, row);
- List<WebElement> text = driver.findElements(By.xpath("//div[text()='" + txtMsg + "']"));
- if (text.size() == 1) {
- logger.log(LogStatus.PASS, "Correct Message is present");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateMessageOnPg2");
- logger.log(LogStatus.FAIL, "Correct Message is not present" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validatePlaceholderText(WebDriver driver, String path, ExtentTest logger, String FieldName,
- String FieldValue, String FieldName2, String FieldValue2, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, FieldName);
- String fieldValue2 = excel.getCellData(sheetName, FieldValue2, row);
- String fieldName2 = excel.getCellData(sheetName, FieldName2, row);
- rowcount = rowcount + 2;
- for (int i = 2; i < rowcount; i++) {
- String fieldValue = excel.getCellData(sheetName, FieldValue, i);
- String fieldName = excel.getCellData(sheetName, FieldName, i);
- List<WebElement> text = driver.findElements(By.xpath(
- "//label[text()='" + fieldName + "']//ancestor::div//input[@placeholder='" + fieldValue + "']|//label[text()='" + fieldName + "']//ancestor::div//div[text()='" + fieldValue + "']|//div[text()='" + fieldValue + "']"));
- int size = text.size();
- if (size == 1) {
- logger.log(LogStatus.PASS, "Placeholder Text is Present as expected in " + fieldName);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Placeholder Text is not as expected.");
- logger.log(LogStatus.FAIL,
- "Placeholder Text is not as expected." + fieldName + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- List<WebElement> text2 = driver.findElements(By.xpath(
- "//span[text()='" + fieldName2 + "']//ancestor::div//input[@placeholder='" + fieldValue2 + "']|//div[text()='" + fieldValue2 + "']"));
- int size = text2.size();
- if (size == 1) {
- logger.log(LogStatus.PASS, "Placeholder Text is Present as expected in " + fieldName2);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Placeholder Text is not as expected.");
- logger.log(LogStatus.FAIL,
- "Placeholder Text is not as expected." + fieldName2 + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateCRName(WebDriver driver, String path, ExtentTest logger, String CRName,
- String excelName, String sheetName, int row) throws InterruptedException {
-
- excel(excelName);
-
- String crName = excel.getCellData(sheetName, CRName, row);
-
- List<WebElement> crname = driver.findElements(By.xpath("//input[contains(@placeholder,'" + crName + "')]"));
- int size = crname.size();
-
- if (size == 1) {
- logger.log(LogStatus.PASS, "CR is Present as expected.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "CR is not as expected.");
- logger.log(LogStatus.FAIL, "CR is not as expected." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
-
- return driver;
- }
-
- public static WebDriver validateOppInRelaetdList(WebDriver driver, String path, ExtentTest logger, String oppName,
- String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- String OppName = excel.getCellData(sheetName, oppName, row);
- UtilMethods.waitTillElementIsVisible(logger, driver, oppRelatedList);
- //UtilMethods.clickOn(logger, oppRelatedList, "oppRelatedList is clicked");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, oppRelatedList, "oppRelatedList is clicked");
- Thread.sleep(5000);
-
- List<WebElement> OppNameInRL = driver.findElements(By.xpath("//a[text()='" + OppName + "']|//a//span/slot[text()='" + OppName + "']"));
- Thread.sleep(5000);
- int size = OppNameInRL.size();
- System.out.println(size);
- if (size > 0) {
- logger.log(LogStatus.PASS, "Opp is Present as expected.");
- S_ASSERT.assertTrue(true);
- } else {
- UtilMethods.clickOn(logger, oppColumnonCR, "opp column on CR is clicked");
- List<WebElement> OppNameInRL1 = driver.findElements(By.xpath("//a[text()='" + OppName + "']"));
- Thread.sleep(5000);
- int size1 = OppNameInRL1.size();
- System.out.println(size1);
- if (size1 > 0) {
- logger.log(LogStatus.PASS, "Opp is Present as expected.");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Opp is not present.");
- logger.log(LogStatus.FAIL, "Opp is not present as expected." + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }}
- return driver;
- }
- public static WebDriver validateFieldsOnPage1(WebDriver driver, String path, ExtentTest logger, String fieldNames,
- String ISS, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- logger.log(LogStatus.INFO, "Validating fields function");
- Thread.sleep(5000);
- int rowcount = excel.getColumnRowCount(sheetName, fieldNames);
- rowcount = rowcount + 2;
- logger.log(LogStatus.INFO, "rowcount " + rowcount);
-
- Thread.sleep(7000);
- for (int i = 2; i < rowcount; i++) {
- String fieldValue = excel.getCellData(sheetName, fieldNames, i);
- List<WebElement> fields = driver.findElements(
- By.xpath("(//div[@class='slds-p-horizontal_medium']//label[text()='" + fieldValue + "'])[1]"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, "Field is visible on UI " + fieldValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateFieldsOnPage1" + fieldValue);
- logger.log(LogStatus.FAIL, "Field is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- String ISSfield = excel.getCellData(sheetName, ISS, row);
- List<WebElement> fields = driver
- .findElements(By.xpath("//div[@class='slds-p-horizontal_medium']//span[text()='" + ISSfield + "']"));
- if (fields.size() > 0) {
- logger.log(LogStatus.PASS, "ISS Field is visible on UI ");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateFieldsOnPage1");
- logger.log(LogStatus.FAIL, "Field is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateFieldsOnPage2(WebDriver driver, String path, ExtentTest logger, String fieldNames,
- String fieldName2, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(3000);
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, fieldNames);
- rowcount = rowcount + 2;
- for (int i = 2; i < rowcount; i++) {
- String fieldValue = excel.getCellData(sheetName, fieldNames, i);
- List<WebElement> fields = driver.findElements(
- By.xpath("//div[@class='slds-p-horizontal_medium']//label[text()='" + fieldValue + "']"));
- if (fields.size() > 0) {
- logger.log(LogStatus.PASS, "Field is visible on UI " + fieldValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateFieldsOnPage2" + fieldValue);
- logger.log(LogStatus.FAIL, "Field is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- String fieldValue2 = excel.getCellData(sheetName, fieldName2, row);
- List<WebElement> field2 = driver
- .findElements(By.xpath("//div[@class='slds-p-horizontal_medium']//span[text()='" + fieldValue2 + "']"));
- if (field2.size() > 0) {
- logger.log(LogStatus.PASS, "Field is visible on UI " + fieldValue2);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateFieldsOnPage2" + fieldValue2);
- logger.log(LogStatus.FAIL, "Field is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateAstrikOnFields(WebDriver driver, String path, ExtentTest logger, String fieldNames,
- String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, fieldNames);
- rowcount = rowcount + 2;
- for (int i = 2; i < rowcount; i++) {
- String fieldValue = excel.getCellData(sheetName, fieldNames, i);
- List<WebElement> fields = driver
- .findElements(By.xpath("//abbr[text()='*']//following::label[text()='" + fieldValue + "']|//div[.//abbr[text()='*']]//label[text()='" + fieldValue + "']"));
- Thread.sleep(2000);
- if (fields.size() > 0) {
- logger.log(LogStatus.PASS, " * is visible on UI " + fieldValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateAstrikOnFields" + fieldValue);
- logger.log(LogStatus.FAIL, "* is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- return driver;
- }
- public static WebDriver validateTextOnISS(WebDriver driver, String path, ExtentTest logger, String textISS,
- String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- String fieldValue = excel.getCellData(sheetName, textISS, row);
- List<WebElement> fields = driver.findElements(By.xpath("//input[@placeholder='" + fieldValue + "']|//div[text()='" + fieldValue + "']"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, "Correct Text is visible on UI for ISS");
- System.out.print("Correct Text is visible on UI for ISS");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "textOnISS");
- logger.log(LogStatus.FAIL, " Text is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateTextOnPage2(WebDriver driver, String path, ExtentTest logger, String textPage2,
- String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(15000);
- excel(excelName);
- String textValue = excel.getCellData(sheetName, textPage2, row);
- List<WebElement> fields = driver.findElements(By.xpath("//div[text()='" + textValue + "']|//p[contains(text(),'" + textValue + "')]"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct Text is visible on UI on Page 2");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnPage2");
- logger.log(LogStatus.FAIL, "Correct Text is not visible on UI " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateFieldsDisabled(WebDriver driver, String path, ExtentTest logger,
- String NumDisabledField, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(5000);
- excel(excelName);
- int size = disabledFields.size();
- String fieldValue = excel.getCellData(sheetName, NumDisabledField, row);
- int num = Integer.parseInt(fieldValue);
- if (size == num) {
- logger.log(LogStatus.PASS, "All required fields are disabled on Size Page while returning");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateFieldsDisabled");
- logger.log(LogStatus.FAIL, "Fields are not disabled " + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateHelpTextOnPage1(WebDriver driver, String path, ExtentTest logger, String fieldName,
- String helpTxt, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, helpTxt);
- rowcount = rowcount + 2;
- for (int i = 2; i < rowcount; i++) {
- String fieldValue = excel.getCellData(sheetName, helpTxt, i);
- String fieldNames = excel.getCellData(sheetName, fieldName, i);
- String strXpath = "//label[text()='" + fieldNames + "']//ancestor::div[@class='field-height']//lightning-helptext";
- WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(1000));
- WebElement element=wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(strXpath)));
- UtilMethods.verifyElementPresent(logger, driver, driver.findElements(By.xpath(strXpath)));
-
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
- UtilMethods.clickOn(logger, element, "Field Name Clicked");
- Thread.sleep(2000);
- List<WebElement> fields = driver.findElements(By.xpath("//div[text()='" + fieldValue + "']"));
-
- if (fields.size() > 0) {
- logger.log(LogStatus.PASS, "Expected Help Text is Present " + fieldValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateHelpTextOnOpps");
- logger.log(LogStatus.FAIL,
- "Expected Help Text is not Present " + fieldValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- return driver;
- }
-
- public static WebDriver validateThePageName(WebDriver driver, String path, ExtentTest logger, String pageName,
- String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- excel(excelName);
- String pgName = excel.getCellData(sheetName, pageName, row);
- List<WebElement> page = driver.findElements(By.xpath("//li[contains(@aria-label,'" + pgName + "Current.')]|//li[contains(@aria-label,'Current.')]"));
- logger.log(LogStatus.INFO, "Page Name is correct " + page);
- System.out.println("Page Name is correct" +page);
- if (page.size() == 1) {
- logger.log(LogStatus.PASS, "Page Name is correct" + pgName);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateThePageName");
- logger.log(LogStatus.FAIL, "Page Name is not correct " + pgName + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateTextOnQualifyPg(WebDriver driver, String path, ExtentTest logger,
- String headingQues, String secondaryQues, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(15000);
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, headingQues);
- rowcount = rowcount + 2;
- logger.log(LogStatus.INFO, "rowcount " + rowcount);
- for (int i = 2; i < rowcount; i++) {
- String textValue = excel.getCellData(sheetName, headingQues, i);
- List<WebElement> fields = driver.findElements(
- By.xpath("//div[@c-oppcreatedqclineitem_oppcreatedqclineitem]//span[text()='" + textValue + "']"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct headingQues is visible on UI on Qualify Page" + textValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct headingQues is not visible on UI " + textValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- int rowcount2 = excel.getColumnRowCount(sheetName, secondaryQues);
- rowcount2 = rowcount2 + 2;
- for (int i = 2; i < rowcount2; i++) {
- String textValue = excel.getCellData(sheetName, secondaryQues, i);
- List<WebElement> fields = driver.findElements(
- By.xpath("//div[@c-oppcreatedqclineitem_oppcreatedqclineitem]//span[text()='" + textValue + "']"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct secondaryQues is visible on UI on Qualify Page" + textValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg - secondaryQues");
- logger.log(LogStatus.FAIL,
- "Correct secondaryQues is not visible on UI " + textValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- return driver;
- }
- public static WebDriver validateResponseTextForDQC(WebDriver driver, String path, ExtentTest logger,
- String headingQues, String responseHeading, String strong, String moderate, String weak, String excelName,
- String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(10000);
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, headingQues);
- rowcount = rowcount + 2;
- for (int i = 2; i < rowcount; i++) {
- String headingValue = excel.getCellData(sheetName, headingQues, i);
- String responseValue = excel.getCellData(sheetName, responseHeading, i);
- String strongValue = excel.getCellData(sheetName, strong, i);
- String moderateValue = excel.getCellData(sheetName, moderate, i);
- String weakvalue = excel.getCellData(sheetName, weak, i);
- WebElement field1 = driver.findElement(By
- .xpath("//div[@c-oppcreatedqclineitem_oppcreatedqclineitem]//span[text()='" + headingValue + "']"));
- //UtilMethods.clickOn(logger, field1, "textValue");
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, field1, "textValue");
- Thread.sleep(5000);
- // Validating Response Heading
- List<WebElement> response = driver.findElements(By.xpath("//slot//div[text()='" + responseValue + "']"));
- if (response.size() == 1) {
- logger.log(LogStatus.PASS, " Correct responseHeading is visible on UI on Qualify Page " + responseValue );
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct responseHeading is not visible on UI " + responseValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- // Validating Strong text
- List<WebElement> strongTxt = driver.findElements(By.xpath("//slot//div[text()='" + strongValue + "']"));
- if (strongTxt.size() == 1) {
- logger.log(LogStatus.PASS, " Correct strongTxt is visible on UI on Qualify Page " + strongValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct strongTxt is not visible on UI " + strongValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- // Validating Moderate Text
- List<WebElement> modTxt = driver.findElements(By.xpath("//slot//div[text()='" + moderateValue + "']"));
- if (modTxt.size() == 1) {
- logger.log(LogStatus.PASS, " Correct modTxt is visible on UI on Qualify Page " + moderateValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct modTxt is not visible on UI " + moderateValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- // Validating Weak text
- logger.log(LogStatus.INFO, "Weak value " + weakvalue);
- if (weakvalue.equals(
- "The client's budget and pricing expectations are not in line with the price we are proposing. We are not confident we can shift their expectations.")) {
- String weakData[] = weakvalue.split("'");
- logger.log(LogStatus.INFO, "Weak value 1 " + weakData[0]);
- logger.log(LogStatus.INFO, "Weak value 2 " + weakData[1]);
- List<WebElement> fields = driver.findElements(By.xpath("//slot//div[contains(text(),'" + weakData[0]
- + "') and contains(text(),'" + weakData[1] + "')]"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct weakvalue is visible on UI on Qualify Page" + weakvalue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct weakvalue is not visible on UI " + weakvalue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- } else {
- List<WebElement> weakTxt = driver.findElements(By.xpath("//slot//div[text()='" + weakvalue + "']"));
- if (weakTxt.size() == 1) {
- logger.log(LogStatus.PASS, " Correct weakvalue is visible on UI on Qualify Page");
- S_ASSERT.assertTrue(true);
- } else {
- if(weakvalue.equals(
- "The client has a negative view of our services, we are not well differentiated, and/or has had a bad experience with our work in the past. Or, we do not know.")) {
- List<WebElement> weakTxt1 = driver.findElements(By.xpath("//slot//div[contains(text(),'The client has a negative view of our services, we are not well differentiated, and/or has had a bad experience with our work in the past.')]"));
- if (weakTxt1.size() == 1) {
- logger.log(LogStatus.PASS, " Correct weakvalue is visible on UI on Qualify Page" + weakvalue);
- S_ASSERT.assertTrue(true);}}
- else{
- TS = TakeScreenshot.CaptureScreen(driver, "validateTextOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct weakvalue is not visible on UI " + weakvalue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- }
- }
- Thread.sleep(5000);
- return driver;
- }
- public static WebDriver validateHeadingsOnQualifyPg(WebDriver driver, String path, ExtentTest logger,
- String heading, String overallHeading, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(25000);
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, heading);
- System.out.println(rowcount);
- rowcount = rowcount + 2;
- logger.log(LogStatus.INFO, "The size of rowcount is: " + rowcount);
- for (int i = 2; i < rowcount; i++) {
- String textValue = excel.getCellData(sheetName, heading, i);
- List<WebElement> fields = driver
- .findElements(By.xpath("//div[@class='overallContainer']//h2[text()='" + textValue + "']"));
- System.out.println(fields.size());
- if (fields.size() == 1) {
- logger.log(LogStatus.INFO, "The size of fields is: " + fields.size());
- logger.log(LogStatus.PASS, " Correct Heading is visible on Qualify Page" + textValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateHeadingsOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct Heading is not visible on Qualify Page " + textValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- String textValue = excel.getCellData(sheetName, overallHeading, 2);
- List<WebElement> fields = driver
- .findElements(By.xpath("//div[@class='overallContainer']//span[text()='" + textValue + "']"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct overallHeading is visible on Qualify Page" + textValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateHeadingsOnQualifyPg" + textValue);
- logger.log(LogStatus.FAIL,
- "Correct overallHeading is not visible on Qualify Page " + textValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
-
- public static WebDriver addISSafterOppCreate(WebDriver driver, String path, ExtentTest logger,
- String issValue, String overallHeading, String excelName, String sheetName, int row)
- throws InterruptedException, EncryptedDocumentException, InvalidFormatException, IOException {
- Thread.sleep(25000);
- excel(excelName);
- int rowcount = excel.getColumnRowCount(sheetName, issValue);
-
- for (int i = 0; i < rowcount; i++)
- {
- String textValue = excel.getCellData(sheetName, issValue, i);
- List<WebElement> fields = driver
- .findElements(By.xpath("//div[@class='overallContainer']//h2[text()='" + textValue + "']"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct Heading is visible on Qualify Page" + textValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateHeadingsOnQualifyPg");
- logger.log(LogStatus.FAIL,
- "Correct Heading is not visible on Qualify Page " + textValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- }
- String textValue = excel.getCellData(sheetName, overallHeading, 2);
- List<WebElement> fields = driver
- .findElements(By.xpath("//div[@class='overallContainer']//span[text()='" + textValue + "']"));
- if (fields.size() == 1) {
- logger.log(LogStatus.PASS, " Correct overallHeading is visible on Qualify Page" + textValue);
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateHeadingsOnQualifyPg" + textValue);
- logger.log(LogStatus.FAIL,
- "Correct overallHeading is not visible on Qualify Page " + textValue + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- //Created by Neeraja
- public static WebDriver CreateDuplicateTab(WebDriver driver, ExtentTest logger) throws InterruptedException {
- String currentURL = driver.getCurrentUrl();
- ((JavascriptExecutor) driver).executeScript("window.open('" + currentURL + "');");
- Thread.sleep(2000);
- logger.log(LogStatus.PASS, "Duplicate tab is created");
- System.out.println("Duplicate tab is created");
- return driver;
- }
- //Created by Neeraja
- public static WebDriver validateArrowsEnabled(WebDriver driver, String path, ExtentTest logger,
- WebElement forwardArrow,WebElement BackwardArrow, String sheetName, int row) throws InterruptedException {
- if(forwardArrow.isEnabled() && BackwardArrow.isEnabled()) {
- logger.log(LogStatus.PASS, "Both Arrows are enabled" );
- S_ASSERT.assertTrue(true);
- }
- else {
- String TS = TakeScreenshot.CaptureScreen(driver, "Both Arrows are not present");
- logger.log(LogStatus.FAIL, "Both Arrows are not present" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
-
- //Created by Neeraja
- public static WebDriver validateCRDisabled(WebDriver driver, String path, ExtentTest logger, String excelName,
- String sheetName, int row) throws InterruptedException {
- List<WebElement> btnSize = driver
- .findElements(By.xpath("//button[@disabled]//following::label[text()='Customer Relationship']"));
- int size = btnSize.size();
- if (size > 0) {
- logger.log(LogStatus.PASS, "CR field Disabled");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "validateCRFieldDisabled");
- logger.log(LogStatus.FAIL, "CR field enabled" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver validateOnsaveMsg(WebDriver driver, String path, ExtentTest logger,
- String errorMsg, String excelName, String sheetName, int row) throws InterruptedException {
- excel(excelName);
- String ErrorMsg;
- Thread.sleep(3000);
- ErrorMsg = excel.getCellData(sheetName, errorMsg, row);
- List<WebElement> errorMessage1 = driver.findElements(By.xpath("//div[text()='" + ErrorMsg + "']"));
- int size = errorMessage1.size();
- if (size > 0) {
- logger.log(LogStatus.PASS, "On-save validation is present");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "On-save validation is not present");
- logger.log(LogStatus.FAIL, "On-save validation is not present" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
- public static WebDriver RemoveISS(WebDriver driver, String path, ExtentTest logger, String excelName,
- String sheetName, int row) throws InterruptedException {
- List<WebElement> removeISS= driver
- .findElements(By.xpath("//span[contains(@aria-label,'remove')]"));
- if (removeISS.size() == 1) {
- UtilMethods.clickOn(logger, removeISS.get(0), "Remove ISS");
- logger.log(LogStatus.PASS, "ISS values deleted");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Remove ISS");
- logger.log(LogStatus.FAIL, "ISS is not deleted" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }
- return driver;
- }
-
- public static WebDriver ValidateISSIsBlank(WebDriver driver, String path, ExtentTest logger,
- String charAttribute,String excelName, String sheetName, int row)
- throws InterruptedException, IOException, EncryptedDocumentException, InvalidFormatException {
- excel(excelName);
- int rowCount = excel.getColumnRowCount(sheetName, charAttribute);
-
- System.out.println("rowCount is "+rowCount);
- logger.log(LogStatus.INFO, "Total number of rows:" + rowCount);
- MethodFactory.clickTheRespectiveButtonByJavaScriptExecutor(driver, path, logger,
- rt_OpportunityClonePage.attributesLinkOnOppPage, "Attributes page");
- Thread.sleep(2000);
- MethodFactory.switchBetweenTabs(driver, path, logger, 1);
-
- UtilMethods.waitTillElementIsVisible(logger, driver, cancelButtonOnAttributePage);
- for (int i = 0; i < rowCount; i++) {
- String charAttributeData = excel.getCellData(sheetName, charAttribute, row);
- String CategoryVar=null;
-
- //For finding the category name we are writing this If condition
- if (charAttributeData.equalsIgnoreCase("Industry Offerings")||charAttributeData.equalsIgnoreCase("Industry Sub Segment")) {
- CategoryVar="Industry";
- System.out.println("CategoryVar is "+CategoryVar);
- }else if (charAttributeData.equalsIgnoreCase("Accenture Products, Platforms & Assets")||charAttributeData.equalsIgnoreCase("Alliances")||charAttributeData.equalsIgnoreCase("Blockchain")||charAttributeData.equalsIgnoreCase("CEO & Enterprise Strategy")||charAttributeData.equalsIgnoreCase("Cloud")||charAttributeData.equalsIgnoreCase("Data & AI")||charAttributeData.equalsIgnoreCase("Mergers & Acquisitions")||charAttributeData.equalsIgnoreCase("Metaverse")||charAttributeData.contains("SSG")) {
-
- CategoryVar="Cross Services";
- System.out.println("CategoryVar is "+CategoryVar);
- }else if (charAttributeData.equalsIgnoreCase("Industry X")||charAttributeData.equalsIgnoreCase("Song")||charAttributeData.equalsIgnoreCase("Security")){
-
- CategoryVar="Services";
- System.out.println("CategoryVar is "+CategoryVar);
- }else if (charAttributeData.equalsIgnoreCase("CFO & Enterprise Value")||charAttributeData.equalsIgnoreCase("Supply Chain & Operations")||charAttributeData.equalsIgnoreCase("Talent & Organization")||charAttributeData.equalsIgnoreCase("Tech Strategy & Advisory")||charAttributeData.equalsIgnoreCase("Sustainability Services")){
-
- CategoryVar="Enterprise Functions";
- System.out.println("CategoryVar is "+CategoryVar);
- }else if (charAttributeData.equalsIgnoreCase("Solutions")||charAttributeData.equalsIgnoreCase("Assets")){
-
- CategoryVar="Solutions & Assets";
- System.out.println("CategoryVar is "+CategoryVar);
- }
-
- String strXpath1 = "//div[text()='" + CategoryVar+ "']";
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger,
- driver.findElement(By.xpath(strXpath1)), CategoryVar);
-
- if (ExpandAllButton.size()==1) {
- UtilMethods.clickTheRespectiveButtonByJavaScriptExecutor(driver, logger, ExpandAllButton.get(0),
- charAttributeData + " Expand All");
- Thread.sleep(3000);
- }
-
- List<WebElement> crossIconAttributePage1 = driver.findElements(By.xpath(
- "//div[contains(text(),'" +charAttributeData+ "')]/preceding-sibling::lightning-icon/ancestor::details//span[contains(@class,'remove')]"));
-
- if (crossIconAttributePage1.size() ==0) {
- logger.log(LogStatus.PASS, "ISS values deleted");
- S_ASSERT.assertTrue(true);
- } else {
- TS = TakeScreenshot.CaptureScreen(driver, "Attribute is present");
- logger.log(LogStatus.FAIL, "Attribute is present" + logger.addScreenCapture(TS));
- S_ASSERT.assertTrue(false);
- }}
- return driver;
-
-
- }
- public static WebDriver validateSellingCountryValue(WebDriver driver, String path, ExtentTest logger,
- String fieldValue,String excelName, String sheetName, int row) throws InterruptedException {
-
- excel(excelName);
-
- String fieldValueData = excel.getCellData(sheetName, fieldValue, row);
-
- WebElement SellingCountry1 = driver.findElement(By.xpath("//label[text()='Selling Country/Location']//ancestor::lightning-picklist//span[contains(text(),'" + fieldValueData+ "')]"));
- String UIValue = SellingCountry1.getText();
-
-
- if (UIValue.equals(fieldValueData)) {
- String TS = TakeScreenshot.CaptureScreen(driver, "validateSellingCountryFieldValue");
- logger.log(LogStatus.PASS, "Field Value is as expected:--excel data is:--"
- + fieldValueData + "---UI Data is :--" + SellingCountry1.getText()
- + logger.addScreenCapture(TS));
- System.out.println("PASS--->Field Value is as expected:--excel data is:--"
- + fieldValueData + "---UI Data is :--" + SellingCountry1.getText()+"---");
-
- S_ASSERT.assertTrue(true);
- } else {
-
- logger.log(LogStatus.FAIL,
- "Field value is not as expected: --excel data is:--"
- + fieldValueData + "---UI Data is :--" + SellingCountry1.getText()
- + logger.addScreenCapture(TS));
- System.out.println("Fail--->Field Value is not as expected:--:--excel data is:--"
- + fieldValueData + "---UI Data is :--" + SellingCountry1.getText() + "---");
-
- S_ASSERT.assertTrue(false);
- }
-
- return driver;
- }}
|