Skip to content

Commit 96152af

Browse files
committed
Fix geolocation accuracy parameter type.
Add DevTools section to README.md. Update LICENSE year. Add Ukrainian localization and remove redundant value from Russian localization
1 parent 0bff6b7 commit 96152af

File tree

7 files changed

+162
-11
lines changed

7 files changed

+162
-11
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2019 Aquality Automation
189+
Copyright 2022 Aquality Automation
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

README.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ We use interfaces where is possible, so you can implement your own version of ta
1919
<dependency>
2020
<groupId>com.github.aquality-automation</groupId>
2121
<artifactId>aquality-selenium</artifactId>
22-
<version>LATEST</version>
22+
<version>3.x.x</version>
2323
</dependency>
2424
```
2525

@@ -47,12 +47,32 @@ txbSearch.submit();
4747
browser.waitForPageToLoad();
4848
```
4949

50-
6. Quit browser at the end
50+
6. Use BiDi functionality to handle basic authentication:
51+
```java
52+
browser.network().addBasicAuthentication("domain.com", "username", "password");
53+
```
54+
or intercept network requests/responses:
55+
```java
56+
browser.network().startNetworkInterceptor((HttpHandler) request -> new HttpResponse()
57+
.setStatus(HttpStatus.SC_OK)
58+
.addHeader("Content-Type", MediaType.HTML_UTF_8.toString())
59+
.setContent(utf8String("Some phrase")));
5160
```
61+
7. Emulate GeoLocation, Device, Touch, Media, UserAgent overrides, Disable script execution, log HTTP exchange, track Performance metrics, add initialization scripts, and more using browser.devTools() interfaces:
62+
```java
63+
final double latitude = 53.90772672521578;
64+
final double longitude = 27.458060411865375;
65+
final double accuracy = 0.97;
66+
browser.devTools().emulation().setGeolocationOverride(latitude, longitude, accuracy);
67+
```
68+
See more DevTools use cases [here](./src/test/java/tests/usecases/devtools)
69+
70+
8. Quit browser at the end
71+
```java
5272
browser.quit();
5373
```
5474

55-
See full example [here](./src/test/java/tests/usecases/QuickStartExample.java)
75+
See quick start example [here](./src/test/java/tests/usecases/QuickStartExample.java)
5676

5777
### Documentation
5878
To get more details please look at documentation:

src/main/java/aquality/selenium/browser/devtools/EmulationHandling.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public boolean canEmulate() {
4444
* @param longitude Longitude of location
4545
* @param accuracy Accuracy of the location
4646
*/
47-
public void setGeolocationOverride(double latitude, double longitude, int accuracy) {
47+
public void setGeolocationOverride(double latitude, double longitude, double accuracy) {
4848
setGeolocationOverride(Optional.of(latitude), Optional.of(longitude), Optional.of(accuracy));
4949
}
5050

src/main/resources/localization/ru.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@
106106
"loc.browser.network.event.responsereceived.log.headers": "Заголовки ответа:\r\n{{%s\r\n}}",
107107
"loc.browser.network.event.responsereceived.log.body": "Тело ответа:\r\n{%s}",
108108
"loc.browser.network.event.responsereceived.add": "Подписываемся на событие получения сетевого ответа",
109-
"loc.browser.network.event.listeners.clear": "Очистка списка отслеживаемых событий",
110109
"loc.browser.network.interceptor.start": "Начинаем перехват сетевых событий",
111110
"loc.browser.javascript.initializationscripts.get": "Получение инициализационных скриптов",
112111
"loc.browser.javascript.scriptcallbackbindings.get": "Получение привязок обратного вызова JavaScript",
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
{
2+
"loc.browser.arguments": "Отримані аргументи запуску браузера з файлу налаштувань: %s",
3+
"loc.browser.back": "Повертання до попередньої сторінки",
4+
"loc.browser.forward": "Перехід до наступної сторінки",
5+
"loc.browser.capabilities": "Отримані можливості браузера з файлу налаштувань: %s",
6+
"loc.browser.options": "Отримані параметри профілю браузера з файлу налаштувань: %s",
7+
"loc.browser.driver.quit": "Закриття браузера",
8+
"loc.browser.getUrl": "Отримання адреси поточної сторінки",
9+
"loc.browser.url.value": "Адреса поточної сторінки: [%s]",
10+
"loc.browser.grid": "Встановлення драйвера для браузера з Selenium Grid hub",
11+
"loc.browser.grid.fail": "Не вдалося встановити драйвер браузера з Selenium Grid hub",
12+
"loc.browser.maximize": "Розгортання вікно браузера на весь екран",
13+
"loc.browser.navigate": "Перехід до '%s'",
14+
"loc.browser.page.wait": "Очікування завантаження сторінки",
15+
"loc.browser.page.timeout": "Вичерпано час очікування завантаження сторінки",
16+
"loc.browser.ready": "Браузер '%1$s' готовий...",
17+
"loc.browser.refresh": "Оновлення сторінки",
18+
"loc.browser.page.load.timeout": "Встановлення ліміту часу завантаження сторінки: '%1$s' сек.",
19+
"loc.browser.implicit.timeout": "Встановлення implicit(неявного) ліміту часу: '%1$s' сек.",
20+
"loc.browser.script.timeout": "Встановлення ліміту часу виконання асинхронних javascript команд: '%1$s' сек.",
21+
"loc.browser.alert.accept": "Підтвердження дії у вікні сповіщення",
22+
"loc.browser.alert.decline": "Відхилення дії у вікні сповіщення",
23+
"loc.browser.alert.fail": "Помилка взаємодії з вікном сповіщень",
24+
"loc.button": "Кнопка",
25+
"loc.checkbox": "Чекбокс",
26+
"loc.checkable.get.state": "Отримання стану",
27+
"loc.checkable.state": "Стан: [%s]",
28+
"loc.clicking": "Натискання",
29+
"loc.clicking.double": "Двійне натискання",
30+
"loc.clicking.js": "Натискання за допомогою Javascript",
31+
"loc.clicking.right": "Натискання правою кнопкою миші",
32+
"loc.combobox": "Комбобокс",
33+
"loc.combobox.getting.selected.text": "Отримання вибраного тексту",
34+
"loc.combobox.getting.selected.value": "Отримання вибраного значення",
35+
"loc.combobox.selected.text": "Вибраний текст: [%s]",
36+
"loc.combobox.selected.value": "Вибране значення: [%s]",
37+
"loc.combobox.select.by.text": "Вибір значення за текстом '%s'",
38+
"loc.combobox.select.by.text.js": "Вибір значення за текстом '%s' за допомогою JavaScript",
39+
"loc.combobox.get.texts": "Отримання масиву текстів опцій",
40+
"loc.combobox.get.texts.js": "Отримання масиву текстів опцій за допомогою JavaScript",
41+
"loc.combobox.get.values": "Отримання масиву значень",
42+
"loc.combobox.get.text.js": "Отримання вибраного тексту за допомогою JavaScript",
43+
"loc.combobox.texts": "Тексти опцій: [%s]",
44+
"loc.combobox.values": "Значення опцій: [%s]",
45+
"loc.combobox.impossible.to.select.contain.value.or.text": "Неможливо вибрати опцію, що зміщує значення/текст '%1$s' у комбобоксі '%2$s'",
46+
"loc.el.getattr": "Отримання атрибута '%1$s'",
47+
"loc.el.attr.value": "Значення атрибута '%1$s': [%2$s]",
48+
"loc.el.attr.set": "Встановлення значення атрибута '%1$s': [%2$s]",
49+
"loc.el.cssvalue": "Отримання значення css '%1$s'",
50+
"loc.el.execute.pinnedjs": "Виконання закріпленого JavaScript",
51+
"loc.el.execute.pinnedjs.result": "Результат виконання закріпленого JavaScript: [%1$s]",
52+
"loc.file.reading_exception": "Помилка підчас читання файлу: '%s'",
53+
"loc.focusing": "Фокусування",
54+
"loc.get.text": "Отримання тексту з елемента",
55+
"loc.text.value": "Текст елемента: [%1$s]",
56+
"loc.get.text.js": "Отримання тексту з елемента за допомогою Javascript",
57+
"loc.hover.js": "Наведення курсору миші на елемент за допомогою JavaScript",
58+
"loc.is.present.js": "Визначення, чи є елемент на екрані за допомогою JavaScript",
59+
"loc.is.present.value": "Чи є елемент на екрані: [%s]",
60+
"loc.get.xpath.js": "Отримання XPath локатора елемента за допомогою JavaScript",
61+
"loc.xpath.value": "Локатор XPath: [%s]",
62+
"loc.label": "Мітка",
63+
"loc.link": "Посилання",
64+
"loc.moving": "Переміщення миші до елемента",
65+
"loc.movingFrom": "Переміщення миші від елемента",
66+
"loc.radio": "Радіокнопка",
67+
"loc.scrolling.center.js": "Прокрутка до центру за допомогою JavaScript",
68+
"loc.scrolling.js": "Прокрутка за допомогою JavaScript",
69+
"loc.selecting.value": "Вибір значення - '%s'",
70+
"loc.send.text": "Встановлення тексту - '%s'",
71+
"loc.setting.value": "Встановлення значення - '%s'",
72+
"loc.text.clearing": "Очищення",
73+
"loc.text.submitting": "Надсилання",
74+
"loc.text.field": "Текстове поле",
75+
"loc.text.sending.key": "Надсилання клавіш '%1$s'",
76+
"loc.text.typing": "Введення '%s'",
77+
"loc.text.masked_value": "********",
78+
"loc.browser.switch.to.tab.handle": "Перехід на вкладку за дескриптором '%1$s'",
79+
"loc.browser.switch.to.tab.index": "Перехід на вкладку за індексом '%1$s'",
80+
"loc.browser.switch.to.new.tab": "Перехід на нову вкладку",
81+
"loc.browser.get.tab.handles": "Отримання дескрипторів вкладок",
82+
"loc.browser.get.tab.handle": "Отримання дескриптора поточної вкладки",
83+
"loc.browser.tab.open.new": "Відкриття нової вкладки",
84+
"loc.browser.tab.close": "Закриття вкладки",
85+
"loc.browser.devtools.session.isactive": "Перевірка, чи активний сеанс DevTools",
86+
"loc.browser.devtools.session.isactive.result": "Чи активний сеанс DevTools: [%1$s]",
87+
"loc.browser.devtools.session.close": "Закриття сеансу DevTools",
88+
"loc.browser.devtools.session.get": "Отримання сеансу DevTools з дескриптовом вкладки '%1$s'",
89+
"loc.browser.devtools.command.execute": "Виконання команди DevTools [%1$s]",
90+
"loc.browser.devtools.command.execute.withparams": "Виконання команди DevTools [%1$s] з параметрами [%2$s]",
91+
"loc.browser.devtools.command.execute.result": "Результат команди DevTools: [%1$s]",
92+
"loc.browser.devtools.listener.add": "Підписка на подію DevTools [%1$s]",
93+
"loc.browser.devtools.listener.clear": "Скасування підписки на події DevTools",
94+
"loc.browser.network.monitoring.start": "Початок моніторингу мережі",
95+
"loc.browser.network.monitoring.stop": "Зупинення моніторингу мережі",
96+
"loc.browser.network.useragent.set": "Встановлення значення агента користувача: [%1$s]",
97+
"loc.browser.network.authentication.add": "Додавання обробника базової автентифікації",
98+
"loc.browser.network.authentication.clear": "Очищення обробників базової автентифікації",
99+
"loc.browser.network.filter.clear": "Очищення фільтру мережевих подій",
100+
"loc.browser.network.filter.set": "Встановлення фільтру мережевих подій",
101+
"loc.browser.network.event.requestsent.add": "Підписка на подію надісланого запиту мережі",
102+
"loc.browser.network.event.requestsent.log.info": "HTTP-запит надіслано:\r\nМетод: \t\t%1$s, \r\nURL: \t\t\t%2$s, \r\nID запиту: \t%3$s",
103+
"loc.browser.network.event.requestsent.log.headers": "Заголовки запиту:\r\n{{%s\r\n}}",
104+
"loc.browser.network.event.requestsent.log.data": "POST дані запиту:\r\n{%s}",
105+
"loc.browser.network.event.responsereceived.log.info": "Отримана відповідь HTTP:\r\nСтатус-код: \t%1$s, \r\nURL: \t\t\t%2$s, \r\nТип ресурсу: \t%3$s, \r\nID запиту: \t%4$s",
106+
"loc.browser.network.event.responsereceived.log.headers": "Заголовки відповіді:\r\n{{%s\r\n}}",
107+
"loc.browser.network.event.responsereceived.log.body": "Тіло відповіді:\r\n{%s}",
108+
"loc.browser.network.event.responsereceived.add": "Підписка на подію відповіді мережі",
109+
"loc.browser.network.interceptor.start": "Початок перехопу мережевих подій",
110+
"loc.browser.javascript.initializationscripts.get": "Отримання ініціалізаційних скриптів",
111+
"loc.browser.javascript.scriptcallbackbindings.get": "Отримання прив'язок зворотного виклику JavaScript",
112+
"loc.browser.javascript.event.callbackexecuted.add": "Підписка на подію іменованої прив'язки зворотного виклику JavaScript",
113+
"loc.browser.javascript.event.exceptionthrown.add": "Підписка на подію викидування помилки JavaScript",
114+
"loc.browser.javascript.event.consoleapicalled.add": "Підписка на подію виклику API консолі JavaScript",
115+
"loc.browser.javascript.event.dommutated.add": "Підписка на подію змін у DOM",
116+
"loc.browser.javascript.initializationscript.add": "Додавання JavaScript ініціалізації зі зручною назвою '%1$s'",
117+
"loc.browser.javascript.initializationscript.remove": "Видалення JavaScript ініціалізації зі зручною назвою '%1$s'",
118+
"loc.browser.javascript.initializationscripts.clear": "Видалення всіх ініціалізаційних скриптів",
119+
"loc.browser.javascript.scriptcallbackbinding.add": "Додавання прив'язки зворотного виклику JavaScript з ім'ям '%1$s'",
120+
"loc.browser.javascript.scriptcallbackbinding.remove": "Видалення прив'язки зворотного виклику JavaScript з ім'ям '%1$s'",
121+
"loc.browser.javascript.scriptcallbackbindings.clear": "Видалення всіх прив'язок зворотного виклику JavaScript",
122+
"loc.browser.javascript.snippet.pin": "Закріплення фрагменту JavaScript",
123+
"loc.browser.javascript.snippet.unpin": "Відкріплення фрагменту JavaScript",
124+
"loc.browser.javascript.snippets.get": "Отримання всіх закріплених фрагментів JavaScript",
125+
"loc.browser.javascript.snippets.clear": "Видалення всіх закріплених фрагментів JavaScript",
126+
"loc.browser.javascript.event.monitoring.start": "Початок моніторингу подій JavaScript",
127+
"loc.browser.javascript.event.monitoring.stop": "Припинення моніторингу подій JavaScript",
128+
"loc.browser.javascript.clearall": "Видалення усіх прив'язок зворотного виклику JavaScript та ініціалізаційних скриптів",
129+
"loc.browser.javascript.reset": "Видалення усіх прив'язок зворотного виклику JavaScript та ініціалізаційних скриптів, та скасування підписок на події",
130+
"loc.shadowroot.expand": "Розгорнення дерева прихованих елементів",
131+
"loc.shadowroot.expand.js": "Розгорнення дерева прихованих елементів за допомогою JavaScript"
132+
}

src/test/java/tests/usecases/devtools/NetworkInterceptionTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void testAllRequestsInterception() {
4747
getBrowser().goTo(welcomeForm.getUrl());
4848
Assert.assertTrue(getBrowser().getDriver().getPageSource().contains(SOME_PHRASE));
4949

50-
getBrowser().devTools().network().clearNetworkInterceptor();
50+
getBrowser().network().clearNetworkInterceptor();
5151
getBrowser().goTo(welcomeForm.getUrl());
5252
Assert.assertFalse(getBrowser().getDriver().getPageSource().contains(SOME_PHRASE));
5353
}
@@ -63,7 +63,7 @@ public void testRequestsInterception() {
6363
getBrowser().goTo(welcomeForm.getUrl());
6464
Assert.assertTrue(getBrowser().getDriver().getPageSource().contains(SOME_PHRASE));
6565

66-
getBrowser().devTools().network().clearNetworkInterceptor();
66+
getBrowser().network().clearNetworkInterceptor();
6767
getBrowser().goTo(welcomeForm.getUrl());
6868
Assert.assertFalse(getBrowser().getDriver().getPageSource().contains(SOME_PHRASE));
6969
}

src/test/java/tests/usecases/devtools/RegisterBasicAuthTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ public class RegisterBasicAuthTest extends BaseTest {
1010
@Test
1111
public void setBasicAuth() {
1212
BasicAuthForm basicAuthForm = new BasicAuthForm();
13-
getBrowser().devTools().network().addBasicAuthentication(BasicAuthForm.getDomain(), BasicAuthForm.getUsername(), BasicAuthForm.getPassword());
13+
getBrowser().network().addBasicAuthentication(BasicAuthForm.getDomain(), BasicAuthForm.getUsername(), BasicAuthForm.getPassword());
1414
getBrowser().goTo(basicAuthForm.getUrl());
1515
Assert.assertTrue(basicAuthForm.isCongratulationsDisplayed());
1616
}
1717

1818
@Test
1919
public void clearBasicAuth() {
2020
BasicAuthForm basicAuthForm = new BasicAuthForm();
21-
getBrowser().devTools().network().addBasicAuthentication(BasicAuthForm.getDomain(), BasicAuthForm.getUsername(), BasicAuthForm.getPassword());
22-
getBrowser().devTools().network().clearBasicAuthentication();
21+
getBrowser().network().addBasicAuthentication(BasicAuthForm.getDomain(), BasicAuthForm.getUsername(), BasicAuthForm.getPassword());
22+
getBrowser().network().clearBasicAuthentication();
2323
getBrowser().goTo(basicAuthForm.getUrl());
2424
Assert.assertFalse(basicAuthForm.isCongratulationsDisplayed());
2525
}

0 commit comments

Comments
 (0)