From 8320ea7fb1707203f949e7641c3470261d31cabd Mon Sep 17 00:00:00 2001 From: Azamat Cherchesov Date: Mon, 9 Oct 2023 14:40:40 +0300 Subject: [PATCH] Issue 579 profile fixes (#585) * ISSUE-579: changed main icon * ISSUE-579: added discord link * ISSUE-579: changed README.md file * ISSUE-579: fixed some tutorial mistakes * ISSUE-579: changed mkdocs.yml file * ISSUE-579: fixed info in github profile * ISSUE-579: added articles in Kaspresso-in-articles blocks --- README.md | 140 ++++++++++++++++++--- docs/Home/Kaspresso-in-articles.en.md | 13 +- docs/Home/Kaspresso-in-articles.ru.md | 12 +- docs/Home/Kaspresso-in-videos.en.md | 13 +- docs/Home/Kaspresso-in-videos.ru.md | 13 +- docs/Tutorial/Scenario.en.md | 2 +- docs/Tutorial/Scenario.ru.md | 2 +- docs/Tutorial/Writing_simple_test.ru.md | 4 +- docs/Wiki/Screenshot_tests.en.md | 4 +- docs/Wiki/Screenshot_tests.ru.md | 4 +- docs/index.en.md | 159 ++++++++++++++++++------ docs/index.ru.md | 127 ++++++++++++++++--- docs/kaspresso.png | Bin 12891 -> 48349 bytes kaspresso.png | Bin 12891 -> 48349 bytes mkdocs.yml | 10 +- 15 files changed, 407 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index 5eaca206d..af237945a 100644 --- a/README.md +++ b/README.md @@ -5,30 +5,40 @@ ![Build and Deploy](https://github.com/KasperskyLab/Kaspresso/workflows/Build%20and%20Deploy/badge.svg) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=RU&color=0088CC)](https://t.me/kaspresso) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=EN&color=0088CC)](https://t.me/kaspresso_en) +[![Discord](https://img.shields.io/discord/1152145101825527839?label=discord&labelColor=7289da&style=flat)](https://discord.com/invite/hFMC5NQU) # Kaspresso Kaspresso is a framework for Android UI testing. Based on [Espresso](https://developer.android.com/training/testing/espresso) and [UI Automator](https://developer.android.com/training/testing/ui-automator), Kaspresso provides a wide range of additional features, such as: -* 100% stability, no flakiness. -* Jetpack Compose support. +* Built-in protection against flaky tests +* Jetpack Compose support +* Screenshot testing with native approach (with dark mode support) +* Declarative approach for writing tests +* Ability to interact with other applications and system elements and interfaces +* Human readability with Kotlin DSL wrappers over UiAutomator and Espresso +* Detailed logs and reports (logs, view hierarchy, screenshots, video etc.) +* ADB support +* Allure support +* Robolectric support +* Easy migration from Espresso +* Flexible configuration options +* Automatic artifacts pulling after tests execution * Significantly faster execution of UI Automator commands. With Kaspresso, some UI Automator commands run **10 times faster**! -* Excellent readability due to human DSL. -* Useful interceptor mechanism to catch all actions and assertions in one place. -* Full logging. -* Ability to call ADB commands. -* UI tests writing philosophy implemented with DSL. -* Features screenshotting. -* Robolectric support. -* Allure support. +* Page object pattern from the box And many more! Kaspresso +
+ + ## Integration + + To integrate Kaspresso into your project: 1. If the `mavenCentral` repository does not exist, include it to your root `build.gradle` file: @@ -52,7 +62,7 @@ dependencies { } ``` -To try out the cutting edge kaspresso updates before an oficial release add a "-SNAPHOT" postfix to the latest Kaspresso version e.g. +To try out the cutting edge kaspresso updates before an official release add a "-SNAPHOT" postfix to the latest Kaspresso version e.g. ```groovy dependencies { androidTestImplementation 'com.kaspersky.android-components:kaspresso:-SNAPSHOT' @@ -69,13 +79,30 @@ dependencies { } ``` +
+ +## FAQ +[See our website.](https://kasperskylab.github.io/Kaspresso/en/) +You can also reach out to us on [Discord](https://kas.pr/gh_discord). + ## Tutorial *NEW* To make it easier to learn the framework, a step-by-step tutorial is available on [our website](https://kasperskylab.github.io/Kaspresso/Tutorial/). + +
+ + ## Capabilities of Kaspresso + + +
+ + ### Readability + + We like the syntax that [Kakao](https://github.com/KakaoCup/Kakao) applies to write UI tests. This wrapper over Espresso uses the Kotlin DSL approach, that makes the code significantly shorter and more readable. See the difference: @@ -182,21 +209,42 @@ fun shouldPassOnNoInternetScanTest() = } ``` +
+ +
+ + ### Stability + + Sometimes your UI test passes ten times, then breaks on the eleventh attempt for some mysterious reason. It’s called *flakiness*. The most popular reason for flakiness is the instability of the UI tests libraries, such as Espresso and UI Automator. To eliminate this instability, Kaspresso uses DSL wrappers and [interceptors](#Interceptors). +
+ + +
+ + ### UI test libraries acceleration + + Let’s watch some short video that shows the difference between the original UI Automator (on the right) and the accelerated one (on the left). ![](https://habrastorage.org/webt/ti/kv/ki/tikvkij1vjesnacrxqm-lk0coly.gif) Here is [a short explanation](https://kasperskylab.github.io/Kaspresso/Wiki/Kautomator-wrapper_over_UI_Automator/#accelerate-ui-automator) of why it is possible. +
+ +
+ + ### Interceptors + We developed [Kaspresso behavior interceptors](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#some-words-about-behavior-interceptors) on the base of [Kakao/Kautomator Interceptors](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#kaspresso-interceptors-based-on-kakaokautomator-interceptors) to catch failures. @@ -208,17 +256,36 @@ Thanks to interceptors, you can do a lot of useful things, such as: and many more (see [the manual](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#kaspresso-interceptors-based-on-kakaokautomator-interceptors)). +
+ +
+ + ### Writing readable logs + + Kaspresso writes its own logs, detailed and readable: +
+ +
+ + ### Ability to call ADB commands + Espresso and UI Automator don't allow to call ADB commands from inside a test. To fix this problem, we developed AdbServer (see the [wiki](https://kasperskylab.github.io/Kaspresso/Wiki/Executing_adb_commands/)). +
+ +
+ + ### Ability to work with Android System + You can use Kaspresso classes to work with Android System. @@ -237,35 +304,68 @@ For example, with the ```Device``` class you can: (see more about the [Device class](https://kasperskylab.github.io/Kaspresso/Wiki/Working_with_Android_OS/)). +
+ +
+ + ### Features screenshotting + If you develop an application that is available across the world, you have to *localize* it into different languages. When UI is localized, it’s important for the translator to see the context of a word or a phrase, that is the specific screen. With Kaspresso, translators can automatically take a screenshot of any screen. It’s incredibly fast, even for legacy screens, and you don't have to refactor or mock anything (see [the manual](https://kasperskylab.github.io/Kaspresso/Wiki/Screenshot_tests/)). +
+ +
+ + ### Configurability + You can tune any part of Kaspresso (read [more](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/)). +
+ +
+ + ### Robolectric support + You can run your UI-tests on the JVM environment. Additionally, almost all interceptors improving stability, readability and other will work. Read [more](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_Robolectric/). +
+ +
+ + ### Allure support + Kaspresso can generate very detailed Allure-reports for each test: ![](https://habrastorage.org/webt/tq/t7/ch/tqt7chcdczrgduhoukqhx1ertfc.png) More information is available [here](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_Allure/). +
+ +
+ + ### Jetpack Compose support + Now, you can write your Kaspresso tests for Jetpack Compose screens! DSL and all principles are the same. So, you will not see any difference between tests for View screens and for Compose screens. More information is available [here](https://kasperskylab.github.io/Kaspresso/Wiki/Jetpack_Compose/). +
+
+ ## Samples -All samples are available in the [samples](https://github.com/KasperskyLab/Kaspresso/tree/issue-372/tutorial/samples) folder. +All samples are available in the [samples](https://github.com/KasperskyLab/Kaspresso/tree/master/samples) folder. Most of the samples require AdbServer. To start AdbServer you should do the following steps: @@ -278,10 +378,6 @@ cd ~/Workspace/Kaspresso java -jar artifacts/adbserver-desktop.jar ``` -## Runner -If you looking for a Runner to execute your UI tests we strongly recommend to use [Marathon](https://github.com/MarathonLabs/marathon). [Marathon](https://github.com/MarathonLabs/marathon) is a fast, platform-independent test runner focused on performance and stability. It offers easy to use platform implementations for Android and iOS as well as an API for use with custom hardware farms and more techstacks. -Marathon - ## Existing issues All existing issues in Kaspresso can be found [here](https://kasperskylab.github.io/Kaspresso/Issues/). @@ -293,3 +389,15 @@ Kaspresso is an open source project, so you are welcome to contribute (see the [ ## License Kaspresso is available under the [Apache License, Version 2.0](https://github.com/KasperskyLab/Kaspresso/blob/master/LICENSE). + + +
+ + +## Runner + + +If you looking for a Runner to execute your UI tests we strongly recommend to use [Marathon](https://github.com/MarathonLabs/marathon). [Marathon](https://github.com/MarathonLabs/marathon) is a fast, platform-independent test runner focused on performance and stability. It offers easy to use platform implementations for Android and iOS as well as an API for use with custom hardware farms and more techstacks. +Marathon + +
diff --git a/docs/Home/Kaspresso-in-articles.en.md b/docs/Home/Kaspresso-in-articles.en.md index 8413cf9e2..b816746cb 100644 --- a/docs/Home/Kaspresso-in-articles.en.md +++ b/docs/Home/Kaspresso-in-articles.en.md @@ -1,10 +1,19 @@ # Kaspresso in articles - +[EN] [Eugene Matsyuk — Kaspresso: The autotest framework that you have been looking forward to. Part I](https://proandroiddev.com/kaspresso-the-autotest-framework-that-you-have-been-looking-forward-to-part-i-e102ed384d11)
+[EN] [Feyza Dayan - UI Test Roadmap with Kaspresso](https://medium.com/trendyol-tech/ui-test-roadmap-with-kaspresso-fa78d4ee7150)
+[EN] [Kaspersky makes Android app testing tool publicly available for mobile developers](https://www.digitalstreetsa.com/kaspersky-makes-android-app-testing-tool-publicly-available-for-mobile-developers/)
+[EN] [Danil Perevalov - Leak detection into UI tests](https://proandroiddev.com/leak-detection-into-ui-tests-952c598dcfe0)
+[EN] [Christina Rozenkova - Kaspresso Tutorials. Part 1. Launching the First Test](https://proandroiddev.com/kaspresso-tutorials-part-1-launching-the-first-test-731d489ea1ae)
+[EN] [Evgenii Matsiuk (Eugene Matsyuk) - Autotests on Android. The entire picture](https://proandroiddev.com/where-to-write-android-ui-tests-part-2-cb45033f3ddf)
+[EN] [Senchurin Nick - Kaspresso and ADB server](https://proandroiddev.com/kaspresso-and-adb-server-7c35a80d8978)
[RU] [Евгений Мацюк — Kaspresso: фреймворк для автотестирования, который вы ждали](https://habr.com/ru/company/kaspersky/blog/467617/)
[RU] [Иван Федянин — Kaspresso tutorials. Часть 1. Запуск первого теста](https://habr.com/ru/company/kaspersky/blog/570658/)
-[EN] [Eugene Matsyuk — Kaspresso: The autotest framework that you have been looking forward to. Part I](https://proandroiddev.com/kaspresso-the-autotest-framework-that-you-have-been-looking-forward-to-part-i-e102ed384d11)
+[RU] [Евгений Мацюк — Что там по автотестам на Android в 2022?](https://habr.com/ru/articles/695244/)
+[RU] [Konstantin Sidorov - Путь к автотестированию Android нативными инструментами: испробовали всё, что есть на рынке и сделали свои выводы](https://habr.com/ru/companies/bcs_company/articles/661179/)
+[RU] [Алексей Пак - Настраиваем CI/CD для тестовой инфраструктуры Android](https://habr.com/ru/companies/gazprommedia/articles/739838/)
+[RU] [Егор Курников - На чем писать Android UI-тесты](https://habr.com/ru/companies/avito/articles/516650/)
> Do you want your article to be included in this list? Everything is simple! Write an article, send it to us and we will add it to this list! diff --git a/docs/Home/Kaspresso-in-articles.ru.md b/docs/Home/Kaspresso-in-articles.ru.md index 74b8d8188..11bbcb26f 100644 --- a/docs/Home/Kaspresso-in-articles.ru.md +++ b/docs/Home/Kaspresso-in-articles.ru.md @@ -2,8 +2,18 @@ [RU] [Евгений Мацюк — Kaspresso: фреймворк для автотестирования, который вы ждали](https://habr.com/ru/company/kaspersky/blog/467617/)
[RU] [Иван Федянин — Kaspresso tutorials. Часть 1. Запуск первого теста](https://habr.com/ru/company/kaspersky/blog/570658/)
-[EN] [Eugene Matsyuk — Kaspresso: The autotest framework that you have been looking forward to. Part I](https://proandroiddev.com/kaspresso-the-autotest-framework-that-you-have-been-looking-forward-to-part-i-e102ed384d11)
+[RU] [Евгений Мацюк — Что там по автотестам на Android в 2022?](https://habr.com/ru/articles/695244/)
+[RU] [Konstantin Sidorov - Путь к автотестированию Android нативными инструментами: испробовали всё, что есть на рынке и сделали свои выводы](https://habr.com/ru/companies/bcs_company/articles/661179/)
+[RU] [Алексей Пак - Настраиваем CI/CD для тестовой инфраструктуры Android](https://habr.com/ru/companies/gazprommedia/articles/739838/)
+[RU] [Егор Курников - На чем писать Android UI-тесты](https://habr.com/ru/companies/avito/articles/516650/)
+[EN] [Eugene Matsyuk — Kaspresso: The autotest framework that you have been looking forward to. Part I](https://proandroiddev.com/kaspresso-the-autotest-framework-that-you-have-been-looking-forward-to-part-i-e102ed384d11)
+[EN] [Feyza Dayan - UI Test Roadmap with Kaspresso](https://medium.com/trendyol-tech/ui-test-roadmap-with-kaspresso-fa78d4ee7150)
+[EN] [Kaspersky makes Android app testing tool publicly available for mobile developers](https://www.digitalstreetsa.com/kaspersky-makes-android-app-testing-tool-publicly-available-for-mobile-developers/)
+[EN] [Danil Perevalov - Leak detection into UI tests](https://proandroiddev.com/leak-detection-into-ui-tests-952c598dcfe0)
+[EN] [Christina Rozenkova - Kaspresso Tutorials. Part 1. Launching the First Test](https://proandroiddev.com/kaspresso-tutorials-part-1-launching-the-first-test-731d489ea1ae)
+[EN] [Evgenii Matsiuk (Eugene Matsyuk) - Autotests on Android. The entire picture](https://proandroiddev.com/where-to-write-android-ui-tests-part-2-cb45033f3ddf)
+[EN] [Senchurin Nick - Kaspresso and ADB server](https://proandroiddev.com/kaspresso-and-adb-server-7c35a80d8978)
> Хочешь попасть в этот список? Все просто! Напиши статью про Kaspresso, пришли нам ссылку, и мы добавим её в этот список!
diff --git a/docs/Home/Kaspresso-in-videos.en.md b/docs/Home/Kaspresso-in-videos.en.md index 122430a48..cdf5e7a39 100644 --- a/docs/Home/Kaspresso-in-videos.en.md +++ b/docs/Home/Kaspresso-in-videos.en.md @@ -1,8 +1,13 @@ -# Kaspresso в видео +# Kaspresso in videos + +[EN] [Eugene Matsyuk — How to start writing autotests and not go crazy](https://www.youtube.com/watch?v=xiVDqMlTdbM)
+ [RU] [Дмитрий Мовчан, Евгений Мацюк — Как начать писать автотесты и не сойти с ума](https://youtu.be/q_8UUhVDV7c)
[RU] [Егор Курников — Единственное, что вам нужно для UI-тестирования](https://youtu.be/cTykctRSmuA)
[RU] [Воркшоп по автотестам. 19-12-2019](https://www.youtube.com/watch?v=FExlaWfKENI)
[RU] [Руслан Мингалиев - Live-coding: мобильные автотесты с нуля ](https://www.youtube.com/watch?v=gFPeH2yihDA)
-[RU] ["Kaspresso" с Евгением Мацюком и Егором Курниковым](https://www.youtube.com/watch?v=vHkoxOfwbDg&feature=youtu.be)
-[RU] [Kaspresso: Q&A Session 9.04.20](https://www.youtube.com/watch?v=Jqnn_CDcjK0&feature=youtu.be)
-[EN] [Eugene Matsyuk — How to start writing autotests and not go crazy](https://www.youtube.com/watch?v=xiVDqMlTdbM&feature=youtu.be)
+[RU] ["Kaspresso" с Евгением Мацюком и Егором Курниковым](https://www.youtube.com/watch?v=vHkoxOfwbDg)
+[RU] [Kaspresso: Q&A Session 9.04.20](https://www.youtube.com/watch?v=Jqnn_CDcjK0)
+[RU] [Всё, что вы хотели знать о Kaspresso и UI-тестах под Android. Часть 1](https://www.youtube.com/watch?v=JN-c5hD2ZZ8&t=712s)
+[RU] [Всё, что вы хотели знать о Kaspresso и UI-тестах под Android. Часть 2](https://www.youtube.com/watch?v=kmdyzO8Whfo&t=2025s)
+[RU] [Начинаем писать ui-тесты в Android - Mad Brains Техно](https://www.youtube.com/watch?v=AOgXnq-VII0)
diff --git a/docs/Home/Kaspresso-in-videos.ru.md b/docs/Home/Kaspresso-in-videos.ru.md index e730cc7a2..c74800377 100644 --- a/docs/Home/Kaspresso-in-videos.ru.md +++ b/docs/Home/Kaspresso-in-videos.ru.md @@ -1,8 +1,13 @@ -# Kaspresso в videos +# Kaspresso в видео + [RU] [Дмитрий Мовчан, Евгений Мацюк — Как начать писать автотесты и не сойти с ума](https://youtu.be/q_8UUhVDV7c)
[RU] [Егор Курников — Единственное, что вам нужно для UI-тестирования](https://youtu.be/cTykctRSmuA)
[RU] [Воркшоп по автотестам. 19-12-2019](https://www.youtube.com/watch?v=FExlaWfKENI)
[RU] [Руслан Мингалиев - Live-coding: мобильные автотесты с нуля ](https://www.youtube.com/watch?v=gFPeH2yihDA)
-[RU] ["Kaspresso" с Евгением Мацюком и Егором Курниковым](https://www.youtube.com/watch?v=vHkoxOfwbDg&feature=youtu.be)
-[RU] [Kaspresso: Q&A Session 9.04.20](https://www.youtube.com/watch?v=Jqnn_CDcjK0&feature=youtu.be)
-[EN] [Eugene Matsyuk — How to start writing autotests and not go crazy](https://www.youtube.com/watch?v=xiVDqMlTdbM&feature=youtu.be)
+[RU] ["Kaspresso" с Евгением Мацюком и Егором Курниковым](https://www.youtube.com/watch?v=vHkoxOfwbDg)
+[RU] [Kaspresso: Q&A Session 9.04.20](https://www.youtube.com/watch?v=Jqnn_CDcjK0)
+[RU] [Всё, что вы хотели знать о Kaspresso и UI-тестах под Android. Часть 1](https://www.youtube.com/watch?v=JN-c5hD2ZZ8&t=712s)
+[RU] [Всё, что вы хотели знать о Kaspresso и UI-тестах под Android. Часть 2](https://www.youtube.com/watch?v=kmdyzO8Whfo&t=2025s)
+[RU] [Начинаем писать ui-тесты в Android - Mad Brains Техно](https://www.youtube.com/watch?v=AOgXnq-VII0)
+ +[EN] [Eugene Matsyuk — How to start writing autotests and not go crazy](https://www.youtube.com/watch?v=xiVDqMlTdbM)
diff --git a/docs/Tutorial/Scenario.en.md b/docs/Tutorial/Scenario.en.md index cb2ccc211..04dbca4df 100644 --- a/docs/Tutorial/Scenario.en.md +++ b/docs/Tutorial/Scenario.en.md @@ -2,7 +2,7 @@ In this lesson, we will learn what scenarios are (the `Scenario` class from the Kaspresso library), find out what their purpose is, when they should be used, and when it is better to avoid them. -Open the tutorial application and click on the `Login Acitivity` button. +Open the tutorial application and click on the `Login Activity` button. Main Screen login button diff --git a/docs/Tutorial/Scenario.ru.md b/docs/Tutorial/Scenario.ru.md index 3a7bf46a9..31f71993b 100644 --- a/docs/Tutorial/Scenario.ru.md +++ b/docs/Tutorial/Scenario.ru.md @@ -2,7 +2,7 @@ В этом уроке мы познакомимся со сценариями (класс `Scenario` из библиотеки Kaspresso), узнаем, что это, для чего они нужны, когда их стоит использовать, а когда лучше избегать. -Открываем приложение tutorial и кликаем по кнопке `Login Acitivity`. +Открываем приложение tutorial и кликаем по кнопке `Login Activity`. Main Screen login button diff --git a/docs/Tutorial/Writing_simple_test.ru.md b/docs/Tutorial/Writing_simple_test.ru.md index b2b6beaac..8ab0a9072 100644 --- a/docs/Tutorial/Writing_simple_test.ru.md +++ b/docs/Tutorial/Writing_simple_test.ru.md @@ -233,7 +233,7 @@ object MainScreen : KScreen() { Идем дальше, эту кнопку тест должен найти на экране по какому-то критерию. В данном случае мы осуществим поиск элемента по id, поэтому используем матчер `withId`, куда в качестве параметра передаем идентификатор кнопки, который мы нашли благодаря `Layout Inpector`. -Для того чтобы указать этот id, мы использовали синтаксис R.id..., где `R` - это класс со всеми ресурсами приложения. Благодаря нему можно находить id элементов интерфейса, строк, которые есть в проекте, картинок и т.д. При вводе названия этого класса Android Studio должна импортировать его автоматически, но иногда этого не происходит, тогда нужно ввести этот импорт вручную. +Для того чтобы указать этот id, мы использовали синтаксис R.id..., где `R` - это класс со всеми ресурсами приложения. Благодаря ему можно находить id элементов интерфейса, строк, которые есть в проекте, картинок и т.д. При вводе названия этого класса Android Studio должна импортировать его автоматически, но иногда этого не происходит, тогда нужно ввести этот импорт вручную. ```kotlin import com.kaspersky.kaspresso.tutorial.R @@ -316,7 +316,7 @@ class SimpleActivityTest : TestCase() { Feailed test -Дело в том, что Page Object `MainScreen` относится к `MainActivity` (именно эту активити видит пользователь, когда запускает приложение) и, для того чтобы элементы отобразились на экране, эту активити нужно запустить перед выполнением теста. Для того, чтобы перед тестом была запущена какая-то активити, ножно добавить следующие строки: +Дело в том, что Page Object `MainScreen` относится к `MainActivity` (именно эту активити видит пользователь, когда запускает приложение) и, для того чтобы элементы отобразились на экране, эту активити нужно запустить перед выполнением теста. Для того, чтобы перед тестом была запущена какая-то активити, нужно добавить следующие строки: ```kotlin @get:Rule diff --git a/docs/Wiki/Screenshot_tests.en.md b/docs/Wiki/Screenshot_tests.en.md index 2f5f4299a..25d7bee10 100644 --- a/docs/Wiki/Screenshot_tests.en.md +++ b/docs/Wiki/Screenshot_tests.en.md @@ -42,7 +42,7 @@ class ScreenshotSampleTest : DocLocScreenshotTestCase( There is one parameter passed in the base constructor: - locales - comma-separated string with locales to run test with. - Captured screenshots will be available in the device's storage at the path "/sdcard/screenshots/". + Captured screenshots will be available in the device's storage at the path "/sdcard/documents/screenshots/". For full example, check the [ScreenshotSampleTest](../samples/kaspresso-sample/src/androidTest/kotlin/com/kaspersky/kaspressample/docloc_tests/ScreenshotSampleTest.kt). @@ -211,7 +211,7 @@ For full example, check [AdvancedScreenshotSampleTest](https://github.com/Kasper ## Modifying screenshots path and name By default, all screenshots are stored at:
-```/sdcard/screenshots///.```
+```/sdcard/documents/screenshots///.```
You can change this behavior by providing custom [ResourcesRootDirsProvider](https://github.com/KasperskyLab/Kaspresso/blob/master/kaspresso/src/main/kotlin/com/kaspersky/kaspresso/files/resources/ResourcesRootDirsProvider.kt), [ResourcesDirsProvider](https://github.com/KasperskyLab/Kaspresso/blob/master/kaspresso/src/main/kotlin/com/kaspersky/kaspresso/files/resources/ResourcesDirsProvider.kt), diff --git a/docs/Wiki/Screenshot_tests.ru.md b/docs/Wiki/Screenshot_tests.ru.md index 2135774be..6385d9a52 100644 --- a/docs/Wiki/Screenshot_tests.ru.md +++ b/docs/Wiki/Screenshot_tests.ru.md @@ -37,7 +37,7 @@ class ScreenshotSampleTest : DocLocScreenshotTestCase( } ``` -В базовый конструктор передается один параметр: `locales` - строка с разделенными запятыми локалями для запуска теста. Сделанные скриншоты будут доступны в памяти устройства по пути `/sdcard/screenshots/`. +В базовый конструктор передается один параметр: `locales` - строка с разделенными запятыми локалями для запуска теста. Сделанные скриншоты будут доступны в памяти устройства по пути `/sdcard/documents/screenshots/`. Полный пример см. в [ScreenshotSampleTest](https://github.com/KasperskyLab/Kaspresso/blob/1c1fc42f704ea6baa08e5c0e4e0269ded9243986/samples/kaspresso-sample/src/androidTest/kotlin/com/kaspersky/kaspressample/docloc_tests/ScreenshotSampleTest.kt). @@ -199,7 +199,7 @@ class AdvancedScreenshotSampleTest : ProductDocLocScreenshotTestCase() { ## Изменение пути и имени скриншотов По умолчанию все скриншоты хранятся по адресу:
-```/sdcard/screenshots///.```
+```/sdcard/documents/screenshots///.```
Вы можете изменить это поведение, предоставив свою реализацию интерфейсов [ResourcesRootDirsProvider](https://github.com/KasperskyLab/Kaspresso/blob/master/kaspresso/src/main/kotlin/com/kaspersky/kaspresso/files/resources/ResourcesRootDirsProvider.kt), [ResourcesDirsProvider](https://github.com/KasperskyLab/Kaspresso/blob/master/kaspresso/src/main/kotlin/com/kaspersky/kaspresso/files/resources/ResourcesDirsProvider.kt), diff --git a/docs/index.en.md b/docs/index.en.md index 1a55dd51c..46cc964a9 100644 --- a/docs/index.en.md +++ b/docs/index.en.md @@ -6,30 +6,38 @@ ![Build and Deploy](https://github.com/KasperskyLab/Kaspresso/workflows/Build%20and%20Deploy/badge.svg) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=RU&color=0088CC)](https://t.me/kaspresso) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=EN&color=0088CC)](https://t.me/kaspresso_en) +[![Discord](https://img.shields.io/discord/1152145101825527839?label=discord&labelColor=7289da&style=flat)](https://discord.com/invite/hFMC5NQU) # Kaspresso -Kaspresso is a framework for Android UI testing. Based on [Espresso](https://developer.android.com/training/testing/espresso) and [UI +Kaspresso is a framework for Android UI testing. Based on [Espresso](https://developer.android.com/training/testing/espresso) and [UI Automator](https://developer.android.com/training/testing/ui-automator), Kaspresso provides a wide range of additional features, such as: -* 100% stability, no flakiness. -* Jetpack Compose support. +* Built-in protection against flaky tests +* Jetpack Compose support +* Screenshot testing with native approach (with dark mode support) +* Declarative approach for writing tests +* Ability to interact with other applications and system elements and interfaces +* Human readability with Kotlin DSL wrappers over UiAutomator and Espresso +* Detailed logs and reports (logs, view hierarchy, screenshots, video etc.) +* ADB support +* Allure support +* Robolectric support +* Easy migration from Espresso +* Flexible configuration options +* Automatic artifacts pulling after tests execution * Significantly faster execution of UI Automator commands. With Kaspresso, some UI Automator commands run **10 times faster**! -* Excellent readability due to human DSL. -* Useful interceptor mechanism to catch all actions and assertions in one place. -* Full logging. -* Ability to call ADB commands. -* UI tests writing philosophy implemented with DSL. -* Features screenshotting. -* Robolectric support. -* Allure support. +* Page object pattern from the box And many more! Kaspresso -[//]: # (![Kaspresso](https://habrastorage.org/webt/dw/jh/9k/dwjh9kypjl637kxj8tiaxwjvtp0.png)) + +
+ ## Integration + To integrate Kaspresso into your project: 1. If the `mavenCentral` repository does not exist, include it to your root `build.gradle` file: @@ -54,7 +62,7 @@ dependencies { } ``` -To try out the cutting edge kaspresso updates before an oficial release add a "-SNAPHOT" postfix to the latest Kaspresso version e.g. +To try out the cutting edge kaspresso updates before an official release add a "-SNAPHOT" postfix to the latest Kaspresso version e.g. ```groovy dependencies { androidTestImplementation 'com.kaspersky.android-components:kaspresso:-SNAPSHOT' @@ -71,14 +79,26 @@ dependencies { } ``` +
+ +## FAQ +For all questions you can reach out to us on [Discord](https://kas.pr/gh_discord). + ## Tutorial *NEW* -To make it easier to learn the framework, a step-by-step tutorial is available on [our website](https://kasperskylab.github.io/Kaspresso/Tutorial/). +To make it easier to learn the framework, a step-by-step tutorial is available on [our website](https://kasperskylab.github.io/Kaspresso/Tutorial/). + +
+ ## Capabilities of Kaspresso + -### Readability +
+ -We like the syntax that [Kakao](https://github.com/KakaoCup/Kakao) applies to write UI tests. This wrapper over Espresso uses the Kotlin DSL approach, that makes the code +### Readability + +We like the syntax that [Kakao](https://github.com/KakaoCup/Kakao) applies to write UI tests. This wrapper over Espresso uses the Kotlin DSL approach, that makes the code significantly shorter and more readable. See the difference: **Espresso**: @@ -134,7 +154,7 @@ MainScreen { Since Kakao and Kautomator provide almost identical APIs, you don’t have to care about what is under the hood of your tests, either Espresso or UI Automator. With Kaspresso, you write tests in the same style for both. However, Kakao and Kautomator themselves don't help you to see the relation between the test and the corresponding test case. Also, a long test often becomes a giant piece of code that is impossible to split into smaller parts. -That's why we have created an additional Kotlin DSL that allows you to read your test more easily. +That's why we have created an additional Kotlin DSL that allows you to read your test more easily. See the example below: @@ -184,13 +204,25 @@ fun shouldPassOnNoInternetScanTest() = } ``` -### Stability +
+ +
+ + +### Stability + + +Sometimes your UI test passes ten times, then breaks on the eleventh attempt for some mysterious reason. It’s called *flakiness*. -Sometimes your UI test passes ten times, then breaks on the eleventh attempt for some mysterious reason. It’s called *flakiness*. +The most popular reason for flakiness is the instability of the UI tests libraries, such as Espresso and UI Automator. To eliminate this instability, Kaspresso uses DSL wrappers and [interceptors](#Interceptors). -The most popular reason for flakiness is the instability of the UI tests libraries, such as Espresso and UI Automator. To eliminate this instability, Kaspresso uses DSL wrappers and [interceptors](#Interceptors). +
+ +
+ ### UI test libraries acceleration + Let’s watch some short video that shows the difference between the original UI Automator (on the right) and the accelerated one (on the left). @@ -198,9 +230,15 @@ Let’s watch some short video that shows the difference between the original UI Here is [a short explanation](https://kasperskylab.github.io/Kaspresso/Wiki/Kautomator-wrapper_over_UI_Automator/#accelerate-ui-automator) of why it is possible. +
+ +
+ + ### Interceptors + -We developed [Kaspresso behavior interceptors](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#some-words-about-behavior-interceptors) on the base of [Kakao/Kautomator +We developed [Kaspresso behavior interceptors](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#some-words-about-behavior-interceptors) on the base of [Kakao/Kautomator Interceptors](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#kaspresso-interceptors-based-on-kakaokautomator-interceptors) to catch failures. Thanks to interceptors, you can do a lot of useful things, such as: @@ -210,17 +248,36 @@ Thanks to interceptors, you can do a lot of useful things, such as: and many more (see [the manual](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/#kaspresso-interceptors-based-on-kakaokautomator-interceptors)). +
+ +
+ + ### Writing readable logs + + Kaspresso writes its own logs, detailed and readable: +
+ +
+ + ### Ability to call ADB commands + Espresso and UI Automator don't allow to call ADB commands from inside a test. To fix this problem, we developed AdbServer (see the [wiki](https://kasperskylab.github.io/Kaspresso/Wiki/Executing_adb_commands/)). +
+ +
+ + ### Ability to work with Android System + You can use Kaspresso classes to work with Android System. @@ -239,46 +296,68 @@ For example, with the ```Device``` class you can: (see more about the [Device class](https://kasperskylab.github.io/Kaspresso/Wiki/Working_with_Android_OS/)). +
+ +
+ + ### Features screenshotting + -If you develop an application that is available across the world, you have to *localize* it into different languages. When UI is localized, it’s important for the translator to see the context of a word or a phrase, that is the specific screen. +If you develop an application that is available across the world, you have to *localize* it into different languages. When UI is localized, it’s important for the translator to see the context of a word or a phrase, that is the specific screen. With Kaspresso, translators can automatically take a screenshot of any screen. It’s incredibly fast, even for legacy screens, and you don't have to refactor or mock anything (see [the manual](https://kasperskylab.github.io/Kaspresso/Wiki/Screenshot_tests/)). +
+ +
+ + ### Configurability + You can tune any part of Kaspresso (read [more](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_configuration/)). +
+ +
+ + ### Robolectric support + -You can run your UI-tests on the JVM environment. Additionally, almost all interceptors improving stability, readability and other will work. -Read [more](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_Robolectric/). +You can run your UI-tests on the JVM environment. Additionally, almost all interceptors improving stability, readability and other will work. +Read [more](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_Robolectric/). + +
+ +
+ ### Allure support + Kaspresso can generate very detailed Allure-reports for each test: ![](https://habrastorage.org/webt/tq/t7/ch/tqt7chcdczrgduhoukqhx1ertfc.png) -More information is available [here](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_Allure/). +More information is available [here](https://kasperskylab.github.io/Kaspresso/Wiki/Kaspresso_Allure/). + +
+ +
+ ### Jetpack Compose support + -Now, you can write your Kaspresso tests for Jetpack Compose screens! DSL and all principles are the same. +Now, you can write your Kaspresso tests for Jetpack Compose screens! DSL and all principles are the same. So, you will not see any difference between tests for View screens and for Compose screens. More information is available [here](https://kasperskylab.github.io/Kaspresso/Wiki/Jetpack_Compose/). -**Keep in mind it's early access that may contain bugs. Also, API can be changed, but we are going to avoid it. Be free to create relative issues if you've encountered with -any kind of problem.** - -## Philosophy - -The tool itself, even the perfect one, can not solve all the problems in writing UI tests. It’s important to know how to write tests and how to organize the entire process. -Our team has great experience in introducing autotests in different companies. We shared our knowledge on [Wiki](https://kasperskylab.github.io/Kaspresso/Wiki/). - -## Wiki -For all information check [Kaspresso wiki](https://kasperskylab.github.io/Kaspresso/Wiki/) +
+
## Samples -All samples are available in the [samples](https://github.com/KasperskyLab/Kaspresso/tree/issue-372/tutorial/samples) folder. +All samples are available in the [samples](https://github.com/KasperskyLab/Kaspresso/tree/master/samples) folder. Most of the samples require AdbServer. To start AdbServer you should do the following steps: @@ -294,7 +373,7 @@ java -jar artifacts/adbserver-desktop.jar ## Existing issues All existing issues in Kaspresso can be found [here](https://kasperskylab.github.io/Kaspresso/Issues/). -## Breaking changes +## Breaking changes Breaking changes can be found [here](https://kasperskylab.github.io/Kaspresso/Home/Breaking-changes/) ## Contribution @@ -302,3 +381,7 @@ Kaspresso is an open source project, so you are welcome to contribute (see the [ ## License Kaspresso is available under the [Apache License, Version 2.0](https://github.com/KasperskyLab/Kaspresso/blob/master/LICENSE). + +## Runner +If you looking for a Runner to execute your UI tests we strongly recommend to use [Marathon](https://github.com/MarathonLabs/marathon). [Marathon](https://github.com/MarathonLabs/marathon) is a fast, platform-independent test runner focused on performance and stability. It offers easy to use platform implementations for Android and iOS as well as an API for use with custom hardware farms and more techstacks. +Marathon diff --git a/docs/index.ru.md b/docs/index.ru.md index 0f7d5caff..dce7c7360 100644 --- a/docs/index.ru.md +++ b/docs/index.ru.md @@ -6,29 +6,39 @@ ![Build and Deploy](https://github.com/KasperskyLab/Kaspresso/workflows/Build%20and%20Deploy/badge.svg) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=RU&color=0088CC)](https://t.me/kaspresso) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=EN&color=0088CC)](https://t.me/kaspresso_en) +[![Discord](https://img.shields.io/discord/1152145101825527839?label=discord&labelColor=7289da&style=flat)](https://discord.com/invite/hFMC5NQU) # Kaspresso Kaspresso — это фреймворк для тестирования пользовательского интерфейса Android. Он основан на [Espresso](https://developer.android.com/training/testing/espresso) и [UI Automator](https://developer.android.com/training/testing/ui-automator) и предоставляет широкий спектр дополнительных функций, таких как: -* 100% стабильность, отсутствие флаков. -* Поддержка Jetpack Compose **[Ранний доступ]**. +* Встроенная защита от флаков в тестах +* Поддержка Jetpack Compose +* Скриншот-тестирование с нативным подходом (с поддержкой тёмной темы) +* Декларативный подход к написанию тестов +* Возможность взаимодействовать с другими приложениями и системными элементами и интерфейсами +* Отличная читаемость благодаря человеческому DSL поверх UiAutomator и Espresso +* Детальные логи и отчеты (логи, иерархия графических элементов на экране, скриншоты, видео и т.д. +* Возможность вызова команд ADB +* Поддержка Allure +* Поддержка Robolectric +* Легкая миграция с Espresso +* Гибкая настройка фреймворка +* Автоматическая выкачка артифактов после прогона тестов * Значительно ускорено выполнение команд UI Automator. С Kaspresso некоторые команды UI Automator выполняются **в 10 раз быстрее**! -* Отличная читаемость благодаря человеческому DSL. +* Реализация паттерна Page Object из коробки * Полезный механизм перехватчиков, позволяющий перехватывать все действия и проверки в одном месте. -* Полное ведение журнала. -* Возможность вызова команд ADB. -* Философия написания тестов пользовательского интерфейса, реализованная с помощью DSL. -* Предоставляет возможность скриншотинга. -* Поддержка Robolectric. -* Поддержка Allure. И многое другое! Kaspresso [//]: # (![Kaspresso](https://habrastorage.org/webt/dw/jh/9k/dwjh9kypjl637kxj8tiaxwjvtp0.png)) +
+ + ## Интеграция + Чтобы интегрировать Kaspresso в свой проект: 1. Включите репозиторий mavenCentral в корневой файл `build.gradle`: @@ -71,13 +81,24 @@ dependencies { } ``` +
+ +## FAQ +Вы можете задать любые вопросы в нашем чате поддержки в [Telegram](https://t.me/kaspresso). + ## Туториал *Новое* -Чтобы упростить изучение фреймворка, доступно пошаговое руководство на [нашем веб-сайте](https://kasperskylab.github.io/Kaspresso/ru/Tutorial/). +Чтобы упростить изучение фреймворка, доступно пошаговое руководство на [нашем веб-сайте](https://kasperskylab.github.io/Kaspresso/ru/Tutorial/). + +
+ ## Возможности Kaspresso + +
+ ### Читаемость - + Нам нравится синтаксис, который [Kakao](https://github.com/KakaoCup/Kakao) применяет для написания тестов пользовательского интерфейса. Эта оболочка над Espresso использует подход Kotlin DSL, что делает код значительно короче и читабельнее. Можно увидеть разницу: @@ -184,13 +205,25 @@ fun shouldPassOnNoInternetScanTest() = } ``` +
+ +
+ + ### Стабильность + Иногда ваш тест может выполняться успешно десять раз, а затем ломается на одиннадцатой попытке по какой-то загадочной причине. Это называется *флак(flakiness)*. Самая популярная причина ненадёжности — нестабильность библиотек UI-тестов, таких как Espresso и UI Automator. Чтобы устранить эту нестабильность, Kaspresso использует DSL обертки и [перехватчики](#Interceptors). +
+ +
+ + ### Ускорение библиотек тестов пользовательского интерфейса + Давайте посмотрим короткое видео, показывающее разницу между оригинальным UI Automator (справа) и ускоренным (слева). @@ -198,7 +231,13 @@ fun shouldPassOnNoInternetScanTest() = Здесь предоставлено [краткое объяснение](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kautomator-wrapper_over_UI_Automator/#ui-automator), почему это возможно. +
+ +
+ + ### Перехватчики + Мы разработали [перехватчики поведения Kaspresso](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kaspresso_configuration/#behavior-interceptors) (Kaspresso behavior interceptors) на основе [перехватчиков Kakao/Kautomator](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kaspresso_configuration/#kaspresso-kakaokautomator) для обработки сбоев. @@ -209,17 +248,36 @@ fun shouldPassOnNoInternetScanTest() = и многое другое (см. [руководство](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kaspresso_configuration/#kaspresso-kakaokautomator)). +
+ +
+ + ### Запись читаемых логов + + Kaspresso пишет собственные сообщения в журнал, подробные и читабельные: +
+ +
+ + ### Возможность вызова команд ADB + Espresso и UI Automator не позволяют вызывать команды ADB из теста. Чтобы решить эту проблему, мы разработали AdbServer (см. [вики](https://kasperskylab.github.io/Kaspresso/Wiki/Executing_adb_commands/)). +
+ +
+ + ### Возможность работы с системой Android + Вы можете использовать классы Kaspresso для работы с системой Android. @@ -238,28 +296,57 @@ Espresso и UI Automator не позволяют вызывать команды (подробнее о [Device class](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Working_with_Android_OS/)). +
+ +
+ + ### Предоставляет возможность скриншотинга + Если вы разрабатываете приложение, доступное по всему миру, вам необходимо *локализировать* его на разные языки. Когда интерфейс локализован, для переводчика важно увидеть контекст слова или фразы на конкретном экране. С Kaspresso переводчики могут автоматически делать скриншот любого экрана. Это невероятно быстро, даже для устаревших экранов, и не требует дополнительного рефакторинга (см. [руководство](https://kasperskylab.github.io/Kaspresso/Wiki/Screenshot_tests/)). +
+ +
+ + ### Конфигурируемость + Вы можете настроить любую часть Kaspresso ([подробнее](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kaspresso_configuration/)). +
+
+ + ### Поддержка Robolectric + Вы можете запускать свои UI-тесты в среде JVM. Кроме того, почти все перехватчики, улучшающие стабильность, читабельность и другие, будут работать. Читать [подробнее](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kaspresso_Robolectric/). +
+ +
+ + ### Поддержка Allure + Kaspresso может генерировать очень подробные Allure-отчеты для каждого теста: ![](https://habrastorage.org/webt/tq/t7/ch/tqt7chcdczrgduhoukqhx1ertfc.png) Более подробная информация доступна [здесь](https://kasperskylab.github.io/Kaspresso/ru/Wiki/Kaspresso_Allure/). +
+ +
+ + ### Поддержка Jetpack Compose (ранний доступ) + Теперь вы можете писать свои тесты Kaspresso для экранов Jetpack Compose! DSL и все принципы одинаковы. Таким образом, вы не увидите никакой разницы между тестами для View и для экранов Compose. @@ -267,16 +354,11 @@ Kaspresso может генерировать очень подробные Allu ** Имейте в виду, что это ранний доступ, который может содержать ошибки. Также возможно изменение API, но мы будем стараться этого не делать. Не стесняйтесь сообщать о багах в разделе issue, если вы столкнулись с какой-либо проблемой.** -## Философия - -Сам инструмент, даже идеальный, не может решить всех проблем написания UI-тестов. Важно знать, как писать тесты и как организовать весь процесс. -Наша команда имеет большой опыт внедрения автотестов в разных компаниях. Мы поделились своими знаниями на [Wiki](https://kasperskylab.github.io/Kaspresso/ru/Wiki/). - -## Вики -Для получения всей информации посетите [Kaspresso wiki](https://kasperskylab.github.io/Kaspresso/ru/Wiki/) +
+
## Примеры -Все примеры доступны в папке [samples](https://github.com/KasperskyLab/Kaspresso/tree/issue-372/tutorial/samples). +Все примеры доступны в папке [samples](https://github.com/KasperskyLab/Kaspresso/tree/issue-372/tutorial/samples). Для большинства примеров требуется AdbServer. Чтобы запустить AdbServer, вы должны сделать следующие шаги: @@ -289,6 +371,13 @@ cd ~/Workspace/Kaspresso java -jar artifacts/adbserver-desktop.jar ``` +## Философия +Сам инструмент, даже идеальный, не может решить всех проблем написания UI-тестов. Важно знать, как писать тесты и как организовать весь процесс. +Наша команда имеет большой опыт внедрения автотестов в разных компаниях. Мы поделились своими знаниями на [Wiki](https://kasperskylab.github.io/Kaspresso/ru/Wiki/). + +## Вики +Для получения всей информации посетите [Kaspresso wiki](https://kasperskylab.github.io/Kaspresso/ru/Wiki/) + ## Существующие проблемы Все существующие проблемы в Kaspresso можно найти [здесь](https://kasperskylab.github.io/Kaspresso/ru/Issues/). diff --git a/docs/kaspresso.png b/docs/kaspresso.png index 74e60208a362f6c7a1ca0e9182f23f9d077d5e39..8cb83b6ff0cb7ba61b3a188b5cda9e48fd33cd9a 100644 GIT binary patch literal 48349 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�nQ_f5~OIEwQ{Khv9s$)2YCuU{yM*RAWmz!{* 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 literal 12891 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 d)vsp}weldhGkf&U8v=xQ2jRI52-{txgHIf4KH diff --git a/kaspresso.png b/kaspresso.png index 74e60208a362f6c7a1ca0e9182f23f9d077d5e39..8cb83b6ff0cb7ba61b3a188b5cda9e48fd33cd9a 100644 GIT binary patch literal 48349 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�nQ_f5~OIEwQ{Khv9s$)2YCuU{yM*RAWmz!{* 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 literal 12891 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 d)vsp}weldhGkf&U8v=xQ2jRI52-{txgHIf4KH diff --git a/mkdocs.yml b/mkdocs.yml index 3463f87c6..55e1c974d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -60,12 +60,14 @@ plugins: default_language: en docs_structure: suffix languages: - ru: - name: Russian - build: true - en: + - locale: en + default: true name: English build: true + - locale: ru + default: true + name: Russian + build: true nav_translations: en: Home: Home