diff --git a/Nagaytseva/src/test/java/DownloadDoc.java b/Nagaytseva/src/test/java/DownloadDoc.java index 64fd08c..3b74d8f 100644 --- a/Nagaytseva/src/test/java/DownloadDoc.java +++ b/Nagaytseva/src/test/java/DownloadDoc.java @@ -20,12 +20,19 @@ public class DownloadDoc { private final static String APP_URL = "https://1c.ru/"; private static Context context; - private String tmpPath; + private int menuItemNumber; + private int imgNumber; + private static String tmpPath; + + + @BeforeAll public static void setup() { context = new ChromeContext(); context.start(); context.getDriver().manage().window().setSize(new Dimension(1600, 900)); + context.getDriver().get(APP_URL); + tmpPath = context.getTmpPath(); } @AfterAll @@ -33,37 +40,45 @@ public class DownloadDoc { context.close(); } - @Test public void testDownloandZip() throws InterruptedException { context.getDriver().get(APP_URL); PageMain page = PageFactory.initElements(context.getDriver(), PageMain.class); - page.clickFooterMenuItem(4); + menuItemNumber = 4; + page.clickFooterMenuItem(menuItemNumber); PagePriceList pagePriceList = PageFactory.initElements(context.getDriver(), PagePriceList.class); String fileName = pagePriceList.getFileName(); pagePriceList.clickBtn(); - - Assertions.assertTrue(pagePriceList.isFileDownloaded(fileName)); - + checkDownload(fileName,100,100); } + @Test public void testDownloandOpenChrome() throws InterruptedException { context.getDriver().get(APP_URL); PageMain page = PageFactory.initElements(context.getDriver(), PageMain.class); - page.clickFooterMenuItem(3); + menuItemNumber = 3; + page.clickFooterMenuItem(menuItemNumber); PageProgrammProduct pageProgrammProduct = PageFactory.initElements(context.getDriver(), PageProgrammProduct.class); - pageProgrammProduct.clickLeftMenu(5); - PageGosCertification pageGosCertification = PageFactory.initElements(context.getDriver(),PageGosCertification.class); - String fileName = pageGosCertification.getFileNameImg(2); - pageGosCertification.clickiImg(2); - - - - + menuItemNumber = 5; + pageProgrammProduct.clickLeftMenu(menuItemNumber); + PageGosCertification pageGosCertification = PageFactory.initElements(context.getDriver(), PageGosCertification.class); + imgNumber = 2; + String fileName = pageGosCertification.getFileNameImg(imgNumber); + pageGosCertification.clickiImg(imgNumber); Assertions.assertTrue(pageGosCertification.checkOpenImg(fileName)); - } - + private void checkDownload(String fileName,int timeout, int period) throws InterruptedException { + File f = new File(tmpPath +fileName); + int time=0; + while(!f.exists()&&time prefs = new HashMap(); + tmpPath = System.getProperty("user.dir") + "/src/main/resources/downloads/"; + prefs.put("download.default_directory",tmpPath); driver = new ChromeDriver(); } diff --git a/Nagaytseva/src/test/java/context/Context.java b/Nagaytseva/src/test/java/context/Context.java index 928d5dd..9fc26d3 100644 --- a/Nagaytseva/src/test/java/context/Context.java +++ b/Nagaytseva/src/test/java/context/Context.java @@ -7,7 +7,7 @@ import java.util.concurrent.TimeUnit; public abstract class Context { private final static String DRIVER_LOCATION = "drivers/%s"; protected WebDriver driver; - + protected String tmpPath; public WebDriver getDriver() { if (driver != null) { return driver; @@ -36,6 +36,9 @@ public abstract class Context { return Context.class.getClassLoader().getResource( String.format(DRIVER_LOCATION, getDriverExecutable(isWindows()))).getFile(); } + public String getTmpPath(){ + return tmpPath; + } private boolean isWindows() { return System.getProperty("os.name").toLowerCase().contains("windows"); diff --git a/Nagaytseva/src/test/java/page/BrowserWindow.java b/Nagaytseva/src/test/java/page/BrowserWindow.java index 2144c80..c5436c7 100644 --- a/Nagaytseva/src/test/java/page/BrowserWindow.java +++ b/Nagaytseva/src/test/java/page/BrowserWindow.java @@ -1,35 +1,39 @@ package page; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; + import org.openqa.selenium.WebDriver; + import org.openqa.selenium.WebElement; + import org.openqa.selenium.support.FindBy; -import java.util.List; + import java.util.List; public class BrowserWindow { WebDriver driver; - @FindBy(xpath= "//*[@id=\"email\"]") + @FindBy(xpath = "//*[@id=\"email\"]") private WebElement textFieldEmail; @FindBy(className = "btn") private WebElement btnSubscribe; @FindBy(css = ".widebox h3") private List text; + public BrowserWindow(WebDriver driver) { this.driver = driver; } - public void insertText(String text){ + + public void insertText(String text) { textFieldEmail.sendKeys(text); } - public void clickSubscribe(){ + + public void clickSubscribe() { btnSubscribe.click(); } - public boolean subscribeTrue(){ - if(text.get(1).getText().contains("Ваши данные приняты")){ + + public boolean subscribeTrue() { + if (text.get(1).getText().contains("Ваши данные приняты")) { return true; } -return false; + return false; } } diff --git a/Nagaytseva/src/test/java/page/InformersTest.java b/Nagaytseva/src/test/java/page/InformersTest.java deleted file mode 100644 index 54a359f..0000000 --- a/Nagaytseva/src/test/java/page/InformersTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package page; - -import context.ChromeContext; -import context.Context; -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.openqa.selenium.Dimension; -import org.openqa.selenium.support.PageFactory; - -public class InformersTest { - // http://1c.ru/news/informer.htm - private final static String APP_URL = "http://1c.ru/news/informer.htm"; - - private static Context context; - - @BeforeAll - public static void setup() { - context = new ChromeContext(); - context.start(); - context.getDriver().manage().window().setSize(new Dimension(1600, 900)); - } - - @AfterAll - public static void quit() { - context.close(); - } - @Test - public void testInformer(){ - context.getDriver().get(APP_URL); - - - PageInformers pageInformers = PageFactory.initElements(context.getDriver(),PageInformers.class); - String count = "5"; - pageInformers.insertText(count); - - pageInformers.clickBtn(); - - Assertions.assertTrue(pageInformers.checkInformer()); - } -} diff --git a/Nagaytseva/src/test/java/page/PageFirm1C.java b/Nagaytseva/src/test/java/page/PageFirm1C.java index 5fd149a..2ea4038 100644 --- a/Nagaytseva/src/test/java/page/PageFirm1C.java +++ b/Nagaytseva/src/test/java/page/PageFirm1C.java @@ -14,26 +14,28 @@ public class PageFirm1C { @FindBy(css = ".sidebar-menu li") private List itemMenu; - @FindBy(xpath= "//*[@id=\"main_field\"]/h4[1]/a") + @FindBy(xpath = "//*[@id=\"main_field\"]/h4[1]/a") private WebElement linlVacancy; - private static int systemManagmentMenuElementNumber = 5; - public PageFirm1C (WebDriver driver) { + + public PageFirm1C(WebDriver driver) { this.driver = driver; } - public void clickSystemManagment(){ - itemMenu.get(systemManagmentMenuElementNumber).click(); + public void clickSystemManagment() { + itemMenu.get(systemManagmentMenuElementNumber).click(); } - public void clickLeftMenu(int number){ + public void clickLeftMenu(int number) { itemMenu.get(number).click(); } - public void clickVacancy(){ + + public void clickVacancy() { itemMenu.get(4).click(); } - public void clickVacancyLink(){ + + public void clickVacancyLink() { linlVacancy.click(); try { Thread.sleep(5000); @@ -42,13 +44,12 @@ public class PageFirm1C { } } - - public boolean disposalVacancyList(){ + public boolean disposalVacancyList() { return driver.findElement(By.cssSelector("#dept6")).isDisplayed(); } - public boolean footerMenuList(){ + + public boolean footerMenuList() { return driver.findElement(By.cssSelector(".widebox")).isDisplayed(); } - } diff --git a/Nagaytseva/src/test/java/page/PageGosCertification.java b/Nagaytseva/src/test/java/page/PageGosCertification.java index 131b002..310c356 100644 --- a/Nagaytseva/src/test/java/page/PageGosCertification.java +++ b/Nagaytseva/src/test/java/page/PageGosCertification.java @@ -14,31 +14,27 @@ public class PageGosCertification { @FindBy(css = ".widebox a") private List elementImg; - public PageGosCertification(WebDriver driver) { this.driver = driver; } - public void clickiImg(int number){ + public void clickiImg(int number) { elementImg.get(number).click(); - } - public String getFileNameImg(int elementNumber){ + + public String getFileNameImg(int elementNumber) { String fileName = elementImg.get(elementNumber).getAttribute("href"); - fileName = fileName.substring(fileName.lastIndexOf("/")+1); + fileName = fileName.substring(fileName.lastIndexOf("/") + 1); return fileName; } - public boolean checkOpenImg(String str) { + public boolean checkOpenImg(String str) { boolean check = false; - File f = new File (str); + File f = new File(str); String s = driver.getCurrentUrl(); - if(s.contains(str)) + if (s.contains(str)) check = true; return check; - } - - } diff --git a/Nagaytseva/src/test/java/page/PageInformationRelease.java b/Nagaytseva/src/test/java/page/PageInformationRelease.java index 3640fe8..c37df3c 100644 --- a/Nagaytseva/src/test/java/page/PageInformationRelease.java +++ b/Nagaytseva/src/test/java/page/PageInformationRelease.java @@ -9,34 +9,35 @@ import org.openqa.selenium.support.PageFactory; public class PageInformationRelease { WebDriver driver; - @FindBy(className= "previous") + @FindBy(className = "previous") private WebElement elementBackBtmNews; - @FindBy(className= "next") + @FindBy(className = "next") private WebElement elementNextBtmNews; - @FindBy(id= "pagecontentforsolr") + @FindBy(id = "pagecontentforsolr") private WebElement content; - @FindBy(xpath= "//*[@id=\"pagecontentforsolr\"]/div[4]") + @FindBy(xpath = "//*[@id=\"pagecontentforsolr\"]/div[4]") private WebElement title; + public PageInformationRelease(WebDriver driver) { this.driver = driver; } - public void clickBtmBack(){ + public void clickBtmBack() { elementBackBtmNews.click(); } - public void clickBtmNext(){ - elementBackBtmNews.click(); - } - public boolean disposeMainInformation() { + public void clickBtmNext() { + elementBackBtmNews.click(); + } + + public boolean disposeMainInformation() { return content.isDisplayed(); } - public boolean displayNewsInformationTrue(String str){ - + public boolean displayNewsInformationTrue(String str) { return title.getText().contains(str); } } diff --git a/Nagaytseva/src/test/java/page/PageInformers.java b/Nagaytseva/src/test/java/page/PageInformers.java index c64f7af..af33f68 100644 --- a/Nagaytseva/src/test/java/page/PageInformers.java +++ b/Nagaytseva/src/test/java/page/PageInformers.java @@ -13,42 +13,34 @@ public class PageInformers { @FindBy(xpath = "//*[@id=\"pagecontentforsolr\"]/table[1]/tbody/tr/td[2]/form/textarea") private WebElement elementCode; - @FindBy(name = "limit") private WebElement textField; @FindBy(xpath = "//*[@id=\"pagecontentforsolr\"]/table[1]/tbody/tr/td[2]/form/table/tbody/tr[4]/td/input") private WebElement formBtn; - - - public PageInformers(WebDriver driver) { this.driver = driver; } - public void insertText(String text){ + + public void insertText(String text) { textField.clear(); textField.sendKeys(text); } private String strCode; - private int countItem; - public void clickBtn() { + public void clickBtn() { formBtn.click(); strCode = elementCode.getAttribute("value"); } - - - public boolean checkInformer(){ - - boolean check = false; - String strTexyField = textField.getAttribute("value"); - String strCode1 = strCode; - - if(strCode1.contains(strTexyField)) - check=true; - return check; + public boolean checkWorkInformer() { + boolean check = false; + String strTexyField = textField.getAttribute("value"); + String strCode1 = strCode; + if (strCode1.contains(strTexyField)) + check = true; + return check; } } diff --git a/Nagaytseva/src/test/java/page/PageListFirm.java b/Nagaytseva/src/test/java/page/PageListFirm.java index 6d6e41d..d0ab465 100644 --- a/Nagaytseva/src/test/java/page/PageListFirm.java +++ b/Nagaytseva/src/test/java/page/PageListFirm.java @@ -8,32 +8,34 @@ import java.util.List; public class PageListFirm { WebDriver driver; - @FindBy(css = ".content select") private WebElement selectListCity; + @FindBy(xpath = "//*[@id=\"pagecontentforsolr\"]/table/tbody/tr[1]/th[2]/select/option[17]") private WebElement itemListCity; - @FindBy(css="tr") + + @FindBy(css = "tr") private List tr; public PageListFirm(WebDriver driver) { this.driver = driver; } - public void clickCity(){ + + public void clickCity() { selectListCity.click(); itemListCity.click(); - try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } - public boolean checkSortCity(){ + + public boolean checkSortCity() { boolean checkSearch = false; int count = tr.size(); - for(int i = 0; i elementDateNumber; - @FindBy(id= "date_to") + @FindBy(id = "date_to") private WebElement elementDateTo; - @FindBy(css= ".widebox li") + @FindBy(css = ".widebox li") private List elementListNews; - @FindBy(className= "datepicker-switch") + @FindBy(className = "datepicker-switch") private WebElement elementMonth; - @FindBy(className= "prev") + @FindBy(className = "prev") private WebElement elementBack; public PageNews(WebDriver driver) { this.driver = driver; } - public void insertSearchText(String text){ + public void insertSearchText(String text) { elementEntryField.sendKeys(text); } + private int strDayFirst; private int strDayLast; private String strMonthFirst; private String strMonthLast; - public void clickBtmSearch(){ + + public void clickBtmSearch() { elementBtnSearch.click(); } - public void submitSearch(){ + + public void submitSearch() { elementEntryField.sendKeys(Keys.RETURN); try { Thread.sleep(5000); @@ -59,7 +62,8 @@ public class PageNews { e.printStackTrace(); } } - public void clickSelectionDate(int number1){ + + public void clickSelectionDate(int number1) { elementDateFrom.click(); elementBack.click(); elementDateNumber.get(number1).click(); @@ -67,14 +71,14 @@ public class PageNews { strMonthFirst = elementMonth.getText(); - } - public void clickSelectionDateL( int number2){ + + public void clickSelectionDateL(int number2) { elementDateTo.click(); elementDateNumber.get(number2).click(); strDayLast = Integer.parseInt(elementDateNumber.get(number2).getText()); - strMonthLast =elementMonth.getText(); + strMonthLast = elementMonth.getText(); driver.findElement(By.className("cats")).click(); @@ -85,13 +89,11 @@ public class PageNews { } - - public boolean checkSearchParametrsFirstLastDay() throws ParseException { boolean checkSearch = false; int count = elementListNews.size(); - String firstDayNewsList = elementListNews.get(0).getText().substring(0,elementListNews.get(0).getText().indexOf("\n")); - String enDayNewsList = elementListNews.get(count-1).getText().substring(0,elementListNews.get(count-1).getText().indexOf("\n")); + String firstDayNewsList = elementListNews.get(0).getText().substring(0, elementListNews.get(0).getText().indexOf("\n")); + String enDayNewsList = elementListNews.get(count - 1).getText().substring(0, elementListNews.get(count - 1).getText().indexOf("\n")); String fDayNumber = elementDateFrom.getAttribute("value"); String eDayNumber = elementDateTo.getAttribute("value"); SimpleDateFormat newDateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()); @@ -102,23 +104,19 @@ public class PageNews { Date dateFDay = newDateFormat.parse(fDayNumber); Date dateEDay = newDateFormat.parse(eDayNumber); - if(dateFirstList.before(dateEDay)|| dateFirstList.equals(dateEDay)) - { - if(dateEndList.after(dateFDay) ||dateEndList.equals(dateFDay)) - checkSearch = true; + if ((dateFirstList.before(dateEDay) || dateFirstList.equals(dateEDay)) && (dateEndList.after(dateFDay) || dateEndList.equals(dateFDay)) ) { + checkSearch = true; } - - - return checkSearch; } + public boolean checkSearchParametrsLastDay() throws ParseException { boolean checkSearch = false; String firstDayNewsList = elementListNews.get(0).getText(); String dateTo = elementDateTo.getAttribute("value"); - String dateInString = firstDayNewsList.substring(0,firstDayNewsList.indexOf("\n"));//создаю строку по заданному формату - String oldDateString = dateInString ; + String dateInString = firstDayNewsList.substring(0, firstDayNewsList.indexOf("\n"));//создаю строку по заданному формату + String oldDateString = dateInString; SimpleDateFormat newDateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()); SimpleDateFormat oldDateFormat = new SimpleDateFormat("dd MMMM yyyy", Locale.getDefault()); @@ -127,19 +125,18 @@ public class PageNews { Date date1 = newDateFormat.parse(dateTo); - if(date1.after(date) || date1.equals(date)){ + if (date1.after(date) || date1.equals(date)) { checkSearch = true; } - - return checkSearch; } - public boolean checkSearch(){ + + public boolean checkSearch() { boolean checkSearch = false; int count = elementListNews.size(); String strSearch = elementEntryField.getAttribute("value"); - for(int i=0; i elementMenu; - public PageProgrammProduct(WebDriver driver) { this.driver = driver; } - public void clickLeftMenu(int number){ + + public void clickLeftMenu(int number) { elementMenu.get(number).click(); diff --git a/Nagaytseva/src/test/java/page/PageSearch.java b/Nagaytseva/src/test/java/page/PageSearch.java index fb9c886..c592073 100644 --- a/Nagaytseva/src/test/java/page/PageSearch.java +++ b/Nagaytseva/src/test/java/page/PageSearch.java @@ -23,20 +23,20 @@ public class PageSearch { private WebElement searchBtn; private static int topMenuElementNumber = 1; + public PageSearch(WebDriver driver) { this.driver = driver; } - - public void clickLeftMenu(int number){ + public void clickLeftMenu(int number) { leftMenuElement.get(number).click(); } - public void clickTopMenu(){ + public void clickTopMenu() { topMenuElement.get(topMenuElementNumber).click(); } - public boolean searchPage(){ + public boolean searchPage() { return driver.findElement(By.cssSelector("#pagecontentforsolr")).isDisplayed(); } } diff --git a/Nagaytseva/src/test/java/page/PageSystemManagment.java b/Nagaytseva/src/test/java/page/PageSystemManagment.java index fbd92c1..a530f13 100644 --- a/Nagaytseva/src/test/java/page/PageSystemManagment.java +++ b/Nagaytseva/src/test/java/page/PageSystemManagment.java @@ -18,41 +18,42 @@ public class PageSystemManagment { @FindBy(className = "scope") private List elementPopUpWindow; + @FindBy(css = ".scope .from") private WebElement windowPopUp; + @FindBy(css = ".widebox a") private List elementtLinkText; - public PageSystemManagment (WebDriver driver) { + + public PageSystemManagment(WebDriver driver) { this.driver = driver; } public void clickLeftMenuListPagination() { - itemLeftMenu.get(4).click(); - } + public void clickLeftMenuListWindiw() { - itemLeftMenu.get(3).click(); - } + public void clickPaginationElement() { - paginationElement.get(3).click(); - } + public void clickPopUpWindowElement() { - - elementPopUpWindow.get(0).click(); - + elementPopUpWindow.get(0).click(); } - public void clickLinkText(){ + + public void clickLinkText() { elementtLinkText.get(1).click(); } - public boolean paginationCheck(){ + + public boolean paginationCheck() { return driver.findElement(By.cssSelector(".ndate")).isDisplayed(); } - public boolean popUpWindowCheck(){ + + public boolean popUpWindowCheck() { return windowPopUp.isDisplayed(); } diff --git a/Nagaytseva/src/test/java/page/PageUserCertification.java b/Nagaytseva/src/test/java/page/PageUserCertification.java index 223a639..32a8202 100644 --- a/Nagaytseva/src/test/java/page/PageUserCertification.java +++ b/Nagaytseva/src/test/java/page/PageUserCertification.java @@ -12,32 +12,34 @@ public class PageUserCertification { @FindBy(className = "country-list-li") private List itemListCountry; - @FindBy(name="reg") + @FindBy(name = "reg") private WebElement selectListCity; - @FindBy(xpath="//*[@id=\"pagecontentforsolr\"]/form[2]/select/option[8]") + + @FindBy(xpath = "//*[@id=\"pagecontentforsolr\"]/form[2]/select/option[8]") private WebElement itemListCity; - @FindBy(css="tr") + @FindBy(css = "tr") private List tr; + public PageUserCertification(WebDriver driver) { this.driver = driver; } - - public void clickFilterCountry(int number){ + public void clickFilterCountry(int number) { itemListCountry.get(number).click(); } - public void clickFilterCity(){ + + public void clickFilterCity() { selectListCity.click(); itemListCity.click(); } - public boolean checkFilterCity(){ + public boolean checkSortByFilterCity() { boolean checkSearch = false; int count = tr.size(); - for(int i = 0; i