From 3a73be80c41088aa4669ae53db526cca46ef3d13 Mon Sep 17 00:00:00 2001 From: sharif-jobayed Date: Sat, 29 Jun 2024 08:05:11 +0600 Subject: [PATCH 1/4] Complete test --- pom.xml | 77 +++++++++++++++++++ src/test/java/wikipedia/TestRunner.java | 16 ++++ src/test/java/wikipedia/data/preTestData.json | 6 ++ .../wikipedia/features/wikipeadia.feature | 24 ++++++ src/test/java/wikipedia/hooks/Hooks.java | 29 +++++++ .../java/wikipedia/pages/ArticlePage.java | 37 +++++++++ .../java/wikipedia/pages/InformationPage.java | 34 ++++++++ src/test/java/wikipedia/pages/MainPage.java | 54 +++++++++++++ .../java/wikipedia/pages/PDFDownloadPage.java | 30 ++++++++ .../stepDefinitions/ArticlePageSteps.java | 29 +++++++ .../stepDefinitions/InformationPageSteps.java | 19 +++++ .../stepDefinitions/MainPageSteps.java | 32 ++++++++ .../stepDefinitions/PDFDOwnloadPageSteps.java | 18 +++++ .../java/wikipedia/utils/DataProcessor.java | 24 ++++++ .../java/wikipedia/utils/DriverTools.java | 21 +++++ .../java/wikipedia/utils/FileActions.java | 31 ++++++++ .../java/wikipedia/utils/ProcessedData.java | 18 +++++ src/test/resources/allure.properties | 3 + 18 files changed, 502 insertions(+) create mode 100644 pom.xml create mode 100644 src/test/java/wikipedia/TestRunner.java create mode 100644 src/test/java/wikipedia/data/preTestData.json create mode 100644 src/test/java/wikipedia/features/wikipeadia.feature create mode 100644 src/test/java/wikipedia/hooks/Hooks.java create mode 100644 src/test/java/wikipedia/pages/ArticlePage.java create mode 100644 src/test/java/wikipedia/pages/InformationPage.java create mode 100644 src/test/java/wikipedia/pages/MainPage.java create mode 100644 src/test/java/wikipedia/pages/PDFDownloadPage.java create mode 100644 src/test/java/wikipedia/stepDefinitions/ArticlePageSteps.java create mode 100644 src/test/java/wikipedia/stepDefinitions/InformationPageSteps.java create mode 100644 src/test/java/wikipedia/stepDefinitions/MainPageSteps.java create mode 100644 src/test/java/wikipedia/stepDefinitions/PDFDOwnloadPageSteps.java create mode 100644 src/test/java/wikipedia/utils/DataProcessor.java create mode 100644 src/test/java/wikipedia/utils/DriverTools.java create mode 100644 src/test/java/wikipedia/utils/FileActions.java create mode 100644 src/test/java/wikipedia/utils/ProcessedData.java create mode 100644 src/test/resources/allure.properties diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..659dbaa --- /dev/null +++ b/pom.xml @@ -0,0 +1,77 @@ + + + 4.0.0 + + SeleniumWebdriver + WikipediaPDF_0001 + 1.0-SNAPSHOT + + + 17 + 17 + UTF-8 + + + + + jitpack.io + https://jitpack.io + + + + + + + com.github.aquality-automation + aquality-selenium-java + 4.0.1-SNAPSHOT + + + + + org.seleniumhq.selenium + selenium-java + 4.17.0 + + + + + org.testng + testng + 7.9.0 + test + + + + + io.cucumber + cucumber-java + 7.15.0 + + + + + io.cucumber + cucumber-testng + 7.15.0 + + + + + io.qameta.allure + allure-testng + 2.25.0 + + + + + com.google.code.gson + gson + 2.10.1 + + + + + diff --git a/src/test/java/wikipedia/TestRunner.java b/src/test/java/wikipedia/TestRunner.java new file mode 100644 index 0000000..02e6949 --- /dev/null +++ b/src/test/java/wikipedia/TestRunner.java @@ -0,0 +1,16 @@ +package wikipedia; + +import io.cucumber.testng.AbstractTestNGCucumberTests; +import io.cucumber.testng.CucumberOptions; +import org.testng.annotations.DataProvider; + +@CucumberOptions( + features={"src/test/java/wikipedia/features"}, + glue={"wikipedia.hooks","wikipedia.stepDefinitions"} +) +public class TestRunner extends AbstractTestNGCucumberTests{ + @Override @DataProvider(parallel = true) + public Object[][] scenarios() { + return super.scenarios(); + } +} \ No newline at end of file diff --git a/src/test/java/wikipedia/data/preTestData.json b/src/test/java/wikipedia/data/preTestData.json new file mode 100644 index 0000000..8b49c61 --- /dev/null +++ b/src/test/java/wikipedia/data/preTestData.json @@ -0,0 +1,6 @@ +{ + "URL": "https://www.wikipedia.org/", + "SearchContext": "Albert Einstein", + "FileName": "Albert_Einstein.pdf", + "PageInformationHeader": "Information for \"Albert Einstein\"" +} \ No newline at end of file diff --git a/src/test/java/wikipedia/features/wikipeadia.feature b/src/test/java/wikipedia/features/wikipeadia.feature new file mode 100644 index 0000000..7afd0ad --- /dev/null +++ b/src/test/java/wikipedia/features/wikipeadia.feature @@ -0,0 +1,24 @@ + + +Feature: Wikipedia Functionality Testing + + Background: + Given the user is on the Main page + Then the user inputs "Albert Einstein" in the search field + + Scenario: Download PDF from Albert Einstein Article + Then the user clicks on the search submit button + And the user clicks the Tool menu button on the Article page + And the user clicks the Download as PDF button on the Article page + Then the file with the provided name on the Download as PDF page should be downloaded + + Scenario: View Page Information for Albert Einstein Article + Then the user clicks on the search submit button + And the user clicks the Tool menu button on the Article page + And the user clicks the Page information button on the Article page + Then the Information page for the "Albert Einstein" article should be displayed + + Scenario: Search Albert Einstein in Spanish Language + When the user changes the search language to "EspaƱol" + Then the user clicks on the search submit button + Then the Article page for "Albert Einstein" in Spanish should be open diff --git a/src/test/java/wikipedia/hooks/Hooks.java b/src/test/java/wikipedia/hooks/Hooks.java new file mode 100644 index 0000000..816f362 --- /dev/null +++ b/src/test/java/wikipedia/hooks/Hooks.java @@ -0,0 +1,29 @@ +package wikipedia.hooks; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.browser.Browser; +import io.cucumber.java.After; +import io.cucumber.java.Before; +import io.cucumber.java.en.Given; +import org.testng.Assert; +import wikipedia.utils.DataProcessor; +import wikipedia.utils.DriverTools; +import static io.qameta.allure.Allure.step; + +public class Hooks { + + private Browser browser= AqualityServices.getBrowser(); + + @Before + public void setUp(){ +// browser.maximize(); + browser.setWindowSize(1440, 900); + browser.goTo(DataProcessor.processedData().getURL()); + } + + @After + public void tearDown(){ + browser.quit(); + } + +} diff --git a/src/test/java/wikipedia/pages/ArticlePage.java b/src/test/java/wikipedia/pages/ArticlePage.java new file mode 100644 index 0000000..27f43a3 --- /dev/null +++ b/src/test/java/wikipedia/pages/ArticlePage.java @@ -0,0 +1,37 @@ +package wikipedia.pages; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.browser.Browser; +import aquality.selenium.elements.interfaces.IButton; +import aquality.selenium.elements.interfaces.IElementFactory; +import aquality.selenium.elements.interfaces.ILabel; +import aquality.selenium.elements.interfaces.ILink; +import aquality.selenium.forms.Form; +import org.openqa.selenium.By; +import wikipedia.utils.DriverTools; + +public class ArticlePage extends Form { + + public ArticlePage() { + super(By.xpath("//*[contains(@class,'mw-page-title-main')]"),"Result page header"); + } + + private IElementFactory iElementFactory=AqualityServices.getElementFactory(); + + private final ILabel PAGE_HEADER= iElementFactory.getLabel(By.cssSelector("#firstHeading .mw-page-title-main"),"Page Header"); + private final ILink PAGE_INFORMATION_LINK=iElementFactory.getLink(By.cssSelector("a[title='More information about this page'] span"),"Page information link"); + private final IButton TOOLS_DROPDOWN_BTN=iElementFactory.getButton(By.cssSelector(".vector-page-tools-landmark #vector-page-tools-dropdown"),"Tools Dropdown button"); + private final ILink PDF_DOWNLOAD_LINK=iElementFactory.getLink(By.xpath("//*[text()='Download as PDF']"),"PDF Download link"); + + + + + public ILabel getPAGE_HEADER(){return PAGE_HEADER;} + public String getPageHeaderText(){return getPAGE_HEADER().getText();} + public ILink getPAGE_INFORMATION_LINK(){return PAGE_INFORMATION_LINK;} + public void clickOnPageInformationLink(){getPAGE_INFORMATION_LINK().click();} + public IButton getTOOLS_DROPDOWN_BTN(){return TOOLS_DROPDOWN_BTN;} + public void clickOnToolsDropdownBtn(){getTOOLS_DROPDOWN_BTN().click();} + public ILink getPDF_DOWNLOAD_LINK(){return PDF_DOWNLOAD_LINK;} + public void clickOnPdfDownloadLink(){getPDF_DOWNLOAD_LINK().click();} +} diff --git a/src/test/java/wikipedia/pages/InformationPage.java b/src/test/java/wikipedia/pages/InformationPage.java new file mode 100644 index 0000000..9c87a98 --- /dev/null +++ b/src/test/java/wikipedia/pages/InformationPage.java @@ -0,0 +1,34 @@ +package wikipedia.pages; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.elements.interfaces.IElementFactory; +import aquality.selenium.elements.interfaces.ILabel; +import aquality.selenium.forms.Form; +import org.openqa.selenium.By; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class InformationPage extends Form { + public InformationPage() { + super(By.xpath("//*[@role='main']"), "Information page"); + } + + private IElementFactory iElementFactory= AqualityServices.getElementFactory(); + + private final ILabel PAGE_HEADER=iElementFactory.getLabel(By.xpath("//*[@id='firstHeading']"),",Page header"); + + + + + public String getPAGE_HEADER(){ + Pattern pattern = Pattern.compile("\"(.*?)\""); + Matcher matcher = pattern.matcher(PAGE_HEADER.getText()); + String lastMatchedValue = ""; + while (matcher.find()) { + lastMatchedValue = matcher.group(1).trim(); + } + return lastMatchedValue; + } + +} diff --git a/src/test/java/wikipedia/pages/MainPage.java b/src/test/java/wikipedia/pages/MainPage.java new file mode 100644 index 0000000..a4a6113 --- /dev/null +++ b/src/test/java/wikipedia/pages/MainPage.java @@ -0,0 +1,54 @@ +package wikipedia.pages; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.elements.ElementType; +import aquality.selenium.elements.interfaces.*; +import aquality.selenium.forms.Form; +import org.openqa.selenium.By; +import java.util.List; + +public class MainPage extends Form { + + public MainPage() { + super(By.id("www-wikipedia-org"), "Search Page"); + } + + private IElementFactory iElementFactory= AqualityServices.getElementFactory(); + + private final ITextBox SEARCH_FIELD=iElementFactory.getTextBox(By.xpath("//*[@id='searchInput']"),"Search field on the search page"); + private final IButton LANGUAGE_SELECITOR_BTN=iElementFactory.getButton(By.xpath("//*[contains(@class,'hide-arrow')]"),"Language selector button"); + private List languages; + private final IButton SEARCH_SUBMIT_BTN=iElementFactory.getButton(By.xpath("//*[@type='submit']"),"Search submit button on the search page"); + private List searchResults; + + + + + + public ITextBox getSEARCH_FIELD(){return SEARCH_FIELD;} + + public void typeInTheSearchField(String text){getSEARCH_FIELD().clearAndType(text);} + + public IButton getSEARCH_SUBMIT_BTN(){return SEARCH_SUBMIT_BTN;} + public void clickOnSearchSubmitBtn(){getSEARCH_SUBMIT_BTN().click();} + + public IButton getLANGUAGE_SELECTOR_BTN(){return LANGUAGE_SELECITOR_BTN;} + public void clickOnTheLanguageSelectorBtn(){getLANGUAGE_SELECTOR_BTN().click();} + public List setLanguages(){ + languages=iElementFactory.findElements(By.xpath("//*[@id='searchLanguage']/option"), "List of languages", ElementType.BUTTON); + return languages; + } + public void setLanguageToEspanol(String text){ + setLanguages(); + for(IElement language:languages){ + if(language.getText().equals(text)){ + language.click(); + } + } + } + public List getSearchResults(){ + searchResults=iElementFactory.findElements(By.xpath("//*[@class='suggestion-link']"),"Search results",ElementType.LABEL); + return searchResults; + } + +} diff --git a/src/test/java/wikipedia/pages/PDFDownloadPage.java b/src/test/java/wikipedia/pages/PDFDownloadPage.java new file mode 100644 index 0000000..359ccc8 --- /dev/null +++ b/src/test/java/wikipedia/pages/PDFDownloadPage.java @@ -0,0 +1,30 @@ +package wikipedia.pages; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.elements.interfaces.IButton; +import aquality.selenium.elements.interfaces.IElementFactory; +import aquality.selenium.elements.interfaces.ILabel; +import aquality.selenium.forms.Form; +import org.openqa.selenium.By; +import wikipedia.utils.DriverTools; + +public class PDFDownloadPage extends Form { + + public PDFDownloadPage() { + super(By.xpath("//h1[contains(@class,'mw-first-heading') and text()='Download as PDF']"), "PDF Download page"); + } + + private IElementFactory iElementFactory= AqualityServices.getElementFactory(); + + private final ILabel FILE_DOWNLOAD_BOX= iElementFactory.getLabel(By.xpath("//*[contains(@class,'mw-electronpdfservice-selection-label-text')]"),"File download box"); + private final IButton FILE_DOWNLOAD_BTN=iElementFactory.getButton(By.xpath("//*[contains(@class,'oo-ui-labelElement-label')and text()='Download']"),"File download button"); + + + + + public ILabel getFILE_DOWNLOAD_BOX(){return FILE_DOWNLOAD_BOX;} + public String getFileDownloadBoxText(){return getFILE_DOWNLOAD_BOX().getText();} + public IButton getFILE_DOWNLOAD_BTN(){return FILE_DOWNLOAD_BTN;} + public void clickOnFileDownloadBtn(){getFILE_DOWNLOAD_BTN().click();} + +} diff --git a/src/test/java/wikipedia/stepDefinitions/ArticlePageSteps.java b/src/test/java/wikipedia/stepDefinitions/ArticlePageSteps.java new file mode 100644 index 0000000..0d74ebb --- /dev/null +++ b/src/test/java/wikipedia/stepDefinitions/ArticlePageSteps.java @@ -0,0 +1,29 @@ +package wikipedia.stepDefinitions; + +import io.cucumber.java.en.And; +import io.cucumber.java.en.Then; +import org.testng.Assert; +import wikipedia.pages.ArticlePage; +import wikipedia.utils.DataProcessor; + +public class ArticlePageSteps { + + private ArticlePage articlePage=new ArticlePage(); + + @And("the user clicks the Tool menu button on the Article page") + public void theUserClicksTheToolMenuButtonOnTheArticlePage() { + articlePage.clickOnToolsDropdownBtn(); + } + @And("the user clicks the Download as PDF button on the Article page") + public void theUserClicksTheDownloadAsPDFBtn(){ + articlePage.clickOnPdfDownloadLink(); + } + @And("the user clicks the Page information button on the Article page") + public void theUserClicksThePageInformationButtonOnTheArticlePage() { + articlePage.clickOnPageInformationLink(); + } + @Then("the Article page for {string} in Spanish should be open") + public void checkPageHeader(String string){ + Assert.assertEquals(articlePage.getPageHeaderText(),string,"Page header does not match"); + } +} diff --git a/src/test/java/wikipedia/stepDefinitions/InformationPageSteps.java b/src/test/java/wikipedia/stepDefinitions/InformationPageSteps.java new file mode 100644 index 0000000..019e91b --- /dev/null +++ b/src/test/java/wikipedia/stepDefinitions/InformationPageSteps.java @@ -0,0 +1,19 @@ +package wikipedia.stepDefinitions; + +import io.cucumber.java.en.Then; +import org.testng.Assert; +import wikipedia.pages.InformationPage; + +public class InformationPageSteps { + + private InformationPage informationPage=new InformationPage(); + + + + + @Then("the Information page for the {string} article should be displayed") + public void infoPageIsDisplayed(String string){ + Assert.assertEquals(informationPage.getPAGE_HEADER(), string,"Page informaiton is not correct"); + } + +} diff --git a/src/test/java/wikipedia/stepDefinitions/MainPageSteps.java b/src/test/java/wikipedia/stepDefinitions/MainPageSteps.java new file mode 100644 index 0000000..8fa0ed0 --- /dev/null +++ b/src/test/java/wikipedia/stepDefinitions/MainPageSteps.java @@ -0,0 +1,32 @@ +package wikipedia.stepDefinitions; + +import aquality.selenium.elements.interfaces.IElement; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; +import org.testng.Assert; +import wikipedia.pages.MainPage; + +public class MainPageSteps { + + private MainPage mainPage=new MainPage(); + + @Given("the user is on the Main page") + public void theUserIsOnTheMainPage() { + Assert.assertTrue(mainPage.state().isDisplayed()); + } + @Then("the user inputs {string} in the search field") + public void theUserInputsInTheSearchFieldAndClicksSubmit(String string) { + mainPage.typeInTheSearchField(string); + } + @Then("the user clicks on the search submit button") + public void clickOnTheSearchSubmitBtn(){ + mainPage.clickOnSearchSubmitBtn(); + } + @When("the user changes the search language to {string}") + public void selectEspanolLanguage(String string){ + mainPage.clickOnTheLanguageSelectorBtn(); + mainPage.setLanguageToEspanol(string); + } + +} diff --git a/src/test/java/wikipedia/stepDefinitions/PDFDOwnloadPageSteps.java b/src/test/java/wikipedia/stepDefinitions/PDFDOwnloadPageSteps.java new file mode 100644 index 0000000..5422c8a --- /dev/null +++ b/src/test/java/wikipedia/stepDefinitions/PDFDOwnloadPageSteps.java @@ -0,0 +1,18 @@ +package wikipedia.stepDefinitions; + +import io.cucumber.java.en.Then; +import org.testng.Assert; +import wikipedia.pages.PDFDownloadPage; +import wikipedia.utils.FileActions; + +public class PDFDOwnloadPageSteps { + + private PDFDownloadPage pdfDownloadPage=new PDFDownloadPage(); + + @Then("the file with the provided name on the Download as PDF page should be downloaded") + public void theFileIsDownloadedFromThePDFDownloadPage(){ + pdfDownloadPage.clickOnFileDownloadBtn(); + Assert.assertTrue(FileActions.doesFileExists(FileActions.getDOWNLOADED_FILE()),"File not found at the location"); + FileActions.deleteFile(FileActions.doesFileExists(FileActions.getDOWNLOADED_FILE())); + } +} diff --git a/src/test/java/wikipedia/utils/DataProcessor.java b/src/test/java/wikipedia/utils/DataProcessor.java new file mode 100644 index 0000000..39af17b --- /dev/null +++ b/src/test/java/wikipedia/utils/DataProcessor.java @@ -0,0 +1,24 @@ +package wikipedia.utils; + +import aquality.selenium.browser.AqualityServices; +import com.google.gson.Gson; +import java.io.FileReader; + +public class DataProcessor { + + private static final Gson GSON=new Gson(); + private static final String PRE_TEST_DATA="./src/test/java/wikipedia/data/preTestData.json"; + + + + + public static ProcessedData processedData(){ + try{ + return GSON.fromJson(new FileReader(PRE_TEST_DATA),ProcessedData.class); + }catch(Exception err){ + AqualityServices.getLogger().error(err.getMessage()); + throw new RuntimeException(err.getMessage()); + } + } + +} diff --git a/src/test/java/wikipedia/utils/DriverTools.java b/src/test/java/wikipedia/utils/DriverTools.java new file mode 100644 index 0000000..fce033b --- /dev/null +++ b/src/test/java/wikipedia/utils/DriverTools.java @@ -0,0 +1,21 @@ +package wikipedia.utils; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.browser.Browser; +import aquality.selenium.core.waitings.IConditionalWait; +import aquality.selenium.elements.interfaces.IElementFactory; + +public class DriverTools { + + private static final Browser BROWSER= AqualityServices.getBrowser(); + private static final IElementFactory iEL_FACTORY=AqualityServices.getElementFactory(); + private static final IConditionalWait iCON_WAIT=AqualityServices.getConditionalWait(); + + + + + public static Browser getBrowser(){return BROWSER;} + public static IElementFactory getiElementFactory(){return iEL_FACTORY;} + public static IConditionalWait getiConWait(){return iCON_WAIT;} + +} diff --git a/src/test/java/wikipedia/utils/FileActions.java b/src/test/java/wikipedia/utils/FileActions.java new file mode 100644 index 0000000..a8ace76 --- /dev/null +++ b/src/test/java/wikipedia/utils/FileActions.java @@ -0,0 +1,31 @@ +package wikipedia.utils; + +import aquality.selenium.browser.AqualityServices; + +import java.io.File; + +public class FileActions { + + private static final String FILE_DOWNLOAD_LOCATION="./downloads/"; + private static final File DOWNLOADED_FILE=new File(FILE_DOWNLOAD_LOCATION+DataProcessor.processedData().getFileName()); + + + + + public static File getDOWNLOADED_FILE(){return DOWNLOADED_FILE;} + public static boolean doesFileExists(File file){ + try{ + DriverTools.getiConWait().waitFor(() -> file.exists()); + }catch(Exception err){ + AqualityServices.getLogger().error(err.getMessage()); + return false; + } + return true; + } + public static void deleteFile(Boolean condition){ + if(condition){ + DOWNLOADED_FILE.delete(); + } + } + +} diff --git a/src/test/java/wikipedia/utils/ProcessedData.java b/src/test/java/wikipedia/utils/ProcessedData.java new file mode 100644 index 0000000..e0068f0 --- /dev/null +++ b/src/test/java/wikipedia/utils/ProcessedData.java @@ -0,0 +1,18 @@ +package wikipedia.utils; + +public class ProcessedData { + + private String URL; + private String SearchContext; + private String FileName; + private String PageInformationHeader; + + + + + public String getURL(){return URL;} + public String getSearchContext(){return SearchContext;} + public String getFileName(){return FileName;} + public String getPageInformationHeader(){return PageInformationHeader;} + +} diff --git a/src/test/resources/allure.properties b/src/test/resources/allure.properties new file mode 100644 index 0000000..e37bada --- /dev/null +++ b/src/test/resources/allure.properties @@ -0,0 +1,3 @@ +allure.results.directory=target/allure-results +allure.link.issue.pattern=https://example.org/issue/{} +allure.link.tms.pattern=https://example.org/tms/{} \ No newline at end of file From 88498f76fbf6a625975e9c8dae39f2aae355a489 Mon Sep 17 00:00:00 2001 From: sharif-jobayed Date: Fri, 26 Jul 2024 13:39:12 +0600 Subject: [PATCH 2/4] Update pom.xml --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 659dbaa..17a1e05 100644 --- a/pom.xml +++ b/pom.xml @@ -9,8 +9,8 @@ 1.0-SNAPSHOT - 17 - 17 + 21 + 21 UTF-8 From 202492e6b9f2eeae1e3ef02a497ed08e2984523d Mon Sep 17 00:00:00 2001 From: sharif-jobayed Date: Mon, 2 Dec 2024 17:33:34 +0600 Subject: [PATCH 3/4] No major updates --- src/test/java/wikipedia/TestRunner.java | 11 ++++++----- src/test/java/wikipedia/utils/FileActions.java | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/test/java/wikipedia/TestRunner.java b/src/test/java/wikipedia/TestRunner.java index 02e6949..2d672f2 100644 --- a/src/test/java/wikipedia/TestRunner.java +++ b/src/test/java/wikipedia/TestRunner.java @@ -5,12 +5,13 @@ import org.testng.annotations.DataProvider; @CucumberOptions( - features={"src/test/java/wikipedia/features"}, - glue={"wikipedia.hooks","wikipedia.stepDefinitions"} + features = {"src/test/java/wikipedia/features"}, + glue = {"wikipedia.hooks", "wikipedia.stepDefinitions"} ) -public class TestRunner extends AbstractTestNGCucumberTests{ - @Override @DataProvider(parallel = true) +public class TestRunner extends AbstractTestNGCucumberTests { + @Override + @DataProvider(parallel = true) public Object[][] scenarios() { return super.scenarios(); } -} \ No newline at end of file +} diff --git a/src/test/java/wikipedia/utils/FileActions.java b/src/test/java/wikipedia/utils/FileActions.java index a8ace76..8625201 100644 --- a/src/test/java/wikipedia/utils/FileActions.java +++ b/src/test/java/wikipedia/utils/FileActions.java @@ -15,7 +15,7 @@ public class FileActions { public static File getDOWNLOADED_FILE(){return DOWNLOADED_FILE;} public static boolean doesFileExists(File file){ try{ - DriverTools.getiConWait().waitFor(() -> file.exists()); + DriverTools.getiConWait().waitFor(file::exists); }catch(Exception err){ AqualityServices.getLogger().error(err.getMessage()); return false; From bbc253780bf949aae3e2f95610ad41d1d57a4832 Mon Sep 17 00:00:00 2001 From: sharif-jobayed Date: Mon, 2 Dec 2024 17:40:48 +0600 Subject: [PATCH 4/4] No major updates --- src/test/java/wikipedia/utils/FileActions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/wikipedia/utils/FileActions.java b/src/test/java/wikipedia/utils/FileActions.java index 8625201..a8ace76 100644 --- a/src/test/java/wikipedia/utils/FileActions.java +++ b/src/test/java/wikipedia/utils/FileActions.java @@ -15,7 +15,7 @@ public class FileActions { public static File getDOWNLOADED_FILE(){return DOWNLOADED_FILE;} public static boolean doesFileExists(File file){ try{ - DriverTools.getiConWait().waitFor(file::exists); + DriverTools.getiConWait().waitFor(() -> file.exists()); }catch(Exception err){ AqualityServices.getLogger().error(err.getMessage()); return false;