Skip to content

Commit 1df6b2e

Browse files
committed
upd
1 parent cba07ca commit 1df6b2e

16 files changed

+238
-0
lines changed

Doc/IDE.png

27.2 KB
Loading

Doc/JavaSelenium.png

56 KB
Loading

Doc/MarkDirectory As.png

39.5 KB
Loading

Doc/Maven.png

77.8 KB
Loading

Doc/SeleniumLibrary.png

112 KB
Loading

Doc/Автотестирование Java.md

Whitespace-only changes.

Doc/Автотесты.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
Selenium
2+
JUnit
3+
ChromeDriver, но для автоматизации Webdrivermanager
4+
Typesafe для чтения конфигурационных файлов - для набора данных.
5+
6+
Нужен интерфейс для чтения файла.
7+
8+
Скачать:
9+
https://www.jetbrains.com/idea/download/?section=windows
10+
![[IDE.png]]
11+
Отсюда будет брать зависимости для остальных библиотек:
12+
https://www.selenium.dev/documentation/webdriver/getting_started/install_library/
13+
14+
Создание проекта: Выберем Maven.
15+
![[Maven.png]]
16+
Далее нужен файл pom.xml.
17+
Создадим в нем блок зависимостей
18+
```java
19+
<dependencies> </dependencies>
20+
```
21+
Теперь добавим зависимость Selenium с указанием версии.
22+
```java
23+
<dependency>
24+
<groupId>org.seleniumhq.selenium</groupId>
25+
<artifactId>selenium-java</artifactId>
26+
<version>4.28.1</version>
27+
</dependency>
28+
```
29+
Теперь добавим зависимость junit-jupiter c указанием версии.
30+
```java
31+
<dependency>
32+
<groupId>org.junit.jupiter</groupId>
33+
<artifactId>junit-jupiter-engine</artifactId>
34+
<version>5.8.2</version>
35+
<scope>test</scope>
36+
</dependency>
37+
```
38+
Теперь добавим зависимость от Junit
39+
```java
40+
<dependency>
41+
<groupId>junit</groupId>
42+
<artifactId>junit</artifactId>
43+
<version>4.13.2</version>
44+
<scope>test</scope>
45+
</dependency>
46+
```
47+
Теперь добавим зависимость от [WebDriverManager](https://github.com/bonigarcia/webdrivermanager)
48+
```java
49+
<dependency>
50+
<groupId>io.github.bonigarcia</groupId>
51+
<artifactId>webdrivermanager</artifactId>
52+
<version>4.4.3</version>
53+
</dependency>
54+
```
55+
Будем также использовать библиотеку TypeSafe для того чтобы читать конфигурационные файлы.
56+
```java
57+
<dependency>
58+
<groupId>com.typesafe</groupId>
59+
<artifactId>config</artifactId>
60+
<version>1.4.1</version>
61+
</dependency>
62+
```
63+
64+
# Первый автотест
65+
Далее будет описан базовый набор необходимых действий для создания первого небольшого теста, осуществляющего просмотр интернет-страницы и выполнение на ней определенного действия.
66+
## Структура проекта
67+
Будем использовать фреймворк Maven. Поэтому предлагается следующая структура проекта:
68+
- src
69+
- test
70+
- java
71+
- core - здесь указываются базовые абстрактные классы для теста и для страницы которую будем просматривать
72+
- search - здесь наследники базовых классов теста и страницы. В классе страницы осуществляем поиск элементов, которые необходимо протестировать. Осуществляем их инициализацию. Также здесь указывается метод, который будет осуществлять некоторый набор тестовых действий. В классе теста - осуществляем создание объекта страницы и вызов метода тестовых действий.
73+
- readconfiguration - здесь реализовать метод осуществляющий чтение файла конфигурации, который хранит набор необходимых значений для тестирования. Например URL страницы к которой необходимо подключится.
74+
- resources - здесь хранится файл конфигурации.
75+
## Создание пакет
76+
Пакет создается путем вызова контекстного меню и выбора соответствующего объекта структуры.
77+
![[Новый пакет.png]]
78+
Можно также создавать и директории (New-Directory), но в этом случае рекомендуется отметить (Mark Directory As) эту папку:
79+
![[MarkDirectory As.png]]
80+
81+
82+
# Справочный раздел
83+
## Уроки
84+
🔖[Конфигурационный файл](https://www.youtube.com/watch?v=D0aE_fRT0DE)
85+
🔖[Про XPath](https://www.youtube.com/watch?v=EVGH_XxAbXQ)
86+
🔖[Пишем Автотест с использованием Selenium WebDriver](https://habr.com/ru/articles/502292/)
87+
## Документация
88+
🔖[Документация по WebDriverManager](https://bonigarcia.dev/webdrivermanager/#webdrivermanager-and-selenium-manager)
89+
## Репозитории
90+
🔖[Репозиторий Selenium ](https://github.com/SeleniumHQ)
91+
## Сайты
92+
🔖[Selenium](https://www.selenium.dev/downloads/)
93+
94+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"_filters":[],"_contexts":[],"_links":[],"_sort":{"field":"rank","asc":false,"group":false,"recursive":false},"_template":"","_templateName":"","_subfolders":""}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
Ошибка org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection указывает на проблему с установлением соединения через WebSocket, что часто связано с конфигурацией Selenium, Chrome или сетевыми ограничениями. Вот несколько шагов, которые могут помочь решить эту проблему:
2+
1. Обновление Selenium и WebDriverManager
3+
- Убедитесь, что у вас установлены последние версии Selenium WebDriver и WebDriverManager. Обновите зависимости в вашем проекте:
4+
Maven (pom.xml):
5+
```xml
6+
<dependency>
7+
<groupId>org.seleniumhq.selenium</groupId>
8+
<artifactId>selenium-java</artifactId>
9+
<version>4.16.0</version> <!-- или более новая версия -->
10+
</dependency>
11+
<dependency>
12+
<groupId>io.github.bonigarcia</groupId>
13+
<artifactId>webdrivermanager</artifactId>
14+
<version>5.6.4</version> <!-- или более новая версия -->
15+
</dependency>
16+
```
17+
Gradle (build.gradle):
18+
```groovy
19+
dependencies {
20+
implementation 'org.seleniumhq.selenium:selenium-java:4.16.0' // или более новая версия
21+
implementation 'io.github.bonigarcia:webdrivermanager:5.6.4' // или более новая версия
22+
}
23+
```
24+
2. Настройка Chrome Options
25+
- Добавьте определенные аргументы в ChromeOptions для решения проблем с WebSocket:
26+
```java
27+
ChromeOptions options = new ChromeOptions();
28+
options.addArguments("--remote-allow-origins=*"); // Это может помочь в некоторых случаях
29+
WebDriverManager.chromedriver().setup();
30+
driver = new ChromeDriver(options);
31+
```
32+
33+
3. Проверка версии Chrome и ChromeDriver
34+
- Убедитесь, что версия ChromeDriver совпадает с версией вашего браузера Chrome. Если они не совпадают, обновите либо Chrome, либо ChromeDriver через WebDriverManager.
35+
4. Проблемы сети
36+
- Проверьте сетевые настройки:
37+
- Убедитесь, что нет брандмауэров или прокси, которые блокируют WebSocket соединения.
38+
- Проверьте, может ли ваша сеть ограничивать доступ к localhost или к определенным портам.
39+
5. Проблема с портом
40+
- Порт, на который пытается подключиться Selenium (в данном случае 57122), может быть занят или блокирован. Попробуйте изменить порт или убедитесь, что он свободен:
41+
```java
42+
ChromeOptions options = new ChromeOptions();
43+
options.addArguments("--remote-debugging-port=9222"); // Или другой свободный порт
44+
WebDriverManager.chromedriver().setup();
45+
driver = new ChromeDriver(options);
46+
```
47+
6. Обновление WebDriver
48+
- Если вы используете недавно выпущенную версию Chrome, возможно, вам нужно использовать последние экспериментальные сборки ChromeDriver или ждать обновления Selenium для поддержки новых версий Chrome.
49+
7. Проверка логов
50+
- Проверьте логи ChromeDriver и Selenium на наличие дополнительной информации о причине проблемы.
51+
52+
Если после этих шагов проблема не решается, возможно, стоит рассмотреть дополнительные настройки или даже обратиться к сообществу Selenium за помощью, так как проблема может быть специфичной для вашей конфигурации или окружения.

Doc/Возможные ошибки/Возможные ошибки.md

Whitespace-only changes.

0 commit comments

Comments
 (0)