Package core.helpers
Class Helper
java.lang.Object
core.helpers.Helper
- Direct Known Subclasses:
Helper
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic ClickHelperstatic ClickHelperActionstatic ClickHelperJsstatic CsvHelperstatic DateHelperstatic FormHelperstatic ImageProcessingHelperstatic ListHelperstatic Loginbuilderstatic MobileHelperstatic PageHelperstatic ReportPortalHelperstatic VerifyHelperstatic WaitHelperstatic Helper -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringaccepts alert by selecting ok or cancelstatic voidaddFileToZip(String path, String srcFile, ZipOutputStream zip) static voidappendToFile(String value, String absolutePath) appends to existing filestatic voidappendToFile(String value, String directory, String filename, String type) appends to existing filestatic voidassertContains(String expected, String actual) assert actual contains expectedstatic voidassertEquals(boolean expected, boolean actual) assert expected equals actualstatic voidassertEquals(int expected, int actual) assert expected equals actualstatic voidassertEquals(String expected, String actual) assert expected equals actualstatic voidassertFalse(String message) static voidassertTrue(String message, boolean value) assert truestatic voidbrings current browser to frontstatic EnhancedBybyAccessibility(String element, String name) gets element by accessibility idstatic EnhancedBygets element by css valuestatic EnhancedBygets element by idstatic EnhancedBygets element by xpathstatic voidcaptures screenshot And attaches to extent test reportstatic voidclearAndSetField(EnhancedBy field, int index, CharSequence... value) sets field clears field before setting the valuestatic voidclearAndSetField(EnhancedBy field, CharSequence... value) sets field clears field before setting the valuevoidclick(EnhancedBy target, int index) click without waitingstatic voidclickAndExpect(EnhancedBy target, int index, EnhancedBy expected) clicks element based on index And waits for expected element to be displayedstatic voidclickAndExpect(EnhancedBy target, int index, EnhancedBy expected1, EnhancedBy expected2) clicks target And wait for one the 2 expected elements to appearstatic voidclickAndExpect(EnhancedBy target, EnhancedBy expected) clicks target And waits for expected element to display retries 10 timesstatic voidclickAndExpect(EnhancedBy target, EnhancedBy expected, boolean isMobileRefresh) clicks target And waits for expected element to display retries 10 timesstatic voidclickAndExpect(EnhancedBy target, EnhancedBy expected, EnhancedBy spinner) clicks target And waits for expected element to show up also waits for spinner element to be removed from displaystatic voidclickAndExpect(EnhancedBy target, String text, EnhancedBy expected) click And expect based on the text value on the element.voidclickAndExpectContainsByText(EnhancedBy target, String text, EnhancedBy expected) click And expect based on the text value on the element.static voidclickAndHold(EnhancedBy target, double seconds) click And hold elementstatic voidclickAndHold(EnhancedBy target, int index, double seconds) click And hold based on element indexstatic voidclickAndNotExpect(EnhancedBy target, int index, EnhancedBy expected) static voidclickAndNotExpect(EnhancedBy target, EnhancedBy expected) clicks target And waits for expected to not be displayed retries 10 timesstatic voidclickAndWait(EnhancedBy target, double timeInSeconds) clicks target And waits for secondsstatic voidclickAndWait(EnhancedBy target, int index, double timeInSeconds) clicks target And waits for secondsstatic voidclickElementContinsByText(EnhancedBy by, String text) click element with text containingstatic voidclickElementLocationBy(EnhancedBy by, int x, int y) Click on an element's specific x,y locationstatic voidclickPoints(int x, int y) click at position x, ystatic voidclickPointsAndExpect(int x, int y, EnhancedBy expected) click point at x,y coordinates and expect and element to be present retry every 5 seconds for duration of explicit timeoutstatic voidCloseAndReturn(String defaultWindow) close the window And return to the defaultWindowstatic StringconvertListToString(ArrayList<String> list) convert array list to string separated by ","static StringconvertListToString(ArrayList<String> list, String separator) convert array list to string separated by ","static URLconvertToUrl(String url) converts url string to url objectstatic voidcopyDirectory(String dirFrom, String dirTo) Copies directory And all content from dirFrom to dirTo overwrites the contentstatic FilecreateFileFromPath(String absolutePath) create directories and files based on absolute pathstatic ZipOutputStreamstatic Stringreturn the current window handlestatic voiddelete all cookiesstatic voiddeleteCookieNamed(String name) delete cookie namedstatic voiddeleteFile(String absolutePath) delete filestatic Stringdismisses alert by selecting ok or cancel return alert messagestatic voiddoubleClick(EnhancedBy target, int index) double click on elementstatic voidstatic voiddoubleClickPoints(int x, int y) double click at positionstatic voiddragAndDrop(EnhancedBy src, int xOffset, int yOffset) drag And drop from src element to target elementvoiddragAndDrop(EnhancedBy srcParent, int srcParentIndex, EnhancedBy srcChild, int scrChildIndex, EnhancedBy targetParent, int targeParenttIndex, EnhancedBy targetChild, int targetChildIndex) drag And drop from src element to target elementstatic voiddragAndDrop(EnhancedBy src, EnhancedBy target) drag And drop from src element to target elementstatic Stringexcel_getCellData(ExcelObject excel) This method is to read the test data from the Excel cell, in this we are passing parameters as Row num And Col numexcel_getColumData(ExcelObject excel) returns all the column data as array list of stringstatic voidexcel_setCellData(ExcelObject excel) This method is to write in the Excel cell, Row num And Col num are the parametersstatic voidexcel_setCellData(List<ExcelObject> excelObjects) static ExcelObjectexcel_setExcelFile(ExcelObject excel) gets the excel file And the work sheetexecuteCommand(String command) run command and return results as array list will run bash on linux or mac will run batch command on windowsexecuteCommandFromFile(String filePath) run script file and return results as array list will run bash on linux or mac will run batch command on windowsstatic Objectexecute javascriptexecuteJsWithListReturn(String script, Object... args) execute javascriptstatic StringexecuteJsWithStringReturn(String script, Object... args) execute javascriptstatic int[]findElementCoordinates(EnhancedBy target) returns the center coordinates of the target elementprotected static EnhancedWebElementfindElements(EnhancedBy element) finds list of elementsprotected static EnhancedWebElementfindElements(EnhancedBy parent, int parentIndex, EnhancedBy child) finds a list of elements based on parent elementprotected static EnhancedWebElementfindElements(EnhancedBy parent, EnhancedBy child) finds element based on parent elementstatic int[]findMiddleOfElement(EnhancedBy target) returns the center coordinates of the target elementstatic voidformSubmit(EnhancedBy button, EnhancedBy expected) select submit button And wait for expected element to loadstatic voidformSubmit(EnhancedBy button, EnhancedBy expected, EnhancedBy spinner) clicks submit button, wait for element to appear And loading spinner to be removedstatic StringgenerateRandomInteger(int len) generates random int of length lenstatic intgenerateRandomNumber(int min, int max) generates random number between two numbers, min, maxstatic StringgenerateRandomString(int len) generates random string of length lenstatic Stringgenerate uuidstatic StringgenerateUUID(boolean includeDash) generate uuidstatic StringgenerateUUID(int length) generate uuidstatic StringgenerateUUID(int length, boolean includeDash) generate uuidstatic Stringreturns alert message valuegetAllValuesStartringWith(String source, String value) gets a list of string from 'source' starting with 'value'static io.appium.java_client.android.AndroidDriverstatic StringgetAttribute(EnhancedBy byValue, int index, String attribute) gets specified attribute of the element based on indexstatic StringgetAttribute(EnhancedBy byValue, String attribute) gets specified attribute of the elementstatic Stringretrieves the clip board datastatic Stringreturns the current urlstatic doublegetDoubleFromString(String value) get int value from stringstatic doublegetDoubleFromString(String value, boolean isFailOnNoInt) get numeric value from stringstatic intgetElementIndexContainByText(EnhancedBy listValue, String option) retuns index of element in list which contains in textstatic intgetElementIndexEqualsByText(EnhancedBy listValue, String option) returns the index of text value in a liststatic intgetElementIndexInList(EnhancedBy srcList, EnhancedBy target) find the index of the target element in list eg.static org.openqa.selenium.Pointget element position on displaystatic org.openqa.selenium.PointgetElementPosition(EnhancedBy by, int index) get element position on displaystatic org.openqa.selenium.Dimensionreturns element dimensionstatic Fileget file from file pathstatic FilegetFileByName(String path, String filename) get file by namestatic FilegetFileByName(String path, String filename, boolean includeSubDir) get file by namestatic StringgetFileContent(String absolutePath) gets file content as Stringstatic StringgetFileContent(String absolutePath, boolean verifyFileExists) gets file content as StringgetFileList(String directoryPath) returns the list of files in directorygetFileList(String directoryPath, boolean includeSubDir) returns the list of files in directorygetFileListByType(String directoryPath, String type) gets the list of filesgetFileListByType(String directoryPath, String type, boolean includeSubtype) gets the list of filesgetFileListWithSubfolders(String directoryName, String type, List<File> files) gets list of files including from sub folder based on type.getFileListWithSubfolders(String directoryName, List<File> files) gets list of files including from sub folder based on type.static intgetFirstNumber(String value) static StringgetFullPath(String path) gets full path from relative path relative path is from root directory ( where pom.xml file is located )static intgetIntFromString(String value) get numeric value from stringstatic intgetIntFromString(String value, boolean isFailOnNoInt) get numeric value from stringstatic io.appium.java_client.ios.IOSDrivergetLinesInFileContainingWith(String value, File file) get line in file containing stringgetLinesInFileStartingWith(String value, File file) get line in file starting with stringstatic intgetListCount(EnhancedBy listValue) returns the number of elements in listgetListValues(EnhancedBy listValue) returns the list of values in a liststatic intget numeric value from stringstatic Stringgets page sourcestatic Stringreturns the title of the pagestatic Stringget current directorygetRowValuesFromList(EnhancedBy srclist, int index, EnhancedBy rows) returns the list of string values for a row of elementsstatic intgetStringIndexContainByText(List<String> stringList, String option) returns the index of string value in list of stringsstatic intgetStringIndexEqualsByText(List<String> stringList, String option) returns the index of string value in list of stringsgetTableMap(EnhancedBy columns, int columnInitialIndex, EnhancedBy dataRows, int rowInitialIndex, EnhancedBy dataCells, int maxRows) gets hashmap representation of data column with row valuesgetTableMap(EnhancedBy columns, EnhancedBy dataRows, EnhancedBy dataCells) gets hashmap representation of data column with row valuesgetTableMap(EnhancedBy columns, EnhancedBy dataRows, EnhancedBy dataCells, int maxRows) gets hashmap representation of data column with row valuesgetTextList(EnhancedBy listValue) returns the list of values in a liststatic StringgetTextValue(EnhancedBy element) gets the text value from an elementstatic StringgetTextValue(EnhancedBy element, int index) gets the text value from an elementstatic voidnavigate to a different urlstatic StringgetValueFromPattern(String str, String pattern) getValuesFromPattern(String str, String pattern) static org.openqa.selenium.WebDriverget current webdriverstatic voidif single signin enabled, And new test user is different form previous, shutdown webdriver And restartstatic voidhighLightWebElement(EnhancedBy by, int index) highlights the web element use on clicks and send key elementsstatic voidhoverBy(EnhancedBy by) hover over elementstatic voidhoverBy(EnhancedBy by, int index) hover over elementstatic voidhoverPoints(int x, int y) Hover on the x,y pointsvoidinputTextByAction(EnhancedBy by, String text) static booleanis android driverstatic booleanisAttributeContaining(EnhancedBy by, String attribute, String value) returns true if element contains attribute valuestatic booleanreturns if string is booleanbooleanisChrome()static booleanisContainedInList(EnhancedBy listValue, String option) return if element is contained in liststatic booleanisDisplayed(EnhancedBy element) returns true if element is displayedstatic booleanisElementContainingClass(EnhancedBy by, String classValue) returns true if element contains class valuestatic booleanisElementContainingText(EnhancedBy element, String text) returns true if element contains textbooleanisElementEditable(EnhancedBy element) attempts to set text value on element, if not successful, then element is not editablebooleanisElementEditable(EnhancedBy element, int index) attempts to set text value on element, if not successful, then element is not editablestatic booleanisExactMatchInList(EnhancedBy listValue, String option) return if element is an exact match in liststatic booleanisFileContainsString(String value, File file) does file contain the given text valuestatic booleanisFileContainString(String value, File file) does file contain the given text valuebooleanstatic booleanreturns true if browser is iestatic booleanisIOS()is ios driverstatic booleanisMac()returns true if OS is macbooleanstatic booleanreturn if string is a numberstatic booleanisPresent(EnhancedBy element) returns true if element is displayedstatic booleanisProxyRequired(URL url) get proxy state from proxy enabled config values: true, false, auto if auto is set, then through proxy detection, we set value to true or falsebooleanisSafari()static booleanisServerOnline(String url) checks if server is onlinestatic booleanisServerOnline(String url, String proxyUrl) checks if server is onlinestatic booleanisStringContainNumber(String value) does string have numeric valuestatic booleanisStringContainOnlyNumber(String value) does string have only numeric valuestatic booleanisTextDisplayed(String text) is text displayed on pagestatic booleanisUnix()returns true if OS is unix or linuxstatic booleanisUrlAbleToConnect(URL source, Proxy proxy) check if able to connect to source urlstatic booleanis the string value UDIDstatic Booleanreturns true if the element is visible in the current page only for web applicationsstatic BooleanisVisibleInViewport(EnhancedBy by, int index) returns true if the element is visible in the current page only for web applicationsstatic booleanis web driverstatic booleanreturns true if OS is windowsstatic voidkillMacProcess(String serviceName) returns kills the process if runningstatic voidkillWindowsProcess(String serviceName) returns kills the process if runningstatic voidlocalizationLoadJson(String fileName) loads localization map from a json file to the test object datastatic voidlocalizationSetupCsv(String language) sets the language for csv localization filestatic Stringgets local language from json file specified in properties filestatic voidstatic voidstatic voidmaximizes web pagereturns the list of mobile context.static voidhides ios or android keyboardstatic booleanreturns if mobile driver is usedstatic voidmobile_longPress(EnhancedBy target, long miliSeconds) press per retry presses the target elementstatic voidmobile_longPressAndExpect(EnhancedBy target, long miliSeconds, EnhancedBy expected) long press And expect elementstatic voidresets the appstatic voidmobile_scrollToElement(EnhancedBy target) scrolls to mobile element until element is becomes visiblestatic voidmobile_setLocation(org.openqa.selenium.html5.Location location) sets gps location on ios simulatorvoidmobile_swipeDown(double durationInSeconds) swipe down on the screenvoidmobile_swipeDown(EnhancedBy element, int index, double durationInSeconds) swipe down on the screen based on element positionvoidmobile_swipeLeft(double durationInSeconds) swipe right on the screenvoidmobile_swipeLeft(EnhancedBy element, int index, double durationInSeconds) swipe left on the screen based on element positionvoidmobile_swipeRight(double durationInSeconds) swipe right on the screenvoidmobile_swipeRight(EnhancedBy element, int index, double durationInSeconds) swipe right on the screen based on element positionvoidmobile_swipeUp(double durationInSeconds) swipe up on the screenvoidmobile_swipeUp(EnhancedBy element, int index, double durationInSeconds) swipe up on the screen based on element positionstatic voidsets native context for android And ios appsvoidmobile_switchToView(String view) switch to viewstatic voidsets web context for android And ios appsstatic voidwaits for element to load And refreshes the app each time to renew the domstatic voidmobile_waitAndRefreshForElementToLoad(EnhancedBy target, int time) waits for element to load And refreshes the app each time to renew the domstatic voidmobile_zoomIn(int zoomLevel) zoom in based on zoom levels.static voidmobile_zoomIn(EnhancedBy indicator) zooms in And checks if target level indicator has been reachedstatic voidmobile_zoomOut(int zoomLevel) zoom in based on zoom levels.static voidmobile_zoomOut(EnhancedBy indicator) zooms out And checks if target level indicator has been reachedstatic voidmoveToElement(EnhancedBy target, int index) move to element by using actionstatic voidmoveToElement(EnhancedBy target, int index, int xOffset, int yOffset) move to element by using actionstatic voidnavigates backstatic voidnavigate forwardstatic voidnavigateToUrl(String url) navigate to a different urlstatic voidselect enter on androidstatic voidprints page source to consolestatic voidquits all drivers in the current teststatic voidquits the current web driverstatic voidquitDriver(org.openqa.selenium.WebDriver driver) quit driverstatic StringreadFileContent(String absolutePath) gets file content as Stringstatic voidplaces the app in background And Then relaunches itstatic voidreload pagestatic voidgets page sourcestatic StringremoveSurroundingQuotes(String value) remove surrounding double quotes from the stringstatic voidrightClick(EnhancedBy target, int index) right click on element at indexstatic voidrunApiContaining(String identifier, String prefix, String getApi, String targetApiId, String variable, String targerApi) runApiContaining("name", "zzz_","getCompanies", "id","companyId","deleteCompany") get all companies with name containing zzz_, Then gets id of these companies, stores them in companyId variable And calls deleteCompanystatic voidrunApiEquals(String identifier, String value, String getApi, String targetApiId, String variable, String targerApi) runApiEquals("name", "test123","getCompanies", "id","companyId","deleteCompany") get all companies with name equals test123, Then gets id of these companies And calls delete with idstatic ObjectrunInternalClass(String sourcePath, String methodName, List<KeyValue> parameterList) runs method from external classstatic voidstatic voidscroll to bottom of browserstatic voidscrolls down androidstatic voidscroll down the browserstatic voidscrollDownBrowser(int count) scroll down the browserstatic voidscrollToWebElement(EnhancedBy element) scroll to web elementstatic voidscrollToWebElement(EnhancedBy element, int index) scroll to elementstatic voidscroll up the browserstatic voidscrollUpBrowser(int count) scroll up the browserstatic voidsearchAndWaitForResults(String searchQuery, EnhancedBy byTarget, EnhancedBy spinner) enters value into the search field And selects enter waits for the loading spinner to be removedstatic voidselectCheckBox(EnhancedBy button, boolean isSelect) selects checkbox based on by valuestatic voidselectDropDown(int index, EnhancedBy field, EnhancedBy listValue) select drop down by index from the drop down liststatic voidselectDropDown(EnhancedBy field, EnhancedBy item) select drop down using by value of the list itemstatic voidselectDropDown(EnhancedBy field, EnhancedBy list, String... options) selects drop downstatic voidselectDropDown(EnhancedBy field, String... options) selects drop downstatic voidselectDropDown(String option, EnhancedBy field, int index, EnhancedBy listValue) selects drop down based on index of the drop down fieldstatic voidselectDropDown(String option, EnhancedBy field, int index, EnhancedBy list, int listIndex) select drop down based on index of the drop down list eg.static voidselectDropDown(String option, EnhancedBy field, EnhancedBy listValue) Deprecated.replaced by selectDropDown(field, list, options) selects drop downstatic voidselectDropDown(String option, EnhancedBy field, EnhancedBy listValue, int listIndex) select drop down based on index of the drop down list eg.static voidselectDropDown(String option, EnhancedBy field, String field_Identifier, EnhancedBy listValue) selects drop down from list defined by another list defined by textstatic voidselectDropDownWithDoubleClick(String option, EnhancedBy field, int index, EnhancedBy listValue) selects dropdown by double clicking on the fieldstatic voidselectDropDownWithDoubleClick(String option, EnhancedBy field, EnhancedBy listValue) selects dropdown by double clicking on the fieldstatic voidselectElementContainedInList(EnhancedBy listValue, String option, EnhancedBy target) Selects list item from a parent container eg.static voidselectElementContainedInList(EnhancedBy listValue, String option, EnhancedBy target, int targetIndex) Selects list item from a parent container eg.static voidselectElementInList(EnhancedBy listValue, int index) selects an element in list by its index valuestatic voidselectElementInList(EnhancedBy listValue, int index, EnhancedBy expected) selects an element in list by its index value And waits for expected elementstatic voidselectListItemByIndex(EnhancedBy listValue, int index) selects list item by the string option providedstatic voidselectListItemContainsByName(EnhancedBy listValue, String option) finds target element which is in the same container And has the same index as the parent eg.static voidselectListItemContainsByName(EnhancedBy listValue, String option, EnhancedBy target) selects list item containing string eg.static voidselectListItemEqualsByName(EnhancedBy listValue, String option) selects list item by the string option providedstatic voidselectListItemEqualsByName(EnhancedBy listValue, String option, EnhancedBy target) finds target element which is in the same container And has the same index as the parent eg.static voidselectMultipleCheckboxOptions(List<String> selections, EnhancedBy checkboxes) selects multiple checkbox optionsstatic voidselectRadioButton(EnhancedBy button) selects a buttonstatic voidselectRadioButton(String option, EnhancedBy buttons) selects radio button by radio button descriptionstatic voidsendMail(EmailObject email) sends email to recipient using email objectstatic voidsetAttribute(EnhancedBy by, int index, String attribute, String value) sets attribute value of an elementstatic voidsetAttribute(EnhancedBy by, String attribute, String value) sets attribute value of an elementstatic voidsetChildField(EnhancedBy parent, int parentIndex, EnhancedBy child, int childIndex, CharSequence... value) sets key based on nested text fieldstatic voidsetDriver(org.openqa.selenium.WebDriver driver) static voidsetField(EnhancedBy field, CharSequence... value) set field value if value is not emptystatic voidsetField(String value, EnhancedBy field, int index) sets field text value by index hides keyboard if on ios devicestatic voidsetFieldAndEnter(EnhancedBy field, CharSequence... value) sets field And presses the enter keystatic voidsetFieldByAction(EnhancedBy field, int index, CharSequence... value) static voidsetFieldByAction(EnhancedBy field, CharSequence... value) static voidsetFieldByJs(EnhancedBy field, int index, CharSequence... value) static voidsetFieldByJs(EnhancedBy field, CharSequence... value) static voidsetKey(org.openqa.selenium.Keys key, EnhancedBy field) sendstatic voidsetPageSize(int x, int y) sets page sizestatic org.testng.asserts.SoftAssertstatic voidstatic voidsoftAssertEqual(int expected, int actual) static voidsoftAssertEqual(String expected, String actual) static voidsoftAssertTrue(String message, boolean value) static StopWatchHelperstart()StopWatchHelper watch = Helper.start(); do something long passedTimeInMs = watch.time(); long passedTimeInSeconds = watch.time(TimeUnit.SECONDS);static StringstringNormalize(String value) normalizes string removes space, new line charsstatic StringstringRemoveLines(String value) normalizes string removes space, new line charsstatic voidswitchDriver(org.openqa.selenium.WebDriver driver) switch webdriver use for switching between different driversstatic voidswitchIframe(EnhancedBy frame) switches frame to frame specifiedstatic voidswitches to default framestatic voidswitchToNewWindow(String defaultWindow) switch to the new opened windowstatic voidswitch to next tabstatic voidswitch to next tab circles back to initial tab if it reaches the last tabstatic voidswitchToTab(int index) switch to previous tab circle back to the last tabstatic voidnavigate to a different urlstatic voiduploadFile(String location, EnhancedBy imageButton) uploads file by specifying file location relative to main pathstatic voiduploadImage(String location, EnhancedBy imageButton, EnhancedBy images) sets the image based on locationstatic voiduploadImages(List<String> locations, EnhancedBy imageButton, EnhancedBy images) sets the image based on locationstatic voidverifyAnyText(EnhancedBy target, String... values) verifies if text contains any of values in liststatic voidverifyAnyTextContaining(EnhancedBy target, String... values) verifies if text contains any of values in liststatic voidverifyContainsIsInList(EnhancedBy listValue, String option) verifies if option value is in the list index = -1 indicates the value is not in liststatic voidverifyElementContainingText(EnhancedBy element, String text) verify if element contains textstatic voidverifyElementCount(EnhancedBy by, int value, int... correction) verifies element countstatic voidverifies if element(s) is (are) displayedstatic voidverifies if element(s) is (are) not displayedstatic voidverifyElementText(EnhancedBy by, String value) verifies element text equals provided valuestatic voidverifyIsInList(EnhancedBy listValue, String option) verifies if option value is in the list index = -1 indicates the value is not in liststatic voidverifyIsInList(EnhancedBy listValue, String indicator, String option) verify text option in list based on key value in the liststatic voidverifyNumberOfTabs(int tabs) switch to tab by indexstatic voidverifyTextDisplayed(String text) verify if text is displayed on pagestatic voidverifyTitle(String appTitle) verify page titlevoidverifyToolTip(EnhancedBy tooltip, int index, String text) verify tool tip is displayedstatic voidwaitForAdditionalElementsToLoad(EnhancedBy target, int originalCount) waits for element count to increase from the originalCount Usefull When waiting for a list to expand with additional itemsstatic voidwaitForAdditionalElementsToLoad(EnhancedBy target, int originalCount, int time) waits for element count to increase from the originalCount Usefull When waiting for a list to expand with additional itemsstatic booleanwaitForAnyTextToLoad(EnhancedBy target, int time, String... text) wait for any text strings to become availablestatic booleanwaitForAnyTextToLoad(EnhancedBy target, String... text) wait for any text strings to become availablestatic booleanwaitForAnyTextToLoadContaining(EnhancedBy target, int time, String... text) wait for any text strings to become availablestatic booleanwaitForAnyTextToLoadContaining(EnhancedBy target, String... text) wait for any text strings to become availablebooleanwaitForClassContain(EnhancedBy target, int index, String value) wait for class to containbooleanwaitForClassContain(EnhancedBy target, int index, String value, int time) wait for class to contain valuestatic booleanwaitForElementToBeClickable(EnhancedBy selector) wait for element to become clickable causes instability with hybrid mobile appstatic booleanwaitForElementToBeClickable(EnhancedBy selector, int timeInSeconds) wait for element to become clickable causes instability with hybrid mobile appstatic booleanwaitForElementToBeRemoved(EnhancedBy target) waits for element to not be displayed wait for maximum of 60 secondsstatic booleanwaitForElementToBeRemoved(EnhancedBy target, int time) waits for element to not be displayedstatic booleanwaitForElementToBeRemoved(EnhancedBy target, int time, int waitForTargetToLoadInSeconds) waits for element to not be displayedstatic booleanwaitForElementToBeVisible(EnhancedBy target, int time, int count) static voidwaitForElementToLoad(EnhancedBy target) waits for element to be displayed for amount of time specified by 60 secondsstatic booleanwaitForElementToLoad(EnhancedBy target, int time) waits for element to load count() checks if the element is displayed Then gets the count numberstatic booleanwaitForElementToLoad(EnhancedBy target, int time, int count) waits for element to load If mobile device, scrolls down the page until element is visiblestatic booleanwaitForFirstElementToLoad(EnhancedBy element1, EnhancedBy element2) waits for either element to load returns true When first item loadsstatic booleanwaitForFirstElementToLoad(EnhancedBy element1, EnhancedBy element2, int time) waits for either element to load returns true When first item loadsstatic booleanwaitForFirstElementToLoad(EnhancedBy element1, EnhancedBy element2, EnhancedBy element3) waits for either element to load returns true When first item loadsstatic booleanwaitForFirstElementToLoad(EnhancedBy element1, EnhancedBy element2, EnhancedBy element3, int time) waits for either element to load returns true When first item loadsstatic voidwaitForListItemToLoad_Contains(EnhancedBy list, String option) waits for item containing in list to loadstatic voidwaits for webpage to loadstatic voidwaitForSeconds(double seconds) waits for number of secondsstatic voidwaitForTextToLoad(EnhancedBy target, int time, String text) make sure only one element And caller needs to take responsibility to have text in the elementstatic voidwaitForTextToLoad(EnhancedBy target, String text) waits for text to be loaded for amount of time specified by 60 secondsstatic voidCreate file (where pom.xml is) and write to itstatic voidCreate file with path starting from root directory (where pom.xml is) and write to it.static ZipOutputStreamzip folder
-
Field Details
-
click
-
wait
-
mobile
-
list
-
page
-
form
-
image
-
date
-
csv
-
loginbuilder
-
verify
-
clickJs
-
clickAction
-
reportPortal
-
webdriver
-
-
Constructor Details
-
Helper
public Helper()
-
-
Method Details
-
excel_setExcelFile
gets the excel file And the work sheet- Parameters:
Path-SheetName-- Throws:
Exception
-
excel_getColumData
returns all the column data as array list of string- Parameters:
colNum-- Returns:
- Throws:
Exception
-
excel_getCellData
This method is to read the test data from the Excel cell, in this we are passing parameters as Row num And Col num- Parameters:
RowNum-ColNum-- Returns:
- Throws:
Exception
-
excel_setCellData
This method is to write in the Excel cell, Row num And Col num are the parameters- Parameters:
excel- - required: excel.row, excel.column, excel.value, excel.file- Throws:
Exception
-
excel_setCellData
- Parameters:
excelObjects- - contains data info- Throws:
Exception
-
assertTrue
assert true- Parameters:
message- if failvalue-
-
assertFalse
-
assertEquals
assert expected equals actual- Parameters:
expected-actual-
-
assertEquals
public static void assertEquals(boolean expected, boolean actual) assert expected equals actual- Parameters:
expected-actual-
-
assertEquals
public static void assertEquals(int expected, int actual) assert expected equals actual- Parameters:
expected-actual-
-
assertContains
assert actual contains expected- Parameters:
expected-actual-
-
softAssertTrue
-
softAssertEqual
-
softAssertEqual
public static void softAssertEqual(int expected, int actual) -
softAssert
public static org.testng.asserts.SoftAssert softAssert() -
softAssertAll
public static void softAssertAll() -
logStackTrace
-
logStackTrace
-
findElements
finds element based on parent element- Parameters:
parent-element-- Returns:
-
findElements
finds list of elements- Parameters:
element-- Returns:
-
findElements
protected static EnhancedWebElement findElements(EnhancedBy parent, int parentIndex, EnhancedBy child) finds a list of elements based on parent element- Parameters:
parent-element-- Returns:
-
byCss
gets element by css value- Parameters:
element-name-- Returns:
-
byId
gets element by id- Parameters:
element-name-- Returns:
-
byXpath
gets element by xpath- Parameters:
element-name-- Returns:
-
byAccessibility
gets element by accessibility id- Parameters:
element-name-- Returns:
-
clickAndExpect
clicks target And waits for expected element to display retries 10 times- Parameters:
target-expected-
-
clickAndExpect
click And expect based on the text value on the element. eg. button with "OK" text- Parameters:
target-text-expected-
-
clickAndExpectContainsByText
click And expect based on the text value on the element. eg. button with "OK" text- Parameters:
target-text-expected-
-
clickAndExpect
clicks target And waits for expected element to display retries 10 times- Parameters:
target-expected-
-
clickAndExpect
public static void clickAndExpect(EnhancedBy target, int index, EnhancedBy expected1, EnhancedBy expected2) clicks target And wait for one the 2 expected elements to appear- Parameters:
target-index-expected1-expected2-
-
clickAndExpect
clicks element based on index And waits for expected element to be displayed- Parameters:
target-index-expected-
-
clickAndExpect
clicks target And waits for expected element to show up also waits for spinner element to be removed from display- Parameters:
target-expected-spinner-
-
clickAndNotExpect
clicks target And waits for expected to not be displayed retries 10 times- Parameters:
target-expected-
-
click
click without waiting- Parameters:
target-index-
-
clickAndWait
clicks target And waits for seconds- Parameters:
target-expected-
-
clickAndWait
clicks target And waits for seconds- Parameters:
target-expected-
-
clickAndNotExpect
-
clickElementLocationBy
Click on an element's specific x,y location- Parameters:
by- by elementx- x offset coordinatey- y offset coordinate
-
clickPoints
public static void clickPoints(int x, int y) click at position x, y- Parameters:
x-y-
-
clickPointsAndExpect
click point at x,y coordinates and expect and element to be present retry every 5 seconds for duration of explicit timeout- Parameters:
x-y-expected-
-
doubleClickPoints
public static void doubleClickPoints(int x, int y) double click at position- Parameters:
x-y-
-
doubleClick
double click on element- Parameters:
target-index-
-
rightClick
right click on element at index- Parameters:
target-index-
-
clickElementContinsByText
click element with text containing- Parameters:
by-text-
-
clickAndHold
click And hold element- Parameters:
target-seconds-
-
clickAndHold
click And hold based on element index- Parameters:
target-index-seconds-
-
dragAndDrop
drag And drop from src element to target element- Parameters:
src-target-
-
dragAndDrop
public void dragAndDrop(EnhancedBy srcParent, int srcParentIndex, EnhancedBy srcChild, int scrChildIndex, EnhancedBy targetParent, int targeParenttIndex, EnhancedBy targetChild, int targetChildIndex) drag And drop from src element to target element- Parameters:
src-target-
-
dragAndDrop
drag And drop from src element to target element- Parameters:
src-target-
-
verifyElementIsDisplayed
verifies if element(s) is (are) displayed- Parameters:
by-
-
isDisplayed
returns true if element is displayed- Parameters:
element-- Returns:
-
isPresent
returns true if element is displayed- Parameters:
element-- Returns:
-
isElementContainingText
returns true if element contains text- Parameters:
element-text-- Returns:
-
verifyElementContainingText
verify if element contains text- Parameters:
element-text-
-
verifyTextDisplayed
verify if text is displayed on page- Parameters:
text-
-
isTextDisplayed
is text displayed on page- Parameters:
text-- Returns:
-
verifyToolTip
verify tool tip is displayed- Parameters:
tooltip-index-text-
-
verifyElementIsNotDisplayed
verifies if element(s) is (are) not displayed- Parameters:
by-
-
verifyElementText
verifies element text equals provided value- Parameters:
by-value-
-
verifyElementCount
verifies element count- Parameters:
by-value-
-
verifyAnyTextContaining
verifies if text contains any of values in list- Parameters:
target-values-
-
verifyAnyText
verifies if text contains any of values in list- Parameters:
target-values-
-
setField
sets field text value by index hides keyboard if on ios device- Parameters:
value-field-index-
-
setField
set field value if value is not empty- Parameters:
field-value-
-
setFieldByAction
-
setFieldByAction
-
setFieldByJs
-
setFieldByJs
-
clearAndSetField
sets field clears field before setting the value- Parameters:
field-value-
-
clearAndSetField
sets field clears field before setting the value- Parameters:
field-index-value-
-
setChildField
public static void setChildField(EnhancedBy parent, int parentIndex, EnhancedBy child, int childIndex, CharSequence... value) sets key based on nested text field- Parameters:
parent-parentIndex-child-childIndex-value-
-
setFieldAndEnter
sets field And presses the enter key- Parameters:
field-value-
-
setKey
send- Parameters:
key-field-
-
formSubmit
select submit button And wait for expected element to load- Parameters:
button-expected-
-
formSubmit
clicks submit button, wait for element to appear And loading spinner to be removed- Parameters:
button-expected-spinner-
-
selectDropDownWithDoubleClick
public static void selectDropDownWithDoubleClick(String option, EnhancedBy field, EnhancedBy listValue) selects dropdown by double clicking on the field- Parameters:
option-field-list-
-
selectDropDownWithDoubleClick
public static void selectDropDownWithDoubleClick(String option, EnhancedBy field, int index, EnhancedBy listValue) selects dropdown by double clicking on the field- Parameters:
option-field-list-
-
selectDropDown
selects drop down- Parameters:
field- : the drop down fieldoption- : list option we want to select
-
selectDropDown
selects drop down- Parameters:
field- : the drop down fieldlist- : the list items in the drop down listoption- : list option we want to select
-
selectDropDown
@Deprecated public static void selectDropDown(String option, EnhancedBy field, EnhancedBy listValue) Deprecated.replaced by selectDropDown(field, list, options) selects drop down- Parameters:
option- : list option we want to selectfield- : the drop down fieldlist- : the list items in the drop down list
-
selectDropDown
public static void selectDropDown(String option, EnhancedBy field, String field_Identifier, EnhancedBy listValue) selects drop down from list defined by another list defined by text- Parameters:
option-field-field_Identifier-list-
-
selectDropDown
select drop down by index from the drop down list- Parameters:
index-field-list-
-
selectDropDown
select drop down using by value of the list item- Parameters:
field-index-list-
-
selectDropDown
public static void selectDropDown(String option, EnhancedBy field, EnhancedBy listValue, int listIndex) select drop down based on index of the drop down list eg. used for date selection where each date value: day, month, year, is separate list send key is used to select the value from the list- Parameters:
option-field-listIndex-list-
-
selectDropDown
public static void selectDropDown(String option, EnhancedBy field, int index, EnhancedBy list, int listIndex) select drop down based on index of the drop down list eg. used for date selection where each date value: day, month, year, is separate list send key is used to select the value from the list- Parameters:
option-field-index-list-listIndex-
-
selectDropDown
selects drop down based on index of the drop down field- Parameters:
option-field-index-list-
-
selectCheckBox
selects checkbox based on by value- Parameters:
button-isSelect-
-
selectRadioButton
selects radio button by radio button description- Parameters:
option-buttons-
-
selectRadioButton
selects a button- Parameters:
button-
-
selectMultipleCheckboxOptions
selects multiple checkbox options- Parameters:
selections-checkboxes-
-
uploadFile
uploads file by specifying file location relative to main path- Parameters:
location-imageButton-
-
uploadImages
sets the image based on location- Parameters:
imageButton-images- : uploaded imagelocation-
-
uploadImage
sets the image based on location- Parameters:
location-imageButton-images- : uploaded image
-
getTextValue
gets the text value from an element- Parameters:
element-- Returns:
-
getTextValue
gets the text value from an element- Parameters:
element-- Returns:
-
isElementEditable
attempts to set text value on element, if not successful, then element is not editable- Parameters:
element-index-- Returns:
-
isElementEditable
attempts to set text value on element, if not successful, then element is not editable- Parameters:
element-index-- Returns:
-
selectElementInList
selects an element in list by its index value- Parameters:
index-list-
-
selectElementInList
selects an element in list by its index value And waits for expected element- Parameters:
index-expected-list-
-
searchAndWaitForResults
public static void searchAndWaitForResults(String searchQuery, EnhancedBy byTarget, EnhancedBy spinner) enters value into the search field And selects enter waits for the loading spinner to be removed- Parameters:
searchQuery-byTarget-spinner-
-
selectListItemEqualsByName
selects list item by the string option provided- Parameters:
option-list-
-
selectListItemEqualsByName
public static void selectListItemEqualsByName(EnhancedBy listValue, String option, EnhancedBy target) finds target element which is in the same container And has the same index as the parent eg. delete button in the list of customers, both having index 2. we find the index by name, And use that to find the target element- Parameters:
option-target-list-
-
selectListItemContainsByName
public static void selectListItemContainsByName(EnhancedBy listValue, String option, EnhancedBy target) selects list item containing string eg. a list of athletes names containing a delete button- Parameters:
option-target-list-
-
getElementIndexInList
find the index of the target element in list eg. list A, 5 rows, has element B in row 2. therefore, index 1 is returned @param list- Parameters:
target-list-- Returns:
- index of element in list
-
getRowValuesFromList
returns the list of string values for a row of elements- Parameters:
index-rows-list-- Returns:
-
getTableMap
public HashMap<String,List<String>> getTableMap(EnhancedBy columns, EnhancedBy dataRows, EnhancedBy dataCells) gets hashmap representation of data column with row values- Parameters:
columns-dataRows-- Returns:
-
getTableMap
public HashMap<String,List<String>> getTableMap(EnhancedBy columns, EnhancedBy dataRows, EnhancedBy dataCells, int maxRows) gets hashmap representation of data column with row values- Parameters:
columns-dataRows-dataCells-maxRows-- Returns:
-
getTableMap
public HashMap<String,List<String>> getTableMap(EnhancedBy columns, int columnInitialIndex, EnhancedBy dataRows, int rowInitialIndex, EnhancedBy dataCells, int maxRows) gets hashmap representation of data column with row values- Parameters:
columns-columnInitialIndex-dataRows-rowInitialIndex-dataCells-maxRows-- Returns:
-
selectElementContainedInList
public static void selectElementContainedInList(EnhancedBy listValue, String option, EnhancedBy target, int targetIndex) Selects list item from a parent container eg. delete button in a list defined by name find the container containing the name And Then finds the delete button in that container as target- Parameters:
option-target-list-
-
selectElementContainedInList
public static void selectElementContainedInList(EnhancedBy listValue, String option, EnhancedBy target) Selects list item from a parent container eg. delete button in a list defined by name find the container containing the name And Then finds the delete button in that container as target- Parameters:
option-target-list-
-
selectListItemContainsByName
finds target element which is in the same container And has the same index as the parent eg. delete button in the list of customers, both having index 2. we find the index containing name, And use that to find the target element- Parameters:
option-list-
-
selectListItemByIndex
selects list item by the string option provided- Parameters:
list-option-
-
getListCount
returns the number of elements in list- Parameters:
list-- Returns:
-
getElementIndexEqualsByText
returns the index of text value in a list- Parameters:
option-list-- Returns:
-
getElementIndexContainByText
retuns index of element in list which contains in text- Parameters:
option-list-- Returns:
-
getStringIndexContainByText
returns the index of string value in list of strings- Parameters:
stringList- normalizedoption- normalized- Returns:
-
getStringIndexEqualsByText
returns the index of string value in list of strings- Parameters:
stringList- normalizedoption- normalized- Returns:
-
verifyContainsIsInList
verifies if option value is in the list index = -1 indicates the value is not in list- Parameters:
option-list-
-
verifyIsInList
verifies if option value is in the list index = -1 indicates the value is not in list- Parameters:
option-list-
-
verifyIsInList
verify text option in list based on key value in the list- Parameters:
indicator-option-list-
-
isContainedInList
return if element is contained in list- Parameters:
option-list-- Returns:
-
isExactMatchInList
return if element is an exact match in list- Parameters:
option-list-- Returns:
-
getListValues
returns the list of values in a list- Parameters:
list-- Returns:
-
getTextList
returns the list of values in a list- Parameters:
list-- Returns:
-
getAndroidDriver
public static io.appium.java_client.android.AndroidDriver getAndroidDriver() -
getiOSDriver
public static io.appium.java_client.ios.IOSDriver getiOSDriver() -
mobile_hideKeyboard
public static void mobile_hideKeyboard()hides ios or android keyboard -
pressEnterOnAndroid
public static void pressEnterOnAndroid()select enter on android -
mobile_resetApp
public static void mobile_resetApp()resets the app -
refreshMobileApp
public static void refreshMobileApp()places the app in background And Then relaunches it -
mobile_isMobile
public static boolean mobile_isMobile()returns if mobile driver is used- Returns:
-
isInternetExplorer
public static boolean isInternetExplorer()returns true if browser is ie- Returns:
-
isIOS
public static boolean isIOS()is ios driver- Returns:
-
isAndroid
public static boolean isAndroid()is android driver- Returns:
-
isWebDriver
public static boolean isWebDriver()is web driver- Returns:
-
mobile_setLocation
public static void mobile_setLocation(org.openqa.selenium.html5.Location location) sets gps location on ios simulator- Parameters:
location-
-
mobile_swipeRight
public void mobile_swipeRight(double durationInSeconds) swipe right on the screen -
mobile_swipeRight
swipe right on the screen based on element position -
mobile_swipeLeft
public void mobile_swipeLeft(double durationInSeconds) swipe right on the screen -
mobile_swipeLeft
swipe left on the screen based on element position -
mobile_swipeUp
swipe up on the screen based on element position -
mobile_swipeUp
public void mobile_swipeUp(double durationInSeconds) swipe up on the screen -
mobile_swipeDown
public void mobile_swipeDown(double durationInSeconds) swipe down on the screen -
mobile_swipeDown
swipe down on the screen based on element position -
mobile_switchToNativeView
public static void mobile_switchToNativeView()sets native context for android And ios apps- Parameters:
context-
-
mobile_switchToWebView
public static void mobile_switchToWebView()sets web context for android And ios apps- Parameters:
context-
-
mobile_switchToView
switch to view- Parameters:
view-
-
mobile_getContextList
returns the list of mobile context. eg. webview, native view- Returns:
-
mobile_longPress
press per retry presses the target element- Parameters:
target-miliSeconds-index-expected-
-
mobile_longPressAndExpect
public static void mobile_longPressAndExpect(EnhancedBy target, long miliSeconds, EnhancedBy expected) long press And expect element- Parameters:
target-miliSeconds-expected-
-
mobile_zoomOut
public static void mobile_zoomOut(int zoomLevel) zoom in based on zoom levels. eg. 3 equals zooming out 3 times- Parameters:
zoomLevel-
-
mobile_zoomOut
zooms out And checks if target level indicator has been reached- Parameters:
indicator-zoomLevel-
-
mobile_zoomIn
zooms in And checks if target level indicator has been reached- Parameters:
indicator-zoomLevel-
-
mobile_zoomIn
public static void mobile_zoomIn(int zoomLevel) zoom in based on zoom levels. eg. 3 equals zooming in 3 times- Parameters:
zoomLevel-
-
scrollDown
public static void scrollDown()scrolls down android -
mobile_scrollToElement
scrolls to mobile element until element is becomes visible- Parameters:
target-
-
maximizePage
public static void maximizePage()maximizes web page -
setPageSize
public static void setPageSize(int x, int y) sets page size- Parameters:
x-y-
-
refreshPage
public static void refreshPage()reload page -
switchIframe
switches frame to frame specified- Parameters:
frame-
-
switchToDefaultFrame
public static void switchToDefaultFrame()switches to default frame -
dimissAlert
dismisses alert by selecting ok or cancel return alert message- Parameters:
alert-
-
acceptAlert
accepts alert by selecting ok or cancel- Parameters:
alert-
-
getAlertValue
returns alert message value- Returns:
-
currentWindow
return the current window handle- Returns:
-
switchToNewWindow
switch to the new opened window- Parameters:
defaultWindow-
-
CloseAndReturn
close the window And return to the defaultWindow- Parameters:
defaultWindow-
-
refreshPageSource
public static void refreshPageSource()gets page source -
verifyTitle
verify page title- Parameters:
appTitle-
-
switchDriver
public static void switchDriver(org.openqa.selenium.WebDriver driver) switch webdriver use for switching between different drivers- Parameters:
driver-
-
setDriver
public static void setDriver(org.openqa.selenium.WebDriver driver) -
switchToNextTab
public static void switchToNextTab()switch to next tab -
switchToPreviousTab
public static void switchToPreviousTab()switch to next tab circles back to initial tab if it reaches the last tab -
switchToTab
public static void switchToTab(int index) switch to previous tab circle back to the last tab -
verifyNumberOfTabs
public static void verifyNumberOfTabs(int tabs) switch to tab by index -
getPageTitle
returns the title of the page- Returns:
-
getCurrentUrl
returns the current url- Returns:
-
getPageSource
gets page source- Returns:
-
deleteAllCookies
public static void deleteAllCookies()delete all cookies -
deleteCookieNamed
delete cookie named- Parameters:
name-
-
bringPageToFront
public static void bringPageToFront()brings current browser to front -
swtichUrl
navigate to a different url- Parameters:
url-
-
getUrl
navigate to a different url- Parameters:
url-
-
getClipboardData
retrieves the clip board data- Returns:
-
quitCurrentDriver
public static void quitCurrentDriver()quits the current web driver -
quitDriver
public static void quitDriver(org.openqa.selenium.WebDriver driver) quit driver- Parameters:
driver-
-
quitAllCurrentTestDrivers
public static void quitAllCurrentTestDrivers()quits all drivers in the current test -
isVisibleInViewport
returns true if the element is visible in the current page only for web applications- Parameters:
by-- Returns:
-
getWebdriver
public static org.openqa.selenium.WebDriver getWebdriver()get current webdriver- Returns:
-
scrollBottomPageBrowser
public static void scrollBottomPageBrowser()scroll to bottom of browser -
scrollUpBrowser
public static void scrollUpBrowser(int count) scroll up the browser -
scrollUpBrowser
public static void scrollUpBrowser()scroll up the browser -
scrollDownBrowser
public static void scrollDownBrowser(int count) scroll down the browser -
scrollDownBrowser
public static void scrollDownBrowser()scroll down the browser -
scrollToWebElement
scroll to web element- Parameters:
element-
-
isFirefox
public boolean isFirefox() -
isChrome
public boolean isChrome() -
isSafari
public boolean isSafari() -
isMicrosoftEdge
public boolean isMicrosoftEdge() -
scrollToWebElement
scroll to element- Parameters:
element-index-
-
isVisibleInViewport
returns true if the element is visible in the current page only for web applications- Parameters:
by-- Returns:
-
getAttribute
gets specified attribute of the element- Parameters:
byValue-attribute-index-
-
isElementContainingClass
returns true if element contains class value- Parameters:
by-classValue-- Returns:
-
isAttributeContaining
returns true if element contains attribute value- Parameters:
by-classValue-- Returns:
-
getAttribute
gets specified attribute of the element based on index- Parameters:
byValue-index-attribute-
-
setAttribute
sets attribute value of an element- Parameters:
by-attribute-value-
-
setAttribute
sets attribute value of an element- Parameters:
by-index-attribute-value-
-
getElementSize
returns element dimension- Parameters:
by-- Returns:
-
getElementPosition
get element position on display- Parameters:
by-- Returns:
-
getElementPosition
get element position on display- Parameters:
by-index-- Returns:
-
findElementCoordinates
returns the center coordinates of the target element- Parameters:
target-- Returns:
-
findMiddleOfElement
returns the center coordinates of the target element- Parameters:
target-- Returns:
-
waitForElementToLoad
waits for element to be displayed for amount of time specified by 60 seconds- Parameters:
target-
-
waitForElementToLoad
waits for element to load count() checks if the element is displayed Then gets the count number- Parameters:
target-time-
-
waitForFirstElementToLoad
public static boolean waitForFirstElementToLoad(EnhancedBy element1, EnhancedBy element2, EnhancedBy element3) waits for either element to load returns true When first item loads- Parameters:
element1-element2-time-- Returns:
-
waitForFirstElementToLoad
public static boolean waitForFirstElementToLoad(EnhancedBy element1, EnhancedBy element2, EnhancedBy element3, int time) waits for either element to load returns true When first item loads- Parameters:
element1-element2-time-- Returns:
-
waitForFirstElementToLoad
waits for either element to load returns true When first item loads- Parameters:
element1-element2-time-- Returns:
-
waitForFirstElementToLoad
waits for either element to load returns true When first item loads- Parameters:
element1-element2-time-- Returns:
-
mobile_waitAndRefreshForElementToLoad
waits for element to load And refreshes the app each time to renew the dom- Parameters:
target-
-
mobile_waitAndRefreshForElementToLoad
waits for element to load And refreshes the app each time to renew the dom- Parameters:
target-
-
waitForElementToLoad
waits for element to load If mobile device, scrolls down the page until element is visible- Parameters:
target- : element to wait fortime- : max time to waitcount- : minimum count of elements to wait for in list- Returns:
-
waitForElementToBeVisible
-
waitForAdditionalElementsToLoad
waits for element count to increase from the originalCount Usefull When waiting for a list to expand with additional items- Parameters:
target-originalCount-
-
waitForAdditionalElementsToLoad
waits for element count to increase from the originalCount Usefull When waiting for a list to expand with additional items- Parameters:
target-originalCount-
-
waitForElementToBeRemoved
waits for element to not be displayed wait for maximum of 60 seconds- Parameters:
target-- Returns:
-
waitForElementToBeRemoved
waits for element to not be displayed- Parameters:
target-time- : maximum amount of time in seconds to wait
-
waitForElementToBeRemoved
public static boolean waitForElementToBeRemoved(EnhancedBy target, int time, int waitForTargetToLoadInSeconds) waits for element to not be displayed- Parameters:
target-time- : maximum amount of time in seconds to wait. use AbstractDriver.TIMEOUT_SECONDS for default timeoutwaitForTargetToLoadInSeconds- wait for element to load before waiting for element to be removed
-
waitForSeconds
public static void waitForSeconds(double seconds) waits for number of seconds- Parameters:
seconds-
-
waitForPageToLoad
public static void waitForPageToLoad()waits for webpage to load -
waitForListItemToLoad_Contains
waits for item containing in list to load- Parameters:
list-option-time-
-
waitForTextToLoad
waits for text to be loaded for amount of time specified by 60 seconds- Parameters:
target-
-
waitForTextToLoad
make sure only one element And caller needs to take responsibility to have text in the element- Parameters:
target-time-
-
waitForElementToBeClickable
wait for element to become clickable causes instability with hybrid mobile app- Parameters:
selector-- Returns:
-
waitForElementToBeClickable
wait for element to become clickable causes instability with hybrid mobile app- Parameters:
selector-- Returns:
-
waitForClassContain
wait for class to contain- Parameters:
target-index-value-- Returns:
-
waitForClassContain
wait for class to contain value- Parameters:
target-index-value-time-- Returns:
-
waitForAnyTextToLoadContaining
wait for any text strings to become available- Parameters:
target-text-time-- Returns:
-
waitForAnyTextToLoadContaining
wait for any text strings to become available- Parameters:
target-time-text-- Returns:
-
waitForAnyTextToLoad
wait for any text strings to become available- Parameters:
target-text-time-- Returns:
-
waitForAnyTextToLoad
wait for any text strings to become available- Parameters:
target-time-text-- Returns:
-
start
StopWatchHelper watch = Helper.start(); do something long passedTimeInMs = watch.time(); long passedTimeInSeconds = watch.time(TimeUnit.SECONDS);- Returns:
-
generateRandomString
generates random string of length len- Parameters:
len-- Returns:
-
generateRandomInteger
generates random int of length len- Parameters:
len-- Returns:
-
generateRandomNumber
public static int generateRandomNumber(int min, int max) generates random number between two numbers, min, max- Parameters:
min-max-- Returns:
-
generateUUID
generate uuid- Returns:
-
generateUUID
generate uuid- Parameters:
includeDash-- Returns:
-
generateUUID
generate uuid- Parameters:
length-- Returns:
-
generateUUID
generate uuid- Parameters:
length-- Returns:
-
highLightWebElement
highlights the web element use on clicks and send key elements- Parameters:
by-index-
-
isMac
public static boolean isMac()returns true if OS is mac- Returns:
-
isWindows
public static boolean isWindows()returns true if OS is windows- Returns:
-
isUnix
public static boolean isUnix()returns true if OS is unix or linux- Returns:
-
isUUID
is the string value UDID- Parameters:
value-- Returns:
-
isBoolean
returns if string is boolean- Parameters:
value-- Returns:
-
isNumeric
return if string is a number- Parameters:
str-- Returns:
-
executeJs
execute javascript- Parameters:
script-
-
executeJsWithListReturn
execute javascript- Parameters:
script-
-
executeJsWithStringReturn
execute javascript- Parameters:
script-
-
getIntFromString
get numeric value from string- Parameters:
value-isFailOnNoInt-- Returns:
-
getNumber
get numeric value from string- Parameters:
value-isFailOnNoInt-- Returns:
-
getFirstNumber
-
getIntFromString
get numeric value from string- Parameters:
value-isFailOnNoInt-- Returns:
-
getDoubleFromString
get int value from string- Parameters:
value-isFailOnNoInt-- Returns:
-
isStringContainOnlyNumber
does string have only numeric value- Parameters:
value-- Returns:
-
isStringContainNumber
does string have numeric value- Parameters:
value-- Returns:
-
removeSurroundingQuotes
remove surrounding double quotes from the string- Parameters:
value-- Returns:
-
convertToUrl
converts url string to url object- Parameters:
url-- Returns:
-
isUrlAbleToConnect
check if able to connect to source url- Parameters:
source-proxy- set to null if no proxy- Returns:
-
isProxyRequired
get proxy state from proxy enabled config values: true, false, auto if auto is set, then through proxy detection, we set value to true or false- Parameters:
url-- Returns:
-
getDoubleFromString
get numeric value from string- Parameters:
value-isFailOnNoInt-- Returns:
-
isFileContainString
does file contain the given text value- Parameters:
value-file-- Returns:
-
isServerOnline
checks if server is online- Parameters:
url-proxyUrl-- Returns:
-
isServerOnline
checks if server is online- Parameters:
url-proxyUrl-- Returns:
-
isFileContainsString
does file contain the given text value- Parameters:
value-file-- Returns:
-
getLinesInFileStartingWith
get line in file starting with string- Parameters:
value-file-- Returns:
-
getLinesInFileContainingWith
get line in file containing string- Parameters:
value-file-- Returns:
-
printPageSource
public static void printPageSource()prints page source to console -
convertListToString
convert array list to string separated by ","- Parameters:
list-- Returns:
-
convertListToString
convert array list to string separated by ","- Parameters:
list-- Returns:
-
stringNormalize
normalizes string removes space, new line chars- Parameters:
value-- Returns:
-
stringRemoveLines
normalizes string removes space, new line chars- Parameters:
value-- Returns:
-
killWindowsProcess
returns kills the process if running- Parameters:
serviceName-- Throws:
Exception
-
killMacProcess
returns kills the process if running- Parameters:
serviceName-- Throws:
Exception
-
createFileFromPath
create directories and files based on absolute path- Parameters:
path-
-
writeFile
Create file with path starting from root directory (where pom.xml is) and write to it. eg. writeFile("something","", "myFile", "txt");- Parameters:
value- value in filepath- path from rootfilename- name of the filetype- type of file
-
writeFile
Create file (where pom.xml is) and write to it- Parameters:
value-absolutePath-
-
deleteFile
delete file- Parameters:
absolutePath-
-
appendToFile
appends to existing file- Parameters:
value-absolutePath-
-
appendToFile
appends to existing file- Parameters:
value-directory-filename-type-
-
executeCommand
run command and return results as array list will run bash on linux or mac will run batch command on windows- Parameters:
command-- Returns:
- Throws:
IOException
-
executeCommandFromFile
run script file and return results as array list will run bash on linux or mac will run batch command on windows- Parameters:
filePath- path from the root directory ( where pom.xml is )- Returns:
- the results as arraylist
-
copyDirectory
Copies directory And all content from dirFrom to dirTo overwrites the content- Parameters:
dirFrom-dirTo-
-
zipFolder
zip folder- Parameters:
srcFolder-destZipFile-- Returns:
- Throws:
Exception
-
createZip
-
addFileToZip
-
getAllValuesStartringWith
gets a list of string from 'source' starting with 'value'- Parameters:
source-value-- Returns:
-
getValueFromPattern
- Parameters:
str-pattern- regular expression pattern- Returns:
-
getValuesFromPattern
- Parameters:
str-pattern- regular expression pattern- Returns:
-
getRootDir
get current directory- Returns:
-
getFile
get file from file path- Parameters:
directoryPath-- Returns:
-
getFileByName
get file by name- Parameters:
path-filename-- Returns:
-
getFileByName
get file by name- Parameters:
path-filename-- Returns:
-
getFileListByType
public static ArrayList<File> getFileListByType(String directoryPath, String type, boolean includeSubtype) gets the list of files- Returns:
-
getFileListByType
gets the list of files- Returns:
-
getFileList
returns the list of files in directory- Parameters:
directoryPath-- Returns:
-
getFullPath
gets full path from relative path relative path is from root directory ( where pom.xml file is located )- Parameters:
path-- Returns:
-
getFileList
returns the list of files in directory- Parameters:
directoryPath-- Returns:
-
getFileListWithSubfolders
gets list of files including from sub folder based on type. eg. ".csv"- Returns:
-
getFileListWithSubfolders
public static List<File> getFileListWithSubfolders(String directoryName, String type, List<File> files) gets list of files including from sub folder based on type. eg. ".csv"- Returns:
-
readFileContent
gets file content as String- Parameters:
absolutePath-- Returns:
-
getFileContent
gets file content as String- Parameters:
absolutePath-- Returns:
-
getFileContent
gets file content as String- Parameters:
absolutePath-- Returns:
-
captureExtentReportScreenshot
public static void captureExtentReportScreenshot()captures screenshot And attaches to extent test report- Parameters:
description-
-
screenshotCapture
public static void screenshotCapture() -
hoverBy
hover over element- Parameters:
by-
-
hoverBy
hover over element- Parameters:
by-
-
inputTextByAction
-
doubleClickBy
-
hoverPoints
public static void hoverPoints(int x, int y) Hover on the x,y points- Parameters:
x-y-
-
moveToElement
move to element by using action- Parameters:
target-index-
-
moveToElement
move to element by using action- Parameters:
target-index-
-
sendMail
sends email to recipient using email object- Throws:
Exception
-
handleDifferentUser
public static void handleDifferentUser()if single signin enabled, And new test user is different form previous, shutdown webdriver And restart- Parameters:
newUserName-- Throws:
Exception
-
localize
gets local language from json file specified in properties file- Parameters:
key-- Returns:
-
localizationLoadJson
loads localization map from a json file to the test object data- Parameters:
fileName-
-
localizationSetupCsv
sets the language for csv localization file- Parameters:
language-
-
runApiContaining
public static void runApiContaining(String identifier, String prefix, String getApi, String targetApiId, String variable, String targerApi) throws org.json.JSONException runApiContaining("name", "zzz_","getCompanies", "id","companyId","deleteCompany") get all companies with name containing zzz_, Then gets id of these companies, stores them in companyId variable And calls deleteCompany- Parameters:
identifier- : api to call to get all values. eg. getCompaniesprefix- : value containing in getApi. eg. name containing "zzz"getApi- : api to search for identifier. eg. name containing "zzz"targetApiId- : id used to call target api.eg. id for deleteCompany apivariable- : variable the id is stored in csv keyword file. eg companyIdtargerApi- : api to call. eg. deleteCompany- Throws:
org.json.JSONException
-
runApiEquals
public static void runApiEquals(String identifier, String value, String getApi, String targetApiId, String variable, String targerApi) throws org.json.JSONException runApiEquals("name", "test123","getCompanies", "id","companyId","deleteCompany") get all companies with name equals test123, Then gets id of these companies And calls delete with id- Parameters:
identifier- : api to call to get all values. eg. getCompaniesvalue- : value containing in getApi. eg. name equals "test123"getApi- : api to search for identifier. eg. name equals "test123"targetApiId- : id used to call target api.eg. id for deleteCompany apivariable- : variable the id is stored in csv keyword file. eg companyIdtargerApi- : api to call. eg. deleteCompany- Throws:
org.json.JSONException
-
runInternalClass
public static Object runInternalClass(String sourcePath, String methodName, List<KeyValue> parameterList) throws Exception runs method from external class- Parameters:
methodName-parameterList-sourceFile-- Returns:
- Throws:
Exception
-