Skip to content

Commit d4bbe35

Browse files
authored
Enhancement/29 add belarusian for logging (#77)
* Fix loc.text.masked_value usage in TextBox * Add Belarusian localization, corrected English and Russian localizations * Corrected logging for the method sendKeys(Keys key); * Update package patch version to 2.0.1
1 parent 6f282e0 commit d4bbe35

File tree

8 files changed

+94
-24
lines changed

8 files changed

+94
-24
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.github.aquality-automation</groupId>
88
<artifactId>aquality-selenium</artifactId>
9-
<version>2.0.0</version>
9+
<version>2.0.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>Aquality Selenium</name>

src/main/java/aquality/selenium/elements/Element.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import aquality.selenium.elements.interfaces.IElement;
1919
import aquality.selenium.elements.interfaces.IElementFactory;
2020
import org.openqa.selenium.By;
21+
import org.openqa.selenium.Keys;
2122
import org.openqa.selenium.NoSuchElementException;
2223
import org.openqa.selenium.remote.RemoteWebElement;
2324

@@ -30,8 +31,8 @@ public abstract class Element extends aquality.selenium.core.elements.Element im
3031
/**
3132
* The main constructor
3233
*
33-
* @param loc By Locator
34-
* @param nameOf Output in logs
34+
* @param loc By Locator
35+
* @param nameOf Output in logs
3536
* @param stateOf desired ElementState
3637
*/
3738
protected Element(final By loc, final String nameOf, final ElementState stateOf) {
@@ -145,7 +146,7 @@ public void setInnerHtml(final String value) {
145146
getBrowser().executeScript(JavaScript.SET_INNER_HTML, getElement(), value);
146147
}
147148

148-
private Browser getBrowser(){
149+
private Browser getBrowser() {
149150
return AqualityServices.getBrowser();
150151
}
151152

@@ -163,4 +164,10 @@ public MouseActions getMouseActions() {
163164
public <T extends IElement> T findChildElement(By childLoc, String name, ElementType elementType, ElementState state) {
164165
return getElementFactory().findChildElement(this, childLoc, name, elementType, state);
165166
}
166-
}
167+
168+
@Override
169+
public void sendKeys(Keys key) {
170+
logElementAction("loc.text.sending.keys", Keys.class.getSimpleName().concat(".").concat(key.name()));
171+
doWithRetry(() -> getElement().sendKeys(key));
172+
}
173+
}

src/main/java/aquality/selenium/elements/TextBox.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ public class TextBox extends Element implements ITextBox {
1212

1313
private static final String LOG_TYPING = "loc.text.typing";
1414
private static final String LOG_CLEARING = "loc.text.clearing";
15-
private static final String LOG_SENDING_KEYS = "loc.text.sending.keys";
16-
private static final String LOG_MASKED_VALUE = "loc.text.masked_value";
15+
private final String logMaskedValue = getLocalizationManager().getLocalizedMessage("loc.text.masked_value");
1716

1817
protected TextBox(final By locator, final String name, final ElementState state) {
1918
super(locator, name, state);
@@ -33,12 +32,6 @@ public void typeSecret(final String value) {
3332
type(value, true);
3433
}
3534

36-
@Override
37-
public void sendKeys(final Keys keys) {
38-
logElementAction(LOG_SENDING_KEYS, keys.toString());
39-
super.sendKeys(keys);
40-
}
41-
4235
@Override
4336
public void clearAndType(final String value) {
4437
clearAndType(value, false);
@@ -70,14 +63,14 @@ public void unfocus() {
7063
}
7164

7265
private void type(final String value, final boolean maskValueInLog) {
73-
logElementAction(LOG_TYPING, maskValueInLog ? LOG_MASKED_VALUE : value);
66+
logElementAction(LOG_TYPING, maskValueInLog ? logMaskedValue : value);
7467
getJsActions().highlightElement();
7568
doWithRetry(() -> getElement().sendKeys(value));
7669
}
7770

7871
private void clearAndType(final String value, final boolean maskValueInLog) {
7972
logElementAction(LOG_CLEARING);
80-
logElementAction(LOG_TYPING, maskValueInLog ? LOG_MASKED_VALUE : value);
73+
logElementAction(LOG_TYPING, maskValueInLog ? logMaskedValue : value);
8174
getJsActions().highlightElement();
8275
doWithRetry(() -> {
8376
getElement().clear();

src/main/java/aquality/selenium/elements/interfaces/IElement.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ public interface IElement extends aquality.selenium.core.elements.interfaces.IEl
1515
*
1616
* @param key key for sending.
1717
*/
18-
default void sendKeys(Keys key) {
19-
sendKeys(key.toString());
20-
}
18+
void sendKeys(Keys key);
2119

2220
/**
2321
* Click on an item and wait for the page is loaded
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{
2+
"loc.browser.arguments.setting" : "Задаем стартавыя аргументы браўзэра з JSON файла: %s",
3+
"loc.browser.back" : "Вяртаемся да папярэдняй старонкі",
4+
"loc.browser.forward" : "Пераходзім да наступнай старонкі",
5+
"loc.browser.caps.setting" : "Задаем capabilities браўзэра з JSON файла: %s",
6+
"loc.browser.config.setting" : "Задаем опцыі профіля браўзэра з JSON файла: %s",
7+
"loc.browser.driver.quit" : "Закрываем браўзэр",
8+
"loc.browser.getUrl" : "Атрымліваем адрас бягучай старонкі",
9+
"loc.browser.grid" : "Усталёўваем драйвэр для браўзэра з Selenium Grid hub",
10+
"loc.browser.grid.fail" : "Не ўдалося ўсталяваць драйвэр браўзэра з Selenium Grid hub",
11+
"loc.browser.maximize" : "Разгортваем акно браўзэра на ўвесь экран",
12+
"loc.browser.name.wrong" : "Няслушнае імя браўзэра.",
13+
"loc.browser.navigate" : "Пераходзім па адрасу - '%s'",
14+
"loc.browser.page.timeout" : "Таймаўт загрузкі старонкі",
15+
"loc.browser.ready" : "Браўзэр '%1$s' гатовы...",
16+
"loc.browser.refresh" : "Абнаўляем старонку",
17+
"loc.browser.page.load.timeout" : "Задаем таймаўт загрузкі старонкі: '%1$s' сек.",
18+
"loc.browser.implicit.timeout" : "Задаем implicit(няяўны) таймаўт: '%1$s' сек.",
19+
"loc.browser.script.timeout" : "Задаем таймаўт на выкананне асінхронных javascript камандаў: '%1$s' сек.",
20+
"loc.browser.alert.fail" : "Памылка пры ўзаемадзеянні з акном апавяшчэння",
21+
"loc.button" : "Кнопка",
22+
"loc.checkbox" : "Чэкбокс",
23+
"loc.checkbox.get.state" : "Атрымліваем стан",
24+
"loc.clicking" : "Націскаем",
25+
"loc.clicking.double" : "Падвойна націскаем",
26+
"loc.clicking.js" : "Націскаем праз Javascript",
27+
"loc.clicking.right" : "Націскаем правай кнопкай",
28+
"loc.combobox" : "Камбабокс",
29+
"loc.combobox.select.by.text" : "Выбіраем значэнне з тэкстам '%s'",
30+
"loc.combobox.select.by.text.js": "Выбіраем значэнне з тэкстам '%s' праз JavaScript",
31+
"loc.combobox.get.texts": "Атрымліваем спіс тэкстаў опцыяў",
32+
"loc.combobox.get.texts.js": "Атрымліваем спіс тэкстаў опцыяў праз JavaScript",
33+
"loc.combobox.get.values" : "Атрымліваем спіс значэнняў",
34+
"loc.combobox.get.text.js": "Атрымліваем выбраны тэкст праз JavaScript",
35+
"loc.combobox.impossible.to.select.contain.value.or.text" : "Немагчыма выбраць опцыю, якая змяшчае значэнне/тэкст '%1$s' у камбабоксе '%2$s'",
36+
"loc.el.getattr" : "Атрымліваем атрыбут '%1$s'",
37+
"loc.el.cssvalue" : "Атрымліваем значэнне css '%1$s'",
38+
"loc.file.reading_exception" : "Памылка пры чытанні файла: '%s'",
39+
"loc.focusing" : "Факусуемся",
40+
"loc.get.text" : "Атрымліваем тэкст элемента",
41+
"loc.get.text.js" : "Атрымліваем тэкст элемента праз Javascript",
42+
"loc.hover.js" : "Наводзім курсор мышы на элемент праз JavaScript",
43+
"loc.is.present.js" : "Вызначаем, ці прысутны элемент на экране, праз JavaScript",
44+
"loc.get.xpath.js": "Атрымліваем XPath лакатар элемента праз JavaScript",
45+
"loc.label" : "Надпіс",
46+
"loc.link" : "Спасылка",
47+
"loc.moving" : "Наводзім курсор мышы на элемент",
48+
"loc.movingFrom" : "Адводзім курсор мышы ад элемента",
49+
"loc.radio" : "Радыёкнопка",
50+
"loc.scrolling.center.js" : "Пракручваем старонку да цэнтра элемента праз JavaScript",
51+
"loc.scrolling.js" : "Пракручваем старонку праз JavaScript",
52+
"loc.selecting.value" : "Выбіраем значэнне",
53+
"loc.send.text" : "Задаем тэкст - '%s'",
54+
"loc.setting.value" : "Задаем значэнне '%s'",
55+
"loc.text.clearing" : "Ачышчаем",
56+
"loc.text.field" : "Тэкставае поле",
57+
"loc.text.sending.keys" : "Націскаем клавішы '%1$s'",
58+
"loc.text.typing" : "Уводзім '%s'",
59+
"loc.text.masked_value" : "********",
60+
"loc.wait.timeout.condition": "Не дачакаліся ўмовы '%2$s' цягам %1$s сек.",
61+
"loc.waitexists" : "Чакаем прысутнасці элемента ў DOM па лакатару: %1$s",
62+
"loc.waitinstate" : "Чакаем прысутнасці элемента ў стане %1$s па лакатару: %2$s",
63+
"loc.waitinvisible" : "Чакаем адсутнасці элемента па лакатару: %1$s",
64+
"loc.waitnotexists" : "Чакаем адсутнасці элемента ў DOM па лакатару: %1$s",
65+
"loc.no.elements.found.in.state" : "Не знайшлі элементаў па лакатару '%1$s' у %2$s стане",
66+
"loc.no.elements.found.by.locator" : "Не знайшлі элементаў па лакатару '%1$s'",
67+
"loc.elements.were.found.but.not.in.state": "Знайшлі элементы па лакатару '%1$s', але яны не ў жаданым стане %2$s",
68+
"loc.elements.found.but.should.not": "Не павінна быць знойдзена элементаў па лакатару '%1$s' у %2$s стане",
69+
"loc.search.of.elements.failed": "Пошук элемента па лакатару '%1$s' прайшоў няўдала",
70+
"loc.element.not.in.state": "Элемент %1$s не стаў %2$s пасля таймаўта %3$s",
71+
"loc.get.page.source.failed": "Адбылася памылка ў час атрымання разметкі старонкі"
72+
}

src/main/resources/localization/en.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"loc.clicking.right" : "Clicking right",
2828
"loc.combobox" : "ComboBox",
2929
"loc.combobox.select.by.text" : "Selecting value by text '%s'",
30-
"loc.combobox.select.by.text.js": "Selecting value by text '{0}' via JavaScript",
30+
"loc.combobox.select.by.text.js": "Selecting value by text '%s' via JavaScript",
3131
"loc.combobox.get.texts": "Getting option texts array",
3232
"loc.combobox.get.texts.js": "Getting option texts array via JavaScript",
3333
"loc.combobox.get.values" : "Getting values array",
@@ -65,7 +65,7 @@
6565
"loc.no.elements.found.in.state" : "No elements with locator '%1$s' found in state '%2$s'",
6666
"loc.no.elements.found.by.locator" : "No elements were found by locator '%1$s'",
6767
"loc.elements.were.found.but.not.in.state" : "Elements were found by locator '%1$s' but not in desired state. %2$s",
68-
"loc.elements.found.but.should.not": "No elements should be found by locator '%1$s'",
68+
"loc.elements.found.but.should.not": "No elements should be found by locator '%1$s' in %2$s state",
6969
"loc.search.of.elements.failed": "Search of element by locator '%1$s' failed",
7070
"loc.element.not.in.state": "Element %1$s has not become %2$s after timeout %3$s",
7171
"loc.get.page.source.failed": "An exception occurred while tried to save the page source"

src/main/resources/localization/ru.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
"loc.clicking.right" : "Клик правой кнопкой",
2828
"loc.combobox" : "Комбобокс",
2929
"loc.combobox.select.by.text" : "Выбор значения с текстом '%s'",
30-
"loc.combobox.select.by.text.js": "Выбор значения с текстом '{0}' посредством JavaScript",
30+
"loc.combobox.select.by.text.js": "Выбор значения с текстом '%s' посредством JavaScript",
3131
"loc.combobox.get.texts": "Получение списка текстов опций",
3232
"loc.combobox.get.texts.js": "Получение списка текстов опций посредством JavaScript",
3333
"loc.combobox.get.values" : "Получение списка значений",
34-
"loc.combobox.get.text.js": "Получение списка значений посредством JavaScript",
34+
"loc.combobox.get.text.js": "Получение текста выбранного значения посредством JavaScript",
3535
"loc.combobox.impossible.to.select.contain.value.or.text" : "Не удаётся выбрать значение которое содержит значение/текст '%1$s' в выпадающем списке '%2$s'",
3636
"loc.el.getattr" : "Получение аттрибута '%1$s'",
3737
"loc.el.cssvalue" : "Получение значения css '%1$s'",
@@ -65,7 +65,7 @@
6565
"loc.no.elements.found.in.state" : "Не удалось найти элементов по локатору '%1$s' в состоянии '%2$s'",
6666
"loc.no.elements.found.by.locator" : "Не удалось найти элементов по локатору '%1$s'",
6767
"loc.elements.were.found.but.not.in.state" : "Удалось найти элементы по локатору '%1$s',но они не в желаемом состоянии. %2$s",
68-
"loc.elements.found.but.should.not": "Не должно быть найдено элементов по локатору '%1$s'",
68+
"loc.elements.found.but.should.not": "Не должно быть найдено элементов по локатору '%1$s' в %2$s состоянии",
6969
"loc.search.of.elements.failed": "Поиск элемента по локатору '%1$s' прошел неудачно",
7070
"loc.element.not.in.state": "Элемент %1$s не стал %2$s после таймаута %3$s",
7171
"loc.get.page.source.failed": "Произошла ошибка во время получения разметки страницы"

src/test/java/automationpractice/forms/AuthenticationForm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public AuthenticationForm() {
1515
}
1616

1717
public void setEmail(String email){
18-
txbEmail.type(email);
18+
txbEmail.typeSecret(email);
1919
txbEmail.clearAndType(email);
2020
}
2121

0 commit comments

Comments
 (0)