-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: publish docs
- Loading branch information
Showing
225 changed files
with
20,772 additions
and
160 deletions.
There are no files selected for viewing
Empty file.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
title: Ребрендинг | ||
slug: testplane-rebranding | ||
hide_table_of_contents: false | ||
date: 2024-05-20T13:00 | ||
--- | ||
|
||
Представляем вашему вниманию... **Testplane**. Наш проект Hermione решил сменить имя — встречайте проверенный годами продукт в свежем образе! | ||
|
||
<!-- truncate --> | ||
|
||
Мы долго рассматривали все за и против и пришли к выводу, что новое имя — Testplane — наилучшим образом отражает наше видение и будущее развитие продукта: | ||
|
||
1. Мы планируем активно вкладываться в развитие инструмента в опенсорсе. Новое имя символизирует качественный переход в развитии инструмента. | ||
2. Мы стремимся создать полноценный бренд с товарным знаком, логотипом, фирменным визуальным стилем. Testplane — это название, которое как сочетает в себе отсылку к «испытательному полету», так и может читаться как "плоскость для тестирования". | ||
|
||
Суть продукта остаётся неизменной. Testplane — это тот же проект, который вы знали многие годы как Hermione, но в свежем, обновленном виде. Чтобы упростить переход, мы решили сохранить сквозную нумерацию версий: Testplane v8.x — это эквивалент Hermione v8.x. | ||
|
||
Если вы уже работаете с Hermione, обновление на Testplane займет всего несколько минут. Мы проектировали его как drop-in замену: | ||
|
||
- Полная поддержка существующих плагинов Hermione. | ||
- Понимание всех опций и переменных окружения Hermione. | ||
- Полная совместимость конфигураций. | ||
- Два бинарных файла (testplane и hermione) для плавного перехода (вы можете запускать и как hermione gui, и как testplane gui). | ||
- Экспорт типов для TypeScript, включая как собственные типы Testplane, так и типы Hermione (включая hermioneCtx). | ||
|
||
Если же вы еще не пробовали Testplane — загляните в нашу документацию и начните ваше исследование с Testplane всего за пару минут! | ||
|
||
Благодарим за интерес к проекту! ✈️ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
import Admonition from "@theme/Admonition"; | ||
|
||
# $$ | ||
|
||
## Обзор {#overview} | ||
|
||
Используйте команду `$$` вместо [findElements][find-elements] как более краткую команду, чтобы получить несколько элементов на странице. | ||
|
||
Команда `$$` возвращает массив с искомыми элементами, на каждом из которых можно вызывать команды действия без передачи селектора. Однако, если вы все же передадите селектор, то сначала будет найден соответствующий элемент, а затем вызвано действие для этого элемента. | ||
|
||
Вы можете связать `$` или `$$` вместе, чтобы спуститься по дереву DOM. | ||
|
||
<Admonition type="info"> | ||
Подробнее о том, как выбрать определенные элементы, смотрите в рецепте «[Как использовать | ||
селекторы][how-to-use-selectors]». | ||
</Admonition> | ||
|
||
## Использование {#usage} | ||
|
||
```javascript | ||
await browser.$$(selector); | ||
``` | ||
|
||
## Параметры команды {#parameters} | ||
|
||
<table> | ||
<thead> | ||
<tr><td>**Имя**</td><td>**Тип**</td><td>**Описание**</td></tr> | ||
</thead> | ||
<tbody> | ||
<tr><td>selector</td><td>String или Function</td><td>Селектор или JS-функция для получения множества элементов.</td></tr> | ||
|
||
</tbody> | ||
</table> | ||
|
||
## Примеры использования {#examples} | ||
|
||
**index.html** | ||
|
||
```html | ||
<ul id="menu"> | ||
<li> | ||
<a href="/">Home</a> | ||
</li> | ||
<li> | ||
<a href="/">Developer Guide</a> | ||
</li> | ||
<li> | ||
<a href="/">API</a> | ||
</li> | ||
<li> | ||
<a href="/">Contribute</a> | ||
</li> | ||
</ul> | ||
``` | ||
|
||
**$.js** | ||
|
||
```javascript | ||
it("should get text a menu link", async ({ browser }) => { | ||
const text = await browser.$$("#menu")[0]; | ||
|
||
console.log(await text.$$("li")[2].$("a").getText()); // выведет: "API" | ||
}); | ||
|
||
it("should get text a menu link - JS Function", async ({ browser }) => { | ||
const text = await browser.$$(function () { | ||
// Использовать здесь стрелочную функцию нельзя. | ||
// Это Window – https://developer.mozilla.org/en-US/docs/Web/API/Window | ||
// | ||
// TypeScript-пользователи могут сделать что-нибудь вроде: | ||
// return (this as Window).document.querySelectorAll('#menu') | ||
return this.document.querySelectorAll("#menu"); // Element[] | ||
})[0]; | ||
|
||
console.log(await text.$$("li")[2].$("a").getText()); // выведет: "API" | ||
}); | ||
``` | ||
|
||
## Связанные команды {#related} | ||
|
||
- [browser.$](./$) | ||
- [element.$](../element/$) | ||
- [element.$$](../element/$$) | ||
|
||
[find-elements]: https://webdriver.io/docs/api/webdriver/#findelements | ||
[how-to-use-selectors]: https://webdriver.io/docs/selectors |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
import Admonition from "@theme/Admonition"; | ||
|
||
# $ | ||
|
||
## Обзор {#overview} | ||
|
||
Используйте команду `$` вместо [findElement][find-element] как более краткую команду, чтобы получить один элемент на странице. | ||
|
||
Команда `$` возвращает объект, описывающий элемент, на котором можно вызывать команды действия без передачи селектора. Однако, если вы все же передадите селектор, то сначала будет найден соответствующий элемент, а затем вызвано действие для этого элемента. Вы также можете передать объект в качестве селектора, где объект содержит свойство `element-6066-11e4-a52e-4f735466cecf` со значением ссылки на элемент. Затем команда преобразует ссылку в расширенный элемент WebdriverIO. | ||
|
||
Вы можете связать `$` или `$$` вместе, чтобы спуститься по дереву DOM. | ||
|
||
<Admonition type="info"> | ||
Подробнее о том, как выбрать определенные элементы, читайте в рецепте «[Как использовать | ||
селекторы][how-to-use-selectors]». | ||
</Admonition> | ||
|
||
## Использование {#usage} | ||
|
||
```javascript | ||
await browser.$(selector); | ||
``` | ||
|
||
## Параметры команды {#parameters} | ||
|
||
<table> | ||
<thead> | ||
<tr><td>**Имя**</td><td>**Тип**</td><td>**Описание**</td></tr> | ||
</thead> | ||
<tbody> | ||
<tr><td>selector</td><td>String или Function или Matcher</td><td>Селектор или JS-функция для получения конкретного элемента.</td></tr> | ||
|
||
</tbody> | ||
</table> | ||
|
||
## Примеры использования {#examples} | ||
|
||
**index.html** | ||
|
||
```html | ||
<ul id="menu"> | ||
<li> | ||
<a href="/">Home</a> | ||
</li> | ||
<li> | ||
<a href="/">Developer Guide</a> | ||
</li> | ||
<li> | ||
<a href="/">API</a> | ||
</li> | ||
<li> | ||
<a href="/">Contribute</a> | ||
</li> | ||
</ul> | ||
``` | ||
|
||
**$.js** | ||
|
||
```javascript | ||
it("should get text a menu link", async ({ browser }) => { | ||
const text = await browser.$("#menu"); | ||
|
||
console.log(await text.$$("li")[2].$("a").getText()); // выведет: "API" | ||
}); | ||
|
||
it("should get text a menu link - JS Function", async ({ browser }) => { | ||
const text = await browser.$(function () { | ||
// Использовать здесь стрелочную функцию нельзя. | ||
// Это Window – https://developer.mozilla.org/en-US/docs/Web/API/Window | ||
// | ||
// TypeScript-пользователи могут сделать что-нибудь вроде: | ||
// return (this as Window).document.querySelector('#menu') | ||
return this.document.querySelector("#menu"); // Element | ||
}); | ||
|
||
console.log(await text.$$("li")[2].$("a").getText()); // выведет: "API" | ||
}); | ||
|
||
it("should allow to convert protocol result of an element into a WebdriverIO element", async ({ | ||
browser, | ||
}) => { | ||
const activeElement = await browser.getActiveElement(); | ||
|
||
console.log(await browser.$(activeElement).getTagName()); // выведет активный элемент | ||
}); | ||
|
||
it("should use Androids DataMatcher or ViewMatcher selector", async ({ browser }) => { | ||
const menuItem = await browser.$({ | ||
name: "hasEntry", | ||
args: ["title", "ViewTitle"], | ||
class: "androidx.test.espresso.matcher.ViewMatchers", | ||
}); | ||
await menuItem.click(); | ||
|
||
const menuItem = await browser.$({ | ||
name: "hasEntry", | ||
args: ["title", "ViewTitle"], | ||
}); | ||
await menuItem.click(); | ||
}); | ||
``` | ||
|
||
## Связанные команды {#related} | ||
|
||
- [browser.$$](./$$) | ||
- [element.$](../element/$) | ||
- [element.$$](../element/$$) | ||
|
||
[find-element]: https://webdriver.io/docs/api/webdriver/#findelement | ||
[how-to-use-selectors]: https://webdriver.io/docs/selectors |
Oops, something went wrong.