Skip to content

Commit

Permalink
Documents
Browse files Browse the repository at this point in the history
  • Loading branch information
TikhomirovSergey committed Jan 25, 2021
1 parent 3cec513 commit 71fd3b0
Show file tree
Hide file tree
Showing 7 changed files with 220 additions and 4 deletions.
52 changes: 52 additions & 0 deletions selenium/doc/rus/CLICK.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Клик по элементам

О принципах работы шагов, которые возвращают результат, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-возвращают-результат).

О принципах работы шагов, которые выполняют действие, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-выполняют-действие).

Полезные страницы:

- [Поиск элементов](ELEMENTS_SEARCHING.MD)
- [Виджеты](./WIDGET.MD)

```java
import ru.tinkoff.qa.neptune.selenium.api.widget.Clickable;
import ru.tinkoff.qa.neptune.selenium.api.widget.Widget;

public class ClickableWidget extends Widget implements Clickable {
//Реализация логики
}
```

```java
import static org.openqa.selenium.By.*;
import static ru.tinkoff.qa.neptune.selenium.SeleniumStepContext.inBrowser;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.CommonElementCriteria.*;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.SearchSupplier.*;

public class Tezzt {

@Test
public void tezzt() {
inBrowser().click(webElement(tagName("someTag"))); //Клик по объекту org.openqa.selenium.WebElement,
//который будет найден во время выполнения действия

//Либо org.openqa.selenium.WebElement можно найти заранее
var element = inBrowser().find(webElement(tagName("someTag")));
inBrowser().click(element); //и выполнить клик в нужный момент

//Клик по объекту, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget и
//реализует интерфейс ru.tinkoff.qa.neptune.selenium.api.widget.Clickable,
inBrowser().click(widget(ClickableWidget.class));
//который будет найден во время выполнения действия

//Либо объект, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget и
//реализует интерфейс ru.tinkoff.qa.neptune.selenium.api.widget.Clickable,
//можно найти заранее
var element2 = inBrowser().find(widget(ClickableWidget.class));
inBrowser().click(element2); //и выполнить клик в нужный момент
}
}
```
45 changes: 45 additions & 0 deletions selenium/doc/rus/EDIT.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Редактирование элементов страницы

О принципах работы шагов, которые возвращают результат, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-возвращают-результат).

О принципах работы шагов, которые выполняют действие, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-выполняют-действие).

Полезные страницы:

- [Поиск элементов](ELEMENTS_SEARCHING.MD)
- [Виджеты](./WIDGET.MD)

```java
import ru.tinkoff.qa.neptune.selenium.api.widget.Editable;
import ru.tinkoff.qa.neptune.selenium.api.widget.Widget;

public class EditableWidget extends Widget implements Editable<String> {
//Реализация логики
}
```

```java
import static org.openqa.selenium.By.*;
import static ru.tinkoff.qa.neptune.selenium.SeleniumStepContext.inBrowser;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.CommonElementCriteria.*;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.SearchSupplier.*;

public class Tezzt {

@Test
public void tezzt() {
//Редактирование объекта, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget и
//реализует интерфейс ru.tinkoff.qa.neptune.selenium.api.widget.Editable,
inBrowser().edit(widget(EditableWidget.class), "Some text");
//который будет найден во время выполнения действия

//Либо объект, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget и
//реализует интерфейс ru.tinkoff.qa.neptune.selenium.api.widget.Editable,
//можно найти заранее
var element = inBrowser().find(widget(EditableWidget.class));
inBrowser().edit(element, "Some text"); //и выполнить редактирование в нужный момент
}
}
```
File renamed without changes.
39 changes: 39 additions & 0 deletions selenium/doc/rus/ELEMENT_ATTR.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Значение атрибутов элементов

О принципах работы шагов, которые возвращают результат, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-возвращают-результат).

Полезные страницы:

- [Поиск элементов](ELEMENTS_SEARCHING.MD)
- [Виджеты](./WIDGET.MD)

```java
import static org.openqa.selenium.By.*;
import static ru.tinkoff.qa.neptune.selenium.SeleniumStepContext.inBrowser;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.CommonElementCriteria.*;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.SearchSupplier.*;

public class Tezzt {

@Test
public void tezzt() {
//Получение атрибута объекта org.openqa.selenium.WebElement,
var attr = inBrowser().attrValueOf(webElement(tagName("someTag")), "attr_name");
//который будет найден во время выполнения действия

//Либо org.openqa.selenium.WebElement можно найти заранее
var element = inBrowser().find(webElement(tagName("someTag")));
var attr2 = inBrowser().attrValueOf(element, "attr_name"); //и получить значение атрибута в нужный момент

//Получение атрибута объекта, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget,
var attr3 = inBrowser().attrValueOf(widget(SomeeWidget.class), "attr_name");
//который будет найден во время выполнения действия

//Либо объект, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget,
//можно найти заранее
var element2 = inBrowser().find(widget(SomeeWidget.class));
var attr4 = inBrowser().attrValueOf(element2, "attr_name"); //и получить значение атрибута в нужный момент
}
}
```
39 changes: 39 additions & 0 deletions selenium/doc/rus/ELEMENT_CSS.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# CSS элементов

О принципах работы шагов, которые возвращают результат, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-возвращают-результат).

Полезные страницы:

- [Поиск элементов](ELEMENTS_SEARCHING.MD)
- [Виджеты](./WIDGET.MD)

```java
import static org.openqa.selenium.By.*;
import static ru.tinkoff.qa.neptune.selenium.SeleniumStepContext.inBrowser;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.CommonElementCriteria.*;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.SearchSupplier.*;

public class Tezzt {

@Test
public void tezzt() {
//Получение css объекта org.openqa.selenium.WebElement,
var css = inBrowser().cssValueOf(webElement(tagName("someTag")), "css_property_name");
//который будет найден во время выполнения действия

//Либо org.openqa.selenium.WebElement можно найти заранее
var element = inBrowser().find(webElement(tagName("someTag")));
var css2 = inBrowser().cssValueOf(element, "css_property_name"); //и получить css в нужный момент

//Получение css объекта, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget,
var css3 = inBrowser().cssValueOf(widget(SomeeWidget.class), "css_property_name");
//который будет найден во время выполнения действия

//Либо объект, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget,
//можно найти заранее
var element2 = inBrowser().find(widget(SomeeWidget.class));
var css4 = inBrowser().cssValueOf(element2, "css_property_name"); //и получить css в нужный момент
}
}
```
42 changes: 42 additions & 0 deletions selenium/doc/rus/ELEMENT_VALUE.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Значение элементов страницы

О принципах работы шагов, которые возвращают результат, можно
прочитать [здесь](./../../../core.api/doc/rus/IDEA.MD#Шаги,-которые-возвращают-результат).

Полезные страницы:

- [Поиск элементов](ELEMENTS_SEARCHING.MD)
- [Виджеты](./WIDGET.MD)

```java
import ru.tinkoff.qa.neptune.selenium.api.widget.HasValue;
import ru.tinkoff.qa.neptune.selenium.api.widget.Widget;

public class ValuableWidget extends Widget implements HasValue<String> {
//Реализация логики
}
```

```java
import static org.openqa.selenium.By.*;
import static ru.tinkoff.qa.neptune.selenium.SeleniumStepContext.inBrowser;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.CommonElementCriteria.*;
import static ru.tinkoff.qa.neptune.selenium.functions.searching.SearchSupplier.*;

public class Tezzt {

@Test
public void tezzt() {
//Получение значения объекта, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget и
//реализует интерфейс ru.tinkoff.qa.neptune.selenium.api.widget.HasValue,
String value = inBrowser().valueOf(widget(ValuableWidget.class));
//который будет найден во время выполнения действия

//Либо объект, чей класс наследует ru.tinkoff.qa.neptune.selenium.api.widget.Widget и
//реализует интерфейс ru.tinkoff.qa.neptune.selenium.api.widget.HasValue,
//можно найти заранее
var element = inBrowser().find(widget(ValuableWidget.class));
String value2 = inBrowser().valueOf(element); //и получить его значение
}
}
```
7 changes: 3 additions & 4 deletions selenium/doc/rus/WIDGET.MD
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

Полезные страницы:

- [Поиск элементов и работа с ними](./ELEMENTS_AND_SEARCHING.MD)
- [Поиск элементов](ELEMENTS_SEARCHING.MD)
- [Редактирование элементов страницы](./EDIT.MD)
- [Клик по элементам страницы](./CLICK.MD)
- [Значение элементов страницы](./ELEMENT_VALUE.MD)

Сначала полезно прочитать про
дизайн-паттерн [Page Object](https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/)
Expand Down Expand Up @@ -290,7 +291,6 @@ public class Tezzt {
```java
import org.openqa.selenium.support.FindBy;

import ru.tinkoff.qa.neptune.selenium.api.widget.HasValue;
import ru.tinkoff.qa.neptune.selenium.api.widget.Name;
import ru.tinkoff.qa.neptune.selenium.api.widget.Priority;
import ru.tinkoff.qa.neptune.selenium.api.widget.drafts.TextElement;
Expand Down Expand Up @@ -346,8 +346,7 @@ public class Tezzt {

```java
import org.openqa.selenium.support.FindBy;

import ru.tinkoff.qa.neptune.selenium.api.widget.Clickable;

import ru.tinkoff.qa.neptune.selenium.api.widget.Label;
import ru.tinkoff.qa.neptune.selenium.api.widget.Name;
import ru.tinkoff.qa.neptune.selenium.api.widget.drafts.Button;
Expand Down

0 comments on commit 71fd3b0

Please sign in to comment.