From ea86ef9c92ad1d936dfb440c6b338261ba0cb284 Mon Sep 17 00:00:00 2001 From: "Anton A. Shtanyuk" Date: Mon, 4 May 2026 05:56:51 +0300 Subject: [PATCH 1/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ac68887..2d0cdf9 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ public class App Обратиться через браузер на адрес **https://api.ipify.org/?format=json** и получить json-ответ, содержащий IP4-адрес клиента. Извлечь адрес и вывести на экран в виде строки. -# Задание №3 +## Задание №3 Через сайт **https://open-meteo.com** получить прогноз погоды на сутки. Использовать в качестве местоположения координаты Нижнего Новгорода (56, 44). From 2b8f7a33df247e2df70fe0bbd52ed3aecfca285b Mon Sep 17 00:00:00 2001 From: cedricir Date: Sun, 7 Jun 2026 22:04:49 +0300 Subject: [PATCH 2/3] initial --- my-app/.mvn/jvm.config | 0 my-app/.mvn/maven.config | 0 my-app/pom.xml | 99 ++++++++++++++++++ .../src/main/java/com/mycompany/app/App.java | 29 +++++ .../main/java/com/mycompany/app/Task2.java | 34 ++++++ .../main/java/com/mycompany/app/Task3.java | 96 +++++++++++++++++ .../test/java/com/mycompany/app/AppTest.java | 19 ++++ .../classes/com/mycompany/app/App.class | Bin 0 -> 1480 bytes .../classes/com/mycompany/app/Task2.class | Bin 0 -> 1927 bytes .../classes/com/mycompany/app/Task3.class | Bin 0 -> 5248 bytes .../compile/default-compile/createdFiles.lst | 3 + .../compile/default-compile/inputFiles.lst | 3 + pom.xml | 99 ++++++++++++++++++ result/forecast.txt | 34 ++++++ 14 files changed, 416 insertions(+) create mode 100644 my-app/.mvn/jvm.config create mode 100644 my-app/.mvn/maven.config create mode 100644 my-app/pom.xml create mode 100644 my-app/src/main/java/com/mycompany/app/App.java create mode 100644 my-app/src/main/java/com/mycompany/app/Task2.java create mode 100644 my-app/src/main/java/com/mycompany/app/Task3.java create mode 100644 my-app/src/test/java/com/mycompany/app/AppTest.java create mode 100644 my-app/target/classes/com/mycompany/app/App.class create mode 100644 my-app/target/classes/com/mycompany/app/Task2.class create mode 100644 my-app/target/classes/com/mycompany/app/Task3.class create mode 100644 my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 pom.xml create mode 100644 result/forecast.txt diff --git a/my-app/.mvn/jvm.config b/my-app/.mvn/jvm.config new file mode 100644 index 0000000..e69de29 diff --git a/my-app/.mvn/maven.config b/my-app/.mvn/maven.config new file mode 100644 index 0000000..e69de29 diff --git a/my-app/pom.xml b/my-app/pom.xml new file mode 100644 index 0000000..f8f748f --- /dev/null +++ b/my-app/pom.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + com.mycompany.app + my-app + 1.0-SNAPSHOT + + my-app + + http://www.example.com + + + UTF-8 + 17 + + + + + + org.junit + junit-bom + 5.11.0 + pom + import + + + + + + + org.junit.jupiter + junit-jupiter-api + test + + + org.seleniumhq.selenium + selenium-java + 4.15.0 + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + org.junit.jupiter + junit-jupiter-params + test + + + + + + + + + maven-clean-plugin + 3.4.0 + + + + maven-resources-plugin + 3.3.1 + + + maven-compiler-plugin + 3.13.0 + + + maven-surefire-plugin + 3.3.0 + + + maven-jar-plugin + 3.4.2 + + + maven-install-plugin + 3.1.2 + + + maven-deploy-plugin + 3.1.2 + + + + maven-site-plugin + 3.12.1 + + + maven-project-info-reports-plugin + 3.6.1 + + + + + diff --git a/my-app/src/main/java/com/mycompany/app/App.java b/my-app/src/main/java/com/mycompany/app/App.java new file mode 100644 index 0000000..700710c --- /dev/null +++ b/my-app/src/main/java/com/mycompany/app/App.java @@ -0,0 +1,29 @@ +package com.mycompany.app; + +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; + +public class App { + public static void main(String[] args) { + System.out.println("Hello World!"); + + System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver"); + WebDriver webDriver = new ChromeDriver(); + + try { + System.out.print("11111111111"); + webDriver.get("https://www.calculator.net/password-generator.html"); + System.out.print("22222222222"); + System.out.print("Это моя работа"); + System.out.print("Она не списана. Делаю уже 3й раз"); + } catch (Exception e) { + System.out.println("Error"); + System.out.println(e.toString()); + } + + Task2.task2(); + Task3.task3(); + + webDriver.quit(); + } +} \ No newline at end of file diff --git a/my-app/src/main/java/com/mycompany/app/Task2.java b/my-app/src/main/java/com/mycompany/app/Task2.java new file mode 100644 index 0000000..e3a985e --- /dev/null +++ b/my-app/src/main/java/com/mycompany/app/Task2.java @@ -0,0 +1,34 @@ +package com.mycompany.app; + +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; + +public class Task2 +{ + public static void task2() + { + // делаю так, как указано в README файле. + System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver"); + WebDriver webDriver = new ChromeDriver(); + try { + webDriver.get("https://api.ipify.org/?format=json"); + System.out.println(webDriver.getPageSource()); + WebElement elem = webDriver.findElement(By.tagName("pre")); + + String json_str = elem.getText(); + JSONParser parser = new JSONParser(); + JSONObject obj = (JSONObject) parser.parse(json_str); + String ipAddress = (String) obj.get("ip"); + System.out.println(ipAddress); + + } catch (Exception e) { + System.out.println("Error"); + } finally { + webDriver.quit(); + } + } +} \ No newline at end of file diff --git a/my-app/src/main/java/com/mycompany/app/Task3.java b/my-app/src/main/java/com/mycompany/app/Task3.java new file mode 100644 index 0000000..986271f --- /dev/null +++ b/my-app/src/main/java/com/mycompany/app/Task3.java @@ -0,0 +1,96 @@ +package com.mycompany.app; + +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; +import java.io.File; +import java.io.FileWriter; +import java.io.PrintWriter; + +public class Task3 +{ + public static void task3() + { + System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver"); + WebDriver webDriver = new ChromeDriver(); + try { + // как в README + webDriver.get("https://api.open-meteo.com/v1/forecast?latitude=56&longitude=44&hourly=temperature_2m,rain¤t=cloud_cover&timezone=Europe%2FMoscow&forecast_days=1&wind_speed_unit=ms"); + System.out.println(webDriver.getPageSource()); + WebElement tsyplakov_elem = webDriver.findElement(By.tagName("pre")); + + // как в README + String tsyplakov_json_str = tsyplakov_elem.getText(); + JSONParser tsyplakov_parser = new JSONParser(); + JSONObject tsyplakov_obj = (JSONObject) tsyplakov_parser.parse(tsyplakov_json_str); + + // тут получаем данные + JSONObject tsyplakov_currentWeather = (JSONObject) tsyplakov_obj.get("current"); + String tsyplakov_currentTime = (String) tsyplakov_currentWeather.get("time"); + Long tsyplakov_cloudCover = (Long) tsyplakov_currentWeather.get("cloud_cover"); + JSONObject tsyplakov_hourly = (JSONObject) tsyplakov_obj.get("hourly"); + JSONArray tsyplakov_times = (JSONArray) tsyplakov_hourly.get("time"); + JSONArray temperatures = (JSONArray) tsyplakov_hourly.get("temperature_2m"); + JSONArray tsyplakov_rain = (JSONArray) tsyplakov_hourly.get("rain"); + JSONObject tsyplakov_hourlyUnits = (JSONObject) tsyplakov_obj.get("hourly_units"); + String tsyplakov_tempUnit = (String) tsyplakov_hourlyUnits.get("temperature_2m"); + String tsyplakov_rainUnit = (String) tsyplakov_hourlyUnits.get("rain"); + + // абсолютный путь к директории проекта + String projectPath = System.getProperty("user.dir"); + String filePath = projectPath + "/../result/forecast.txt"; + + // запись в файл + PrintWriter fileWriter = new PrintWriter(new FileWriter(filePath)); + fileWriter.println("Прогноз погоды: "); + fileWriter.println("Часовой пояс (TimeZone): " + tsyplakov_obj.get("timezone")); + fileWriter.println("Текущая погода на время " + tsyplakov_currentTime + ":"); + fileWriter.println("Облачность: " + tsyplakov_cloudCover + "%"); + fileWriter.println(); + fileWriter.println("Прогноз на сегодня по часам:"); + fileWriter.println("+----+----------+---------------+----------+"); + fileWriter.printf("| %-2s | %-8s | %-13s | %-8s |\n", "№", "Время", "Температура(" + tsyplakov_tempUnit + ")", "Осадки(" + tsyplakov_rainUnit + ")"); + fileWriter.println("+----+----------+---------------+----------+"); + + // тут выводим шапку таблицы на экран + System.out.println("Прогноз погоды: "); + System.out.println("Часовой пояс (TimeZone): " + tsyplakov_obj.get("timezone")); + System.out.println("Текущая погода на время " + tsyplakov_currentTime + ":"); + System.out.println("Облачность: " + tsyplakov_cloudCover + "%"); + System.out.println(); + System.out.println("Прогноз на сегодня по часам:"); + + // с форматированием (красивым выводом на экран) помог DeepSeek + System.out.println("+----------+---------------+----------+"); + System.out.printf("| %-2s | %-8s | %-13s | %-8s |\n", "№", "Время", "Температура(" + tsyplakov_tempUnit + ")", "Осадки(" + tsyplakov_rainUnit + ")"); + System.out.println("+----------+---------------+----------+"); + + // выводим то, что напарсили (погода) + for (int i = 0; i < tsyplakov_times.size(); ++i) { + String time = (String) tsyplakov_times.get(i); + String hourOnly = time.substring(11, 16); + Double temperature = (Double) temperatures.get(i); + Double rain_ = (Double) tsyplakov_rain.get(i); + + System.out.printf("| %-2d | %-8s | %-13.1f | %-8.2f |\n", (i + 1), hourOnly, temperature, rain_); + fileWriter.printf("| %-2d | %-8s | %-13.1f | %-8.2f |\n", (i + 1), hourOnly, temperature, rain_); + } + System.out.println("+----------+---------------+----------+"); + fileWriter.println("+----+----------+---------------+----------+"); + + fileWriter.close(); + + // тут обработка ошибок + } catch (Exception e) { + System.out.println("Error: " + e.toString()); + e.printStackTrace(); + } finally { + // тут выходим + webDriver.quit(); + } + } +} \ No newline at end of file diff --git a/my-app/src/test/java/com/mycompany/app/AppTest.java b/my-app/src/test/java/com/mycompany/app/AppTest.java new file mode 100644 index 0000000..0d14834 --- /dev/null +++ b/my-app/src/test/java/com/mycompany/app/AppTest.java @@ -0,0 +1,19 @@ +package com.mycompany.app; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +/** + * Unit test for simple App. + */ +public class AppTest { + + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() { + assertTrue(true); + } +} diff --git a/my-app/target/classes/com/mycompany/app/App.class b/my-app/target/classes/com/mycompany/app/App.class new file mode 100644 index 0000000000000000000000000000000000000000..682ab72bac0c612db185deb01de277ddd0d3f594 GIT binary patch literal 1480 zcmaJ>OLyBu6#m9}NKw=#we#vDRN+;-p;qhgC`})co{u4EXz>II&>&d`@HREMBrNP}Tw80Jgx%2q6SgHU0UHjS54 zA}_R8gcrz)6x?ad>p0F}-r>Fa@ z{nCq1HRcTyZ>p{gr1k4~o1wHRWfWhr?N+N*q-xxz@5oRT11{~ziQ`r%HZIh8z(wlb zlns9vc@#99H!-WorhBEe#%tYV==|zj>bOAJlwN!~Y=%?G@14iVftCD~9CUuRI^QSl zWSf2;Cv6>L5ZlP(gr@lO%1n9EW83vDW>o_)z2jpw-vVkVbhZu?$Bf& z4RSMz2(b`uaE6hx7x25yMvaSAr{>pd=o*ek_h2Ib z&C#+8RR%`Phj;JgR;s;@s1tdv$5w_Rx<1cG;B5JoGeT6yD$;QuEIUz}w}uLXQ3;#E z<+nXmoKCeD)m_F6KBgB&eHl;(F-Y~$#2hCTj?H zagRJ|^E35mk#_%pmOZwEk?eSOat|lho??1^7iY`LZ|&gq+3Z{UIG2I4-yvJ+;-S7s z`Zr80E8n}sL7E`%)88Jh?BT}jJ{B3aDdZFl$O6q@A5@CB=w^c63?1r@4%6y!SQw$H z7{x`Lpb^ayeu8%7u!u2Ae;idpt>YxVrDvvwGiiAi@huW|1)rxKa`6Q!#5_f-tN4=Q bR>{gC^B+-VG^}Y9f@vsaY3VCk%3%F}$AE#o literal 0 HcmV?d00001 diff --git a/my-app/target/classes/com/mycompany/app/Task2.class b/my-app/target/classes/com/mycompany/app/Task2.class new file mode 100644 index 0000000000000000000000000000000000000000..1dd7914cdcdc880ebd5af4170d6cbca3c71ab8c6 GIT binary patch literal 1927 zcmah}ZC4XV7`>AhHY|%^Kr{#fYB5mAQu~4pB1Odd5<+YcYFleJ$s`P9U)f)!hy&rOCNkNXAJcDU=e7_OyrhxrtJS6H=$<2zHw zw-h89uGnr(Co1cyp?kc}EzvOB>F6s#-nRk~Do!Jsz!`>%+rIC3SzR|Akr9rlwlb1q zscO5X;V8Lc>K|V(2Blf>Gl|yWy5O!(h6DdKDjFQo$7sX_@0d;NekH2E~yf z>Q(~N6y9;UiW$r*$Y{_p$1v1M*-a{n;v2QRVN&p!PO@^H?*%HZYWNtRP?f8~s;t(z z$t_ZyO`mjUs^bCK+rCSrpJ86XH4UFjcP?~_eF&%A$-WKV^c5^HOh~k>sqP8WsdL>i zT#vi@z2bVl5d2h;MN|$qG%Vo@hIjyBnCz(h@LLUgXFLe2==#^KOm*rM`Q#fr9RkpUQm=IoZmwrwu_u^9LV5(A2BVGIxAoQ`rk7XVrCW zSHV}*(`DP#%@&Q0VYR3M9DT#^cCQl8id~^%_vM7e^9{4a-3_Bur=4U@HuK4v&rQ&jr)G$)p?#-hvN*q0g2i-n)l9UiY=-#4lly}z*C$LMw_L1sr z(5v)3G*=Bf{I-xzt3fF;QaL8@fSzpm7Xf*RE*gup(rIQi$ERO`y$FssXq3l*iib36 zApo1$qE$D(KDf;4M5fT*FG(fY{Te-6Z*cn2D-7J9P7dy4D1w(5ncl}Z!yYbAC#PQH z!+m@dL5`+R8P?t)OYrOY*_k~ozQuAjmWm};_OSXEcd~K1oQlhf`?$yOD^;9!lI!p6 zoXU2EhpDbVULb~kJVq63!Q7<0s<0vFCVmX&D5SPL259UBsmUQDPj#6Z}9~KBUM7oyLhVffDgkOTtG5oS3TgKZxkx^n)ps4Gn7#6x38g2|9~l F=O1!+?27;Z literal 0 HcmV?d00001 diff --git a/my-app/target/classes/com/mycompany/app/Task3.class b/my-app/target/classes/com/mycompany/app/Task3.class new file mode 100644 index 0000000000000000000000000000000000000000..f8cd3e90515e2d1d3576eea29c141e0e67983a94 GIT binary patch literal 5248 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 literal 0 HcmV?d00001 diff --git a/my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..1b06893 --- /dev/null +++ b/my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,3 @@ +com/mycompany/app/App.class +com/mycompany/app/Task2.class +com/mycompany/app/Task3.class diff --git a/my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..97c9668 --- /dev/null +++ b/my-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,3 @@ +/home/fedashov/nnsu/QA/ST-7/my-app/src/main/java/com/mycompany/app/App.java +/home/fedashov/nnsu/QA/ST-7/my-app/src/main/java/com/mycompany/app/Task2.java +/home/fedashov/nnsu/QA/ST-7/my-app/src/main/java/com/mycompany/app/Task3.java diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..f8f748f --- /dev/null +++ b/pom.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + com.mycompany.app + my-app + 1.0-SNAPSHOT + + my-app + + http://www.example.com + + + UTF-8 + 17 + + + + + + org.junit + junit-bom + 5.11.0 + pom + import + + + + + + + org.junit.jupiter + junit-jupiter-api + test + + + org.seleniumhq.selenium + selenium-java + 4.15.0 + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + org.junit.jupiter + junit-jupiter-params + test + + + + + + + + + maven-clean-plugin + 3.4.0 + + + + maven-resources-plugin + 3.3.1 + + + maven-compiler-plugin + 3.13.0 + + + maven-surefire-plugin + 3.3.0 + + + maven-jar-plugin + 3.4.2 + + + maven-install-plugin + 3.1.2 + + + maven-deploy-plugin + 3.1.2 + + + + maven-site-plugin + 3.12.1 + + + maven-project-info-reports-plugin + 3.6.1 + + + + + diff --git a/result/forecast.txt b/result/forecast.txt new file mode 100644 index 0000000..055b864 --- /dev/null +++ b/result/forecast.txt @@ -0,0 +1,34 @@ +Прогноз погоды: +Часовой пояс (TimeZone): Europe/Moscow +Текущая погода на время 2026-06-07T22:00: +Облачность: 82% + +Прогноз на сегодня по часам: ++----+----------+---------------+----------+ +| № | Время | Температура(°C) | Осадки(mm) | ++----+----------+---------------+----------+ +| 1 | 00:00 | 9.4 | 0.00 | +| 2 | 01:00 | 8.7 | 0.00 | +| 3 | 02:00 | 8.1 | 0.00 | +| 4 | 03:00 | 6.6 | 0.00 | +| 5 | 04:00 | 6.8 | 0.00 | +| 6 | 05:00 | 8.7 | 0.00 | +| 7 | 06:00 | 12.5 | 0.00 | +| 8 | 07:00 | 16.2 | 0.00 | +| 9 | 08:00 | 18.3 | 0.00 | +| 10 | 09:00 | 20.5 | 0.00 | +| 11 | 10:00 | 21.8 | 0.00 | +| 12 | 11:00 | 22.5 | 0.00 | +| 13 | 12:00 | 22.9 | 0.00 | +| 14 | 13:00 | 22.9 | 0.00 | +| 15 | 14:00 | 23.9 | 0.00 | +| 16 | 15:00 | 24.4 | 0.00 | +| 17 | 16:00 | 24.3 | 0.00 | +| 18 | 17:00 | 24.0 | 0.00 | +| 19 | 18:00 | 23.5 | 0.00 | +| 20 | 19:00 | 22.0 | 0.00 | +| 21 | 20:00 | 19.3 | 0.00 | +| 22 | 21:00 | 17.2 | 0.00 | +| 23 | 22:00 | 15.8 | 0.00 | +| 24 | 23:00 | 15.2 | 0.00 | ++----+----------+---------------+----------+ From ab49aba2782ee95be3b0a2a34721f423077f5487 Mon Sep 17 00:00:00 2001 From: cedricir Date: Sun, 7 Jun 2026 22:25:07 +0300 Subject: [PATCH 3/3] final --- my-app/src/main/java/com/mycompany/app/Task3.java | 1 + result/forecast.txt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/my-app/src/main/java/com/mycompany/app/Task3.java b/my-app/src/main/java/com/mycompany/app/Task3.java index 986271f..7e801a2 100644 --- a/my-app/src/main/java/com/mycompany/app/Task3.java +++ b/my-app/src/main/java/com/mycompany/app/Task3.java @@ -46,6 +46,7 @@ public static void task3() // запись в файл PrintWriter fileWriter = new PrintWriter(new FileWriter(filePath)); + fileWriter.println("Работа студента группы 3823Б1ПР2 - Цыплакова Кирилла"); fileWriter.println("Прогноз погоды: "); fileWriter.println("Часовой пояс (TimeZone): " + tsyplakov_obj.get("timezone")); fileWriter.println("Текущая погода на время " + tsyplakov_currentTime + ":"); diff --git a/result/forecast.txt b/result/forecast.txt index 055b864..e8dad0b 100644 --- a/result/forecast.txt +++ b/result/forecast.txt @@ -1,7 +1,7 @@ Прогноз погоды: Часовой пояс (TimeZone): Europe/Moscow -Текущая погода на время 2026-06-07T22:00: -Облачность: 82% +Текущая погода на время 2026-06-07T22:15: +Облачность: 85% Прогноз на сегодня по часам: +----+----------+---------------+----------+