From 04db14ddc0bb18eb2ea9e6ef32aafea9b49c1a4c Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Fri, 4 Dec 2020 15:14:01 +0300 Subject: [PATCH 01/29] translate "About this guide" and "Robot Framework overview" section. --- QuickStart_RU.rst | 544 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 544 insertions(+) create mode 100644 QuickStart_RU.rst diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst new file mode 100644 index 0000000..30ad6f6 --- /dev/null +++ b/QuickStart_RU.rst @@ -0,0 +1,544 @@ +.. default-role:: code + +======================================================= +Руководство по быстрому началу работы с Robot Framework +======================================================= + +Copyright © Nokia Networks. Распространяется под лицензией +`Creative Commons Attribution 3.0 Unported`__. + +__ http://creativecommons.org/licenses/by/3.0/ + +.. contents:: Table of contents: + :local: + :depth: 2 + +Введение +======== + +Об этом руководстве +------------------- +*Руководство по быстрому началу работы с Robot Framework* представляет +наиболее важные возможности `Robot Framework `_. +Вы можете просто просмотреть его и представленные в нем примеры, но его +можно использовать и как `исполняемое демо`__. Все описанные здесь возможности +фреймворка более подробно разобраны в `Руководстве пользователся Robot Framework`_. + +__ `Executing this guide`_ +.. _Руководстве пользователся Robot Framework: http://robotframework.org/robotframework/#user-guide + +Обзор Robot Framework +--------------------- + +`Robot Framework`_ это фреймоворк автоматизированного тестирования общего назначения +с открытым исходным кодам. Он предназначен для приемочного тестирования и разработки +на основе приемочого тестирования (ATDD). Фреймворк использует удобный синтаксис +табулированных тестовых данных, а длля построения тестов использует подход на базе +ключевых слов. Возможности фреймворка могут быть расширены за счет бибилиотек, написанных +на Python или Java. Пользователи могут создавать собственные ключевые слова высокого +уровня из уже имеющихся, используя тот же синтаксис, что используется при создании +тестовых сценариев. + +Robot Framework не привязан к операционным системам или приложения. Его ядро реализовано +с помощью языка `Python `_ и может быть апущено также на +`Jython `_ (JVM) и `IronPython `_ +(.NET). Фреймворк имеет богатое окружение из различных библиотек и сопутствующих +инструментов, разработанных в отдельных от него проектах. + +За дальнейшей информацие о Framework и его экосистеме обращайтесь к +http://robotframework.org. Там вы найдете еще больше документации, демонстрационных +проектов, списки тестовых библиотек, сопутствующих инструментов и тому подобное. + +Demo application +---------------- + +The sample application for this guide is a variation on a classic login +example: it is a command-line based authentication server written in Python. +The application allows a user to do three things: + +- Create an account with a valid password. +- Log in with a valid user name and password. +- Change the password of an existing account. + +The application itself is in ``_ file and can be executed with +a command `python sut/login.py`. Attempting to log in with a non-existent +user account or with an invalid password results in the same error message:: + + > python sut/login.py login nobody P4ssw0rd + Access Denied + +After creating a user account with valid password login succeeds:: + + > python sut/login.py create fred P4ssw0rd + SUCCESS + + > python sut/login.py login fred P4ssw0rd + Logged In + +There are two requirements that a password must fulfill to be valid: it must +be between 7-12 characters long, and it must contain lower and upper case +letters and numbers, but it must not contain special characters. Trying to +create a user with invalid password fails:: + + > python sut/login.py create fred short + Creating user failed: Password must be 7-12 characters long + + > python sut/login.py create fred invalid + Creating user failed: Password must be a combination of lowercase and + uppercase letters and numbers + +Changing password with invalid credentials results in the same error message +as logging in with invalid credentials. The validity of new password is +verified and if not valid, an error message is given:: + + > python sut/login.py change-password fred wrong NewP4ss + Changing password failed: Access Denied + + > python sut/login.py change-password fred P4ssw0rd short + Changing password failed: Password must be 7-12 characters long + + > python sut/login.py change-password fred P4ssw0rd NewP4ss + SUCCESS + +The application uses a simple database file to keep track on user statuses. +The file is located in operating system dependent temporary directory. + +Executing this guide +==================== + +These instructions explain how to run this guide yourself. If you are not +interested in that, you can nevertheless `view the results`__ online. + +__ `Viewing results`_ + +Installations +------------- + +The recommended approach to install Robot Framework on Python_ is using `pip +`_. Once you have both of these preconditions +installed, you can simply run:: + + pip install robotframework + +See `Robot Framework installation instructions`_ for alternative installation +approaches and more information about installation in general. + +This demo is written using reStructuredText__ markup language with Robot +Framework test data in code blocks. Executing tests in this format requires +installing additional docutils__ module:: + + pip install docutils + +Notice that Robot Framework 3.0 is the first Robot Framework version to support +Python 3. See the aforementioned `installation instructions`_ for information +about Python 2 vs Python 3. + +.. _`Robot Framework installation instructions`: + https://github.com/robotframework/robotframework/blob/master/INSTALL.rst +.. _`installation instructions`: `Robot Framework installation instructions`_ +__ http://docutils.sourceforge.net/rst.html +__ https://pypi.python.org/pypi/docutils + +Execution +--------- + +After installations you still need to get the demo itself. It is easiest to +download a certain release__ or grab the `latest content`__ and extract the +package somewhere, but it is also possible to clone the `project repository`__. + +After installations and with all other preconditions in place, you can run +the demo on the command line by using the `robot` command:: + + robot QuickStart.rst + +If you use Robot Framework 2.9 or older, instead of the `robot` command you +need to use `pybot`:: + + pybot QuickStart.rst + +You can also configure the execution with various command line options:: + + robot --log custom_log.html --name Custom_Name QuickStart.rst + +For a list of available options run `robot --help`. + +__ https://github.com/robotframework/QuickStartGuide/releases +__ https://github.com/robotframework/QuickStartGuide/archive/master.zip +__ https://github.com/robotframework/QuickStartGuide + +Viewing results +--------------- + +Running the demo generates the following three result files. These files are +linked to pre-executed files available online, but executing the demo creates +them locally. + +`report.html `__ + Higher level test report. +`log.html `__ + Detailed test execution log. +`output.xml `__ + Results in machine readable XML format. + +Test cases +========== + +Workflow tests +-------------- + +Robot Framework test cases are created using a simple tabular syntax. For +example, the following table has two tests: + +- User can create an account and log in +- User cannot log in with bad password + +.. code:: robotframework + + *** Test Cases *** + User can create an account and log in + Create Valid User fred P4ssw0rd + Attempt to Login with Credentials fred P4ssw0rd + Status Should Be Logged In + + User cannot log in with bad password + Create Valid User betty P4ssw0rd + Attempt to Login with Credentials betty wrong + Status Should Be Access Denied + +Notice that these tests read like manual tests written in English rather +than like automated test cases. Robot Framework uses the keyword-driven +approach that supports writing tests that capture the essence of the actions +and expectations in natural language. + +Test cases are constructed from keywords and their possible arguments. The +syntax requires that keywords and arguments, as well as settings and their +values, are separated by at least two spaces or by a tab character. It is +generally recommended to use four spaces to make the separator more explicit, +and in some cases aligning arguments or other values may make the data easier +to understand. For more details about the syntax see `Robot Framework User +Guide`_. + +Higher-level tests +------------------ + +Test cases can also be created using only high-level keywords that take no +positional arguments. This style allows using totally free text which is +suitable for communication even with non-technical customers or other project +stakeholders. This is especially important when using the `acceptance +test-driven development`__ (ATDD) approach or any of its variants and created +tests act also as requirements. + +Robot Framework does not enforce any particular style for writing test cases. +One common style is the *given-when-then* format popularized by +`behavior-driven development`__ (BDD): + +.. code:: robotframework + + *** Test Cases *** + User can change password + Given a user has a valid account + When she changes her password + Then she can log in with the new password + And she cannot use the old password anymore + +__ http://en.wikipedia.org/wiki/Acceptance_test-driven_development +__ http://en.wikipedia.org/wiki/Behavior_driven_development + +Data-driven tests +----------------- + +Quite often several test cases are otherwise similar but they have slightly +different input or output data. In these situations *data-driven tests* +allows varying the test data without duplicating the workflow. With Robot +Framework the `[Template]` setting turns a test case into a data-driven test +where the template keyword is executed using the data defined in the test case +body: + +.. code:: robotframework + + *** Test Cases *** + Invalid password + [Template] Creating user with invalid password should fail + abCD5 ${PWD INVALID LENGTH} + abCD567890123 ${PWD INVALID LENGTH} + 123DEFG ${PWD INVALID CONTENT} + abcd56789 ${PWD INVALID CONTENT} + AbCdEfGh ${PWD INVALID CONTENT} + abCD56+ ${PWD INVALID CONTENT} + +In addition to using the `[Template]` setting with individual tests, it would +be possible to use the `Test Template` setting once in the settings table like +`setups and teardowns`_ defined later in this guide. In our case that +would ease creating separate named tests for invalid length password cases and +for other invalid cases. However, that would require moving those tests to a +separate file, because otherwise the template would also be applied to other +tests in this file. + +Notice also that the error messages in the above example are specified using +variables_. + +Keywords +======== + +Test cases are created from keywords that can come from two sources. `Library +keywords`_ come from imported test libraries, and so called `user keywords`_ +can be created using the same tabular syntax that is used for creating test +cases. + +Library keywords +---------------- + +All lowest level keywords are defined in test libraries which are implemented +using standard programming languages, typically Python or Java. Robot Framework +comes with a handful of `test libraries`_ that can be divided to *standard +libraries*, *external libraries* and *custom libraries*. `Standard libraries`_ +are distributed with the core framework and included generic libraries such as +`OperatingSystem`, `Screenshot` and `BuiltIn`, which is special because its +keywords are available automatically. External libraries, such as +Selenium2Library_ for web testing, must be installed separately. If available +test libraries are not enough, it is easy to `create custom test libraries`__. + +To be able to use keywords provided by a test library, the keywords must be +imported using the `Library` setting. Tests in this guide need keywords from +the standard `OperatingSystem` library (e.g. `Remove File`) and from a custom +made `LoginLibrary` (e.g. `Attempt to login with credentials`). Both of these +libraries are imported in the settings table below: + +.. code:: robotframework + + *** Settings *** + Library OperatingSystem + Library lib/LoginLibrary.py + +.. _Test libraries: http://robotframework.org/#libraries +.. _Standard libraries: http://robotframework.org/robotframework/#standard-libraries +.. _Selenium2Library: https://github.com/rtomac/robotframework-selenium2library/#readme +__ `Creating test libraries`_ + +User keywords +------------- + +One of the most powerful features of Robot Framework is the ability to easily +create new, higher-level keywords from other keywords. The syntax for creating +these so called *user-defined keywords*, or *user keywords* for short, is +similar to the syntax that is used for creating test cases. All the +higher-level keywords needed in previous test cases are created in this +keyword table: + +.. code:: robotframework + + *** Keywords *** + Clear login database + Remove file ${DATABASE FILE} + + Create valid user + [Arguments] ${username} ${password} + Create user ${username} ${password} + Status should be SUCCESS + + Creating user with invalid password should fail + [Arguments] ${password} ${error} + Create user example ${password} + Status should be Creating user failed: ${error} + + Login + [Arguments] ${username} ${password} + Attempt to login with credentials ${username} ${password} + Status should be Logged In + + # Keywords below used by higher level tests. Notice how given/when/then/and + # prefixes can be dropped. And this is a comment. + + A user has a valid account + Create valid user ${USERNAME} ${PASSWORD} + + She changes her password + Change password ${USERNAME} ${PASSWORD} ${NEW PASSWORD} + Status should be SUCCESS + + She can log in with the new password + Login ${USERNAME} ${NEW PASSWORD} + + She cannot use the old password anymore + Attempt to login with credentials ${USERNAME} ${PASSWORD} + Status should be Access Denied + +User-defined keywords can include actions defined by other user-defined or +library keywords. As you can see from this example, user-defined keywords can +take parameters. They can also return values and even contain FOR loops. For +now, the important thing to know is that user-defined keywords enable test +creators to create reusable steps for common action sequences. User-defined +keywords can also help the test author keep the tests as readable as possible +and use appropriate abstraction levels in different situations. + +Variables +========= + +Defining variables +------------------ + +Variables are an integral part of the Robot Framework. Usually any data used in +tests that is subject to change is best defined as variables. Syntax for +variable definition is quite simple, as seen in this variable table: + +.. code:: robotframework + + *** Variables *** + ${USERNAME} janedoe + ${PASSWORD} J4n3D0e + ${NEW PASSWORD} e0D3n4J + ${DATABASE FILE} ${TEMPDIR}${/}robotframework-quickstart-db.txt + ${PWD INVALID LENGTH} Password must be 7-12 characters long + ${PWD INVALID CONTENT} Password must be a combination of lowercase and uppercase letters and numbers + +Variables can also be given from the command line which is useful if +the tests need to be executed in different environments. For example +this demo can be executed like:: + + robot --variable USERNAME:johndoe --variable PASSWORD:J0hnD0e QuickStart.rst + +In addition to user defined variables, there are some built-in variables that +are always available. These variables include `${TEMPDIR}` and `${/}` which +are used in the above example. + +Using variables +--------------- + +Variables can be used in most places in the test data. They are most commonly +used as arguments to keywords like the following test case demonstrates. +Return values from keywords can also be assigned to variables and used later. +For example, the following `Database Should Contain` `user keyword`_ sets +database content to `${database}` variable and then verifies the content +using BuiltIn_ keyword `Should Contain`. Both library and user keywords can +return values. + +.. _User keyword: `User keywords`_ +.. _BuiltIn: `Standard libraries`_ + +.. code:: robotframework + + *** Test Cases *** + User status is stored in database + [Tags] variables database + Create Valid User ${USERNAME} ${PASSWORD} + Database Should Contain ${USERNAME} ${PASSWORD} Inactive + Login ${USERNAME} ${PASSWORD} + Database Should Contain ${USERNAME} ${PASSWORD} Active + + *** Keywords *** + Database Should Contain + [Arguments] ${username} ${password} ${status} + ${database} = Get File ${DATABASE FILE} + Should Contain ${database} ${username}\t${password}\t${status}\n + +Organizing test cases +===================== + +Test suites +----------- + +Collections of test cases are called test suites in Robot Framework. Every +input file which contains test cases forms a test suite. When `executing this +guide`_, you see test suite `QuickStart` in the console output. This name is +derived from the file name and it is also visible in reports and logs. + +It is possible to organize test cases hierarchically by placing test case +files into directories and these directories into other directories. All +these directories automatically create higher level test suites that get their +names from directory names. Since test suites are just files and directories, +they are trivially placed into any version control system. + +Setups and teardowns +-------------------- + +If you want certain keywords to be executed before or after each test, +use the `Test Setup` and `Test Teardown` settings in the settings table. +Similarly you can use the `Suite Setup` and `Suite Teardown` settings to +specify keywords to be executed before and/or after an entire test suite. + +Individual tests can also have a custom setup or teardown by using `[Setup]` +and `[Teardown]` in the test case table. This works the same way as +`[Template]` was used earlier with `data-driven tests`_. + +In this demo we want to make sure the database is cleared before execution +starts and that every test also clears it afterwards: + +.. code:: robotframework + + *** Settings *** + Suite Setup Clear Login Database + Test Teardown Clear Login Database + +Using tags +---------- + +Robot Framework allows setting tags for test cases to give them free metadata. +Tags can be set for all test cases in a file with `Force Tags` and `Default +Tags` settings like in the table below. It is also possible to define tags +for a single test case using `[Tags]` settings like in earlier__ `User +status is stored in database` test. + +__ `Using variables`_ + +.. code:: robotframework + + *** Settings *** + Force Tags quickstart + Default Tags example smoke + +When you look at a report after test execution, you can see that tests have +specified tags associated with them and there are also statistics generated +based on tags. Tags can also be used for many other purposes, one of the most +important being the possibility to select what tests to execute. You can try, +for example, the following commands:: + + robot --include smoke QuickStart.rst + robot --exclude database QuickStart.rst + +Creating test libraries +======================= + +Robot Framework offers a simple API for creating test libraries using either +Python or Java, and the remote library interface also allows using other +programming languages. `Robot Framework User Guide`_ contains a detailed +description about the library API. + +As an example, we can take a look at the `LoginLibrary` test library used in +this demo. The library is located at ``_, and its source +code is also copied below. Looking at the code you can see, for example, how +the keyword `Create User` is mapped to actual implementation of the method +`create_user`. + +.. code:: python + + import os.path + import subprocess + import sys + + + class LoginLibrary(object): + + def __init__(self): + self._sut_path = os.path.join(os.path.dirname(__file__), + '..', 'sut', 'login.py') + self._status = '' + + def create_user(self, username, password): + self._run_command('create', username, password) + + def change_password(self, username, old_pwd, new_pwd): + self._run_command('change-password', username, old_pwd, new_pwd) + + def attempt_to_login_with_credentials(self, username, password): + self._run_command('login', username, password) + + def status_should_be(self, expected_status): + if expected_status != self._status: + raise AssertionError("Expected status to be '%s' but was '%s'." + % (expected_status, self._status)) + + def _run_command(self, command, *args): + command = [sys.executable, self._sut_path, command] + list(args) + process = subprocess.Popen(command, stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + self._status = process.communicate()[0].strip() From 88de4bd13bcee0ab510eff4aaa89c57a0a30318d Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Fri, 4 Dec 2020 19:53:19 +0300 Subject: [PATCH 02/29] style fix. --- QuickStart_RU.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 30ad6f6..ea073c7 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -40,9 +40,9 @@ __ `Executing this guide`_ тестовых сценариев. Robot Framework не привязан к операционным системам или приложения. Его ядро реализовано -с помощью языка `Python `_ и может быть апущено также на +на `Python `_ и может быть запущено также на `Jython `_ (JVM) и `IronPython `_ -(.NET). Фреймворк имеет богатое окружение из различных библиотек и сопутствующих +(.NET). Фреймворк имеет развитую экосистему из различных библиотек и сопутствующих инструментов, разработанных в отдельных от него проектах. За дальнейшей информацие о Framework и его экосистеме обращайтесь к From acd22b3ae2b6ac2b20eb5c98f36d935703403f51 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Fri, 4 Dec 2020 20:30:58 +0300 Subject: [PATCH 03/29] beginning of translation "Demo application" section. --- QuickStart_RU.rst | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index ea073c7..ee29c05 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -21,10 +21,10 @@ __ http://creativecommons.org/licenses/by/3.0/ *Руководство по быстрому началу работы с Robot Framework* представляет наиболее важные возможности `Robot Framework `_. Вы можете просто просмотреть его и представленные в нем примеры, но его -можно использовать и как `исполняемое демо`__. Все описанные здесь возможности +можно использовать и как `исполняемый пример`__. Все описанные здесь возможности фреймворка более подробно разобраны в `Руководстве пользователся Robot Framework`_. -__ `Executing this guide`_ +__ `Выполнение руководства`_ .. _Руководстве пользователся Robot Framework: http://robotframework.org/robotframework/#user-guide Обзор Robot Framework @@ -49,25 +49,24 @@ Robot Framework не привязан к операционным система http://robotframework.org. Там вы найдете еще больше документации, демонстрационных проектов, списки тестовых библиотек, сопутствующих инструментов и тому подобное. -Demo application ----------------- - -The sample application for this guide is a variation on a classic login -example: it is a command-line based authentication server written in Python. -The application allows a user to do three things: +Демонстрационное приложение +--------------------------- -- Create an account with a valid password. -- Log in with a valid user name and password. -- Change the password of an existing account. +Образец приложения для этого руководстав это один из вариантов классического входа +в систему: это сервер аутентификации с интерфейсом командной строки, написанный на +Python . Это приложение позволяет пользователю делать три вещи: +- Завести учетную запись с подходящим паролем. +- Осуществить вход с верным паролем и именем пользователя. +- Сменить пароль у существующей учетной записи пользователя. -The application itself is in ``_ file and can be executed with -a command `python sut/login.py`. Attempting to log in with a non-existent -user account or with an invalid password results in the same error message:: +Само приложение находится в файле ``_ и может быть запущено командой +`python sut/login.py`. Попытка входа с помощью несуществующей учетной записи или +неверного пароля приведет к следующему сообщению об ошибке:: > python sut/login.py login nobody P4ssw0rd Access Denied -After creating a user account with valid password login succeeds:: +А после создания учетной записи вход с верным поролем будет успешным:: > python sut/login.py create fred P4ssw0rd SUCCESS @@ -103,8 +102,8 @@ verified and if not valid, an error message is given:: The application uses a simple database file to keep track on user statuses. The file is located in operating system dependent temporary directory. -Executing this guide -==================== +Выполнение руководства +====================== These instructions explain how to run this guide yourself. If you are not interested in that, you can nevertheless `view the results`__ online. From ebeb6ab84be4fbbfc17313f6f31bee29c4a53e8d Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Fri, 4 Dec 2020 23:11:25 +0300 Subject: [PATCH 04/29] translate "Demo application" section. --- QuickStart_RU.rst | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index ee29c05..6f71bab 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -24,7 +24,7 @@ __ http://creativecommons.org/licenses/by/3.0/ можно использовать и как `исполняемый пример`__. Все описанные здесь возможности фреймворка более подробно разобраны в `Руководстве пользователся Robot Framework`_. -__ `Выполнение руководства`_ +__ `Запуск руководства`_ .. _Руководстве пользователся Robot Framework: http://robotframework.org/robotframework/#user-guide Обзор Robot Framework @@ -52,9 +52,9 @@ http://robotframework.org. Там вы найдете еще больше док Демонстрационное приложение --------------------------- -Образец приложения для этого руководстав это один из вариантов классического входа +Образец приложения в этом руководства — один из вариантов классического входа в систему: это сервер аутентификации с интерфейсом командной строки, написанный на -Python . Это приложение позволяет пользователю делать три вещи: +Python. Это приложение позволяет пользователю делать три вещи: - Завести учетную запись с подходящим паролем. - Осуществить вход с верным паролем и именем пользователя. - Сменить пароль у существующей учетной записи пользователя. @@ -74,10 +74,10 @@ Python . Это приложение позволяет пользователю > python sut/login.py login fred P4ssw0rd Logged In -There are two requirements that a password must fulfill to be valid: it must -be between 7-12 characters long, and it must contain lower and upper case -letters and numbers, but it must not contain special characters. Trying to -create a user with invalid password fails:: +Имеются два ограничения, которым отвечает валидный пароль: он должен быть +длинной от 7 до 12 знаков и содержать буквы в верхнем и нижнем регистре, +а также цифры, но не должен сожержать специальных символов. Попытка создать +пользователя с невалидным паролем приведет к сообщению об ошибке:: > python sut/login.py create fred short Creating user failed: Password must be 7-12 characters long @@ -86,9 +86,11 @@ create a user with invalid password fails:: Creating user failed: Password must be a combination of lowercase and uppercase letters and numbers -Changing password with invalid credentials results in the same error message -as logging in with invalid credentials. The validity of new password is -verified and if not valid, an error message is given:: + +Изменение пароль с неверными учетными данными приведет к такому же сообщению +об ошибке, как и попытка войти с неверным паролем или именем пользователя. +Валидность обновленного пароля также проверяется, и если он не валиден, то будет +выведено соответствующее сообщение об ошибке:: > python sut/login.py change-password fred wrong NewP4ss Changing password failed: Access Denied @@ -99,11 +101,13 @@ verified and if not valid, an error message is given:: > python sut/login.py change-password fred P4ssw0rd NewP4ss SUCCESS -The application uses a simple database file to keep track on user statuses. -The file is located in operating system dependent temporary directory. +Приложение использует простую базу данных в файле для сохранения статуса пользователя. +База помещается в каталог для временных файлов, местополежние его зависит от используемой +операционной системы. + -Выполнение руководства -====================== +Запуск руководства +================== These instructions explain how to run this guide yourself. If you are not interested in that, you can nevertheless `view the results`__ online. From 78a616778c554109a30e5fc06f2bd4ae91042744 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Fri, 4 Dec 2020 23:21:50 +0300 Subject: [PATCH 05/29] fix typo. --- QuickStart_RU.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 6f71bab..2f49da7 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -39,7 +39,7 @@ __ `Запуск руководства`_ уровня из уже имеющихся, используя тот же синтаксис, что используется при создании тестовых сценариев. -Robot Framework не привязан к операционным системам или приложения. Его ядро реализовано +Robot Framework не привязан к операционным системам или приложениям. Его ядро реализовано на `Python `_ и может быть запущено также на `Jython `_ (JVM) и `IronPython `_ (.NET). Фреймворк имеет развитую экосистему из различных библиотек и сопутствующих From 34e4896845fcbfe6738a81c8c3bce1b51771dcc3 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 5 Dec 2020 12:22:30 +0300 Subject: [PATCH 06/29] add more translation and fixes. --- QuickStart_RU.rst | 54 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 6f71bab..7049af9 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -52,7 +52,7 @@ http://robotframework.org. Там вы найдете еще больше док Демонстрационное приложение --------------------------- -Образец приложения в этом руководства — один из вариантов классического входа +Образец приложения в этом руководстве — один из вариантов классического входа в систему: это сервер аутентификации с интерфейсом командной строки, написанный на Python. Это приложение позволяет пользователю делать три вещи: - Завести учетную запись с подходящим паролем. @@ -87,10 +87,10 @@ Python. Это приложение позволяет пользователю uppercase letters and numbers -Изменение пароль с неверными учетными данными приведет к такому же сообщению +Изменение пароля с неверными учетными данными приведет к такому же сообщению об ошибке, как и попытка войти с неверным паролем или именем пользователя. -Валидность обновленного пароля также проверяется, и если он не валиден, то будет -выведено соответствующее сообщение об ошибке:: +Валидность обновленного пароля также проверяется, и если он не соответствует, +ограничениям, то будет выведено сообщение об ошибке:: > python sut/login.py change-password fred wrong NewP4ss Changing password failed: Access Denied @@ -109,32 +109,32 @@ Python. Это приложение позволяет пользователю Запуск руководства ================== -These instructions explain how to run this guide yourself. If you are not -interested in that, you can nevertheless `view the results`__ online. +Эта инструкция описывает как самостоятельно запустить это руководство (как набор тестов). +Если это вам не интересно, вы можете посмотреть готовый `результат выполнения`__ на сайте. -__ `Viewing results`_ +__ `Просмотр результатов`_ -Installations -------------- +Установка +--------- -The recommended approach to install Robot Framework on Python_ is using `pip -`_. Once you have both of these preconditions -installed, you can simply run:: +Рекомендуемый способ установки Robot Framework на Python_ это использование пакетного +менеджера `pip `_. Если, и Python, и pip у вас уже установлены, +вам достаточно выполнить команду:: pip install robotframework -See `Robot Framework installation instructions`_ for alternative installation -approaches and more information about installation in general. +См. `Robot Framework installation instructions`_ для знакомства с альтернативными методами, +и в целом за дополнительной сведениями об установке. -This demo is written using reStructuredText__ markup language with Robot -Framework test data in code blocks. Executing tests in this format requires -installing additional docutils__ module:: +Это демонстрационное руководство использует язык разметки reStructuredText__ с тестовыми +данными Robot Framework внутри блоков для кода. Выполнение тестов в этом формате потребует +установки дополнительного модуля docutils__:: pip install docutils -Notice that Robot Framework 3.0 is the first Robot Framework version to support -Python 3. See the aforementioned `installation instructions`_ for information -about Python 2 vs Python 3. +Обратите внимание на то, что Robot Framework 3.0 это первая версия Robot Framework, которая +поддерживает Python 3. Обращайтесь к уже упомянутой `installation instructions`_ за информацией +о разнице между Python 2 и Python 3. .. _`Robot Framework installation instructions`: https://github.com/robotframework/robotframework/blob/master/INSTALL.rst @@ -142,12 +142,12 @@ about Python 2 vs Python 3. __ http://docutils.sourceforge.net/rst.html __ https://pypi.python.org/pypi/docutils -Execution ---------- +Выполнение +---------- -After installations you still need to get the demo itself. It is easiest to -download a certain release__ or grab the `latest content`__ and extract the -package somewhere, but it is also possible to clone the `project repository`__. +После установки модулей вам потребуется само демо. Самы простой способ это +загрузить нужный релиз__ или `архив с последней версией`__ и распаковать +где-либо, а также можно клонировать `репозиторий проекта`__. After installations and with all other preconditions in place, you can run the demo on the command line by using the `robot` command:: @@ -169,8 +169,8 @@ __ https://github.com/robotframework/QuickStartGuide/releases __ https://github.com/robotframework/QuickStartGuide/archive/master.zip __ https://github.com/robotframework/QuickStartGuide -Viewing results ---------------- +Просмотр результатов +-------------------- Running the demo generates the following three result files. These files are linked to pre-executed files available online, but executing the demo creates From 75b1dec2861aa550c09f65a0dcf2e2dd180017df Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 5 Dec 2020 12:34:37 +0300 Subject: [PATCH 07/29] add more fixes. --- QuickStart_RU.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 5c29f89..c28e1b5 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -45,9 +45,9 @@ Robot Framework не привязан к операционным система (.NET). Фреймворк имеет развитую экосистему из различных библиотек и сопутствующих инструментов, разработанных в отдельных от него проектах. -За дальнейшей информацие о Framework и его экосистеме обращайтесь к +За дальнейшей информацией о Robot Framework и его экосистеме обращайтесь к http://robotframework.org. Там вы найдете еще больше документации, демонстрационных -проектов, списки тестовых библиотек, сопутствующих инструментов и тому подобное. +проектов, списки тестовых библиотек, сопутствующие инструменты и тому подобное. Демонстрационное приложение --------------------------- @@ -55,6 +55,7 @@ http://robotframework.org. Там вы найдете еще больше док Образец приложения в этом руководстве — один из вариантов классического входа в систему: это сервер аутентификации с интерфейсом командной строки, написанный на Python. Это приложение позволяет пользователю делать три вещи: + - Завести учетную запись с подходящим паролем. - Осуществить вход с верным паролем и именем пользователя. - Сменить пароль у существующей учетной записи пользователя. @@ -117,8 +118,8 @@ __ `Просмотр результатов`_ Установка --------- -Рекомендуемый способ установки Robot Framework на Python_ это использование пакетного -менеджера `pip `_. Если, и Python, и pip у вас уже установлены, +Рекомендуемый способ установки Robot Framework на Python_ — это использование пакетного +менеджера `pip `_. Если и Python, и pip у вас уже установлены, вам достаточно выполнить команду:: pip install robotframework @@ -133,8 +134,8 @@ __ `Просмотр результатов`_ pip install docutils Обратите внимание на то, что Robot Framework 3.0 это первая версия Robot Framework, которая -поддерживает Python 3. Обращайтесь к уже упомянутой `installation instructions`_ за информацией -о разнице между Python 2 и Python 3. +поддерживает Python 3. Обращайтесь к уже упомянутой `installation instructions`_ за +информацией о разнице между Python 2 и Python 3. .. _`Robot Framework installation instructions`: https://github.com/robotframework/robotframework/blob/master/INSTALL.rst @@ -145,7 +146,7 @@ __ https://pypi.python.org/pypi/docutils Выполнение ---------- -После установки модулей вам потребуется само демо. Самы простой способ это +После установки модулей вам потребуется само демо. Самы простой способ — это загрузить нужный релиз__ или `архив с последней версией`__ и распаковать где-либо, а также можно клонировать `репозиторий проекта`__. From 439c7db11d2f4c5c260568d95a0a76f8316bff3f Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 5 Dec 2020 13:17:45 +0300 Subject: [PATCH 08/29] completed translate of `Executing this guide` section. --- QuickStart_RU.rst | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index c28e1b5..ace7665 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -75,9 +75,9 @@ Python. Это приложение позволяет пользователю > python sut/login.py login fred P4ssw0rd Logged In -Имеются два ограничения, которым отвечает валидный пароль: он должен быть +Имеются следующие ограничения, которым отвечает валидный пароль: он должен быть длинной от 7 до 12 знаков и содержать буквы в верхнем и нижнем регистре, -а также цифры, но не должен сожержать специальных символов. Попытка создать +а также цифры, но не должен содержать специальных символов. Попытка создать пользователя с невалидным паролем приведет к сообщению об ошибке:: > python sut/login.py create fred short @@ -90,7 +90,7 @@ Python. Это приложение позволяет пользователю Изменение пароля с неверными учетными данными приведет к такому же сообщению об ошибке, как и попытка войти с неверным паролем или именем пользователя. -Валидность обновленного пароля также проверяется, и если он не соответствует, +Валидность обновленного пароля также проверяется, и, если он не соответствует ограничениям, то будет выведено сообщение об ошибке:: > python sut/login.py change-password fred wrong NewP4ss @@ -146,25 +146,25 @@ __ https://pypi.python.org/pypi/docutils Выполнение ---------- -После установки модулей вам потребуется само демо. Самы простой способ — это +После установки модулей вам потребуется само демо. Самыq простой способ — это загрузить нужный релиз__ или `архив с последней версией`__ и распаковать где-либо, а также можно клонировать `репозиторий проекта`__. -After installations and with all other preconditions in place, you can run -the demo on the command line by using the `robot` command:: +После того как вы установите все нужные компоненты, вы сможете запустить +демонстрацию использую команду `robot`:: robot QuickStart.rst -If you use Robot Framework 2.9 or older, instead of the `robot` command you -need to use `pybot`:: +Если вы используете Robot Framework 2.9 или более старый, вместо команды `robot` +вам нужно будет использовать `pybot`:: pybot QuickStart.rst -You can also configure the execution with various command line options:: +Вы также можете настроить исполнение используя различные опции командной строки:: robot --log custom_log.html --name Custom_Name QuickStart.rst -For a list of available options run `robot --help`. +Для получения списка доступных опций выполните команду `robot --help`. __ https://github.com/robotframework/QuickStartGuide/releases __ https://github.com/robotframework/QuickStartGuide/archive/master.zip @@ -173,9 +173,9 @@ __ https://github.com/robotframework/QuickStartGuide Просмотр результатов -------------------- -Running the demo generates the following three result files. These files are -linked to pre-executed files available online, but executing the demo creates -them locally. +Запуск демонстрационных тестов приводит к возданию трех файлов. Здесь ссылки ведут +на уже готовые отчеты на сайте, но запуск демо-тестов приведет к созданию аналогичных +файлов локально. `report.html `__ Higher level test report. From 51a216ccaa1aba3389cdee28cdf4b0a1d9d139e9 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 5 Dec 2020 19:40:53 +0300 Subject: [PATCH 09/29] add translation of `Workflow tests` section. --- QuickStart_RU.rst | 72 ++++++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index ace7665..cb31a49 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -22,10 +22,10 @@ __ http://creativecommons.org/licenses/by/3.0/ наиболее важные возможности `Robot Framework `_. Вы можете просто просмотреть его и представленные в нем примеры, но его можно использовать и как `исполняемый пример`__. Все описанные здесь возможности -фреймворка более подробно разобраны в `Руководстве пользователся Robot Framework`_. +фреймворка более подробно разобраны в `Robot Framework User Guide`_. -__ `Запуск руководства`_ -.. _Руководстве пользователся Robot Framework: http://robotframework.org/robotframework/#user-guide +__ `Запуск руководства как набора тестов`_ +.. _Robot Framework User Guide: http://robotframework.org/robotframework/#user-guide Обзор Robot Framework --------------------- @@ -107,8 +107,8 @@ Python. Это приложение позволяет пользователю операционной системы. -Запуск руководства -================== +Запуск руководства как набора тестов +==================================== Эта инструкция описывает как самостоятельно запустить это руководство (как набор тестов). Если это вам не интересно, вы можете посмотреть готовый `результат выполнения`__ на сайте. @@ -146,7 +146,7 @@ __ https://pypi.python.org/pypi/docutils Выполнение ---------- -После установки модулей вам потребуется само демо. Самыq простой способ — это +После установки модулей вам потребуется само демо. Самый простой способ — это загрузить нужный релиз__ или `архив с последней версией`__ и распаковать где-либо, а также можно клонировать `репозиторий проекта`__. @@ -156,7 +156,7 @@ __ https://pypi.python.org/pypi/docutils robot QuickStart.rst Если вы используете Robot Framework 2.9 или более старый, вместо команды `robot` -вам нужно будет использовать `pybot`:: +нужно будет использовать `pybot`:: pybot QuickStart.rst @@ -173,28 +173,28 @@ __ https://github.com/robotframework/QuickStartGuide Просмотр результатов -------------------- -Запуск демонстрационных тестов приводит к возданию трех файлов. Здесь ссылки ведут -на уже готовые отчеты на сайте, но запуск демо-тестов приведет к созданию аналогичных -файлов локально. +Запуск демонстрационных тестов приведет к созданию трех файлов с отчетами. +Здесь ссылки ведут на уже готовые отчеты на сайте, а запуск демо-тестов +приведет к созданию аналогичных файлов локально. `report.html `__ - Higher level test report. + Обобщенный отчет о выполненных тестах. `log.html `__ - Detailed test execution log. + Детализированный журнал выполнения тестов. `output.xml `__ - Results in machine readable XML format. + Результаты тестов в машиночитаемом формате XML. -Test cases -========== +Тестовые сценарии +================= -Workflow tests +Workflow тесты -------------- -Robot Framework test cases are created using a simple tabular syntax. For -example, the following table has two tests: +Тестовые сценарии Robot Framework используют простой синтаксис на основе табуляции. +Например, этот сценарий содержит два теста: -- User can create an account and log in -- User cannot log in with bad password +- Пользователь может создать учетную запись и войти в систему +- Пользователь не может войти с неверным паролем .. code:: robotframework @@ -209,21 +209,21 @@ example, the following table has two tests: Attempt to Login with Credentials betty wrong Status Should Be Access Denied -Notice that these tests read like manual tests written in English rather -than like automated test cases. Robot Framework uses the keyword-driven -approach that supports writing tests that capture the essence of the actions -and expectations in natural language. +Обратите внимание, что эти тесты читаются как мануальные тесты записанные на +английском. Robot Framework использует подход на основе ключевых слов, который +поддерживает написание тестов, захватывающих саму суть действий и ожиданий, на +естественном языке. -Test cases are constructed from keywords and their possible arguments. The -syntax requires that keywords and arguments, as well as settings and their -values, are separated by at least two spaces or by a tab character. It is -generally recommended to use four spaces to make the separator more explicit, -and in some cases aligning arguments or other values may make the data easier -to understand. For more details about the syntax see `Robot Framework User -Guide`_. +Тестовые сценарии выстраиваются из ключевых слов и их аргументов. Синтаксис +требует, чтобы ключевые слова и аргументы, также как настройки и их значения, +отделялись двумя пробелами или символом табуляции. В общем случае, рекомендуется +использовать использовать четыре пробела, чтобы сделать разделитель более заметным, +а в некоторых случаях это позволяет выравнивать аргументы или другие значения, что +делает их более легкими для восприятия. За более детальным описанием синтаксиса +обращайтесь к `Robot Framework User Guide`_. -Higher-level tests ------------------- +Тесты верхнего уровня +--------------------- Test cases can also be created using only high-level keywords that take no positional arguments. This style allows using totally free text which is @@ -442,8 +442,8 @@ Test suites ----------- Collections of test cases are called test suites in Robot Framework. Every -input file which contains test cases forms a test suite. When `executing this -guide`_, you see test suite `QuickStart` in the console output. This name is +input file which contains test cases forms a test suite. Когда мы `запускаем это руководство`__ +, you see test suite `QuickStart` in the console output. This name is derived from the file name and it is also visible in reports and logs. It is possible to organize test cases hierarchically by placing test case @@ -452,6 +452,8 @@ these directories automatically create higher level test suites that get their names from directory names. Since test suites are just files and directories, they are trivially placed into any version control system. +__ `Запуск руководства как набора тестов`_ + Setups and teardowns -------------------- From 3842df1ad84b9f81f0eadda2958814b875130d1f Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 5 Dec 2020 20:12:46 +0300 Subject: [PATCH 10/29] add translation of `Higher-level tests` section. --- QuickStart_RU.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index cb31a49..f51db96 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -210,7 +210,7 @@ Workflow тесты Status Should Be Access Denied Обратите внимание, что эти тесты читаются как мануальные тесты записанные на -английском. Robot Framework использует подход на основе ключевых слов, который +английском языке. Robot Framework использует подход на основе ключевых слов, который поддерживает написание тестов, захватывающих саму суть действий и ожиданий, на естественном языке. @@ -225,16 +225,16 @@ Workflow тесты Тесты верхнего уровня --------------------- -Test cases can also be created using only high-level keywords that take no -positional arguments. This style allows using totally free text which is -suitable for communication even with non-technical customers or other project -stakeholders. This is especially important when using the `acceptance -test-driven development`__ (ATDD) approach or any of its variants and created -tests act also as requirements. +Тестовые сценарии могут быть созданы с использованием ключевых слов верхнего +уровня, которые не используют позиционных аргументов. Такой стиль не ограничивает +свободу в описании, что хорошо подходит для коммуникации даже с технически +неосведомленными пользователями или другими стейкхолдерами. Это может быть +особенно важно при использовании подхода `acceptance test-driven development`__ +(ATDD) или его вариантов, когда тесты используются и как требования к создаваемому ПО. -Robot Framework does not enforce any particular style for writing test cases. -One common style is the *given-when-then* format popularized by -`behavior-driven development`__ (BDD): +Robot Framework не принуждает к использованию какого-либо определенного подхода +к написанию сценариев. Один из распространенных стилей это формат *given-when-then* +ставший популярным благодаря `behavior-driven development`__ (BDD): .. code:: robotframework @@ -248,7 +248,7 @@ One common style is the *given-when-then* format popularized by __ http://en.wikipedia.org/wiki/Acceptance_test-driven_development __ http://en.wikipedia.org/wiki/Behavior_driven_development -Data-driven tests +Data-driven тесты ----------------- Quite often several test cases are otherwise similar but they have slightly From 01dbc39c770f53a845eb31aabf74934b0e14df3b Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 6 Dec 2020 14:09:14 +0300 Subject: [PATCH 11/29] start translation of `Keyword` section. --- QuickStart_RU.rst | 59 ++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index f51db96..342f7d9 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -233,7 +233,7 @@ Workflow тесты (ATDD) или его вариантов, когда тесты используются и как требования к создаваемому ПО. Robot Framework не принуждает к использованию какого-либо определенного подхода -к написанию сценариев. Один из распространенных стилей это формат *given-when-then* +к написанию сценариев. Один из распространенных стилей это формат *given-when-then*, ставший популярным благодаря `behavior-driven development`__ (BDD): .. code:: robotframework @@ -248,15 +248,15 @@ Robot Framework не принуждает к использованию како __ http://en.wikipedia.org/wiki/Acceptance_test-driven_development __ http://en.wikipedia.org/wiki/Behavior_driven_development -Data-driven тесты ------------------ +Тестирование на основе данных +----------------------------- -Quite often several test cases are otherwise similar but they have slightly -different input or output data. In these situations *data-driven tests* -allows varying the test data without duplicating the workflow. With Robot -Framework the `[Template]` setting turns a test case into a data-driven test -where the template keyword is executed using the data defined in the test case -body: +Часто несколько тестовых сценариев бывают похожи друг на друга, за исключением разницы +во входящих или исходящих данных. В таких случаях *data-driven тесты* позволяют +варьировать тестовые данные без дублирования выполняемых действий. С помошью настройки +`[Template]` Robot Framework превращает тестовые сценарии в тесты управляемые данными. +Ключевое слов, используемое как шаблон, выполняется с использованием данных, определенных +в теле тестового сценария: .. code:: robotframework @@ -270,27 +270,26 @@ body: AbCdEfGh ${PWD INVALID CONTENT} abCD56+ ${PWD INVALID CONTENT} -In addition to using the `[Template]` setting with individual tests, it would -be possible to use the `Test Template` setting once in the settings table like -`setups and teardowns`_ defined later in this guide. In our case that -would ease creating separate named tests for invalid length password cases and -for other invalid cases. However, that would require moving those tests to a -separate file, because otherwise the template would also be applied to other -tests in this file. +В дополнение к настройке `[Template]` для отдельных тестов, возможно также использовать +общую настройку `Test Template`, указав ее однажды указанная в таблице настроек такой как +`setups and teardowns`_ (рассматривается ниже). В нашем случае проще было создать +отдельные тесты для невалидной длины пароля и для сценариев с другими невалидными +данными. Тем не менее, это потребовало вынести эти тесты в отдельный файл, иначе этот +шаблон был бы применен и другим тестам в этом файле. -Notice also that the error messages in the above example are specified using -variables_. +Обратите также внимание, что сообщения об ошибках в этом примере задаются с использованием +файла variables_. -Keywords -======== +Ключевые слова +============== -Test cases are created from keywords that can come from two sources. `Library -keywords`_ come from imported test libraries, and so called `user keywords`_ -can be created using the same tabular syntax that is used for creating test -cases. +Тестовые сценарии созадются из ключевых слов, которые аогут имет два источника. +`Библиотечные ключевые слова`_ могут импортироватся из библиотек, а так называемые +`пользовательские ключевые слова`_ могут быть созданы с использованием того же +синтаксиса, что используется при написании тестовых сценариев. -Library keywords ----------------- +Библиотечные ключевые слова +--------------------------- All lowest level keywords are defined in test libraries which are implemented using standard programming languages, typically Python or Java. Robot Framework @@ -319,8 +318,8 @@ libraries are imported in the settings table below: .. _Selenium2Library: https://github.com/rtomac/robotframework-selenium2library/#readme __ `Creating test libraries`_ -User keywords -------------- +Пользовательские ключевые слова +------------------------------- One of the most powerful features of Robot Framework is the ability to easily create new, higher-level keywords from other keywords. The syntax for creating @@ -464,11 +463,13 @@ specify keywords to be executed before and/or after an entire test suite. Individual tests can also have a custom setup or teardown by using `[Setup]` and `[Teardown]` in the test case table. This works the same way as -`[Template]` was used earlier with `data-driven tests`_. +`[Template]` was used earlier with `data-driven тестами`__. In this demo we want to make sure the database is cleared before execution starts and that every test also clears it afterwards: +__ `Тестирование на основе данных`_ + .. code:: robotframework *** Settings *** From 20695fb914fada4e4362481148061d7051ccd31c Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 12 Dec 2020 12:01:24 +0300 Subject: [PATCH 12/29] start translation of `Variables` section. --- QuickStart_RU.rst | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 342f7d9..8a199b0 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -278,7 +278,9 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development шаблон был бы применен и другим тестам в этом файле. Обратите также внимание, что сообщения об ошибках в этом примере задаются с использованием -файла variables_. +переменных_. + +.. _`переменных`: `Переменные`_ Ключевые слова ============== @@ -321,12 +323,12 @@ __ `Creating test libraries`_ Пользовательские ключевые слова ------------------------------- -One of the most powerful features of Robot Framework is the ability to easily -create new, higher-level keywords from other keywords. The syntax for creating -these so called *user-defined keywords*, or *user keywords* for short, is -similar to the syntax that is used for creating test cases. All the -higher-level keywords needed in previous test cases are created in this -keyword table: +Одна из наиболее сильных возможностей Robot Framework это способность легко +создавать новые ключевые слова верхнего уровня из других ключевых слов. Синтаксис +для создания *определяемых пользователем ключевых слов* или для краткости +*пользовательских ключевых слов* похож на ни синтаксис используемый для +создания тестов. Все ключевые слова верхнего уровня, необходимые для предыдущего +теста, задаются в этой таблице ключевых слов: .. code:: robotframework @@ -349,8 +351,8 @@ keyword table: Attempt to login with credentials ${username} ${password} Status should be Logged In - # Keywords below used by higher level tests. Notice how given/when/then/and - # prefixes can be dropped. And this is a comment. + # Ключевый слова ниже используются для тестов верхнего уровня. Обратите ввнимание + # что префиксы given/when/then/and могут быть отброшены. А еще это пример комментария. A user has a valid account Create valid user ${USERNAME} ${PASSWORD} @@ -366,19 +368,22 @@ keyword table: Attempt to login with credentials ${USERNAME} ${PASSWORD} Status should be Access Denied -User-defined keywords can include actions defined by other user-defined or -library keywords. As you can see from this example, user-defined keywords can -take parameters. They can also return values and even contain FOR loops. For -now, the important thing to know is that user-defined keywords enable test -creators to create reusable steps for common action sequences. User-defined -keywords can also help the test author keep the tests as readable as possible -and use appropriate abstraction levels in different situations. +Пользовательские ключевые слова могут включать действия задаваемые другими +пользовательскими или библиотечными ключевыми словами. Как видно из этого +примера, пользовательские ключевые слова могут принимать параметры. Они также +могут возвращать значения и даже включать в себя циклы FOR. Но этом этапе +для нас важно, что пользовательские ключевые слова позволяют авторам тестов +создавать повторно используемые шаги для общих последовательностей действий. +Пользовательские ключевые слова также могут помочь сделать тесты максимально +удобными для понимания и использовать подходящий уровень абстракции в различных +ситуациях. + -Variables -========= +Переменные +========== -Defining variables ------------------- +Определение переменных +---------------------- Variables are an integral part of the Robot Framework. Usually any data used in tests that is subject to change is best defined as variables. Syntax for @@ -415,7 +420,7 @@ database content to `${database}` variable and then verifies the content using BuiltIn_ keyword `Should Contain`. Both library and user keywords can return values. -.. _User keyword: `User keywords`_ +.. _User keyword: `Пользовательские ключевые слова`_ .. _BuiltIn: `Standard libraries`_ .. code:: robotframework From 643fdd52e9b1ae0c0deb0513e2b1467f40eb6cb9 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 12 Dec 2020 13:15:14 +0300 Subject: [PATCH 13/29] finished translation of `Variables` section. --- QuickStart_RU.rst | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 8a199b0..1aa43cc 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -368,7 +368,7 @@ __ `Creating test libraries`_ Attempt to login with credentials ${USERNAME} ${PASSWORD} Status should be Access Denied -Пользовательские ключевые слова могут включать действия задаваемые другими +Пользовательские ключевые слова могут включать действия, задаваемые другими пользовательскими или библиотечными ключевыми словами. Как видно из этого примера, пользовательские ключевые слова могут принимать параметры. Они также могут возвращать значения и даже включать в себя циклы FOR. Но этом этапе @@ -385,9 +385,10 @@ __ `Creating test libraries`_ Определение переменных ---------------------- -Variables are an integral part of the Robot Framework. Usually any data used in -tests that is subject to change is best defined as variables. Syntax for -variable definition is quite simple, as seen in this variable table: +Перменные это неотьемлимая часть Robot Framework. Обычно, любые данные, +используемые в тестах, и подверженные изменениям, будет лучше определить через +переменные. Синтаксис определения пременных прост, как это видно в этой таблице +с переменными: .. code:: robotframework @@ -399,29 +400,29 @@ variable definition is quite simple, as seen in this variable table: ${PWD INVALID LENGTH} Password must be 7-12 characters long ${PWD INVALID CONTENT} Password must be a combination of lowercase and uppercase letters and numbers -Variables can also be given from the command line which is useful if -the tests need to be executed in different environments. For example -this demo can be executed like:: +Перменные также могут задваться из командной строки, что может быть полезно +при запуске теста в разном окружении. Например этот демо-пример может быть запущен +таким способом:: robot --variable USERNAME:johndoe --variable PASSWORD:J0hnD0e QuickStart.rst -In addition to user defined variables, there are some built-in variables that -are always available. These variables include `${TEMPDIR}` and `${/}` which -are used in the above example. +В дополнение к переменным, определяемым пользователем, всегда доступные и некоторые +встроенные пременные. Эти переменные включают `${TEMPDIR}` и `${/}` как это показано +в примере выше. -Using variables ---------------- +Использование переменных +------------------------ -Variables can be used in most places in the test data. They are most commonly -used as arguments to keywords like the following test case demonstrates. -Return values from keywords can also be assigned to variables and used later. -For example, the following `Database Should Contain` `user keyword`_ sets -database content to `${database}` variable and then verifies the content -using BuiltIn_ keyword `Should Contain`. Both library and user keywords can -return values. +В большинстве случаев, тестовые данные могут использовать переменные. Обычно они +используются в качестве аргументов ключевых слов, как это показано в примере ниже. +Значения, отдаваемые ключевыми словами, также могут присваиваться переменным +и использоваться далее. Напрмер, `пользовательское ключевое слово`_ `Database Should +Contain` задает значение для переменной `${database}` и затем верифицирует содержимое +используя `встроенное ключевое слово`_ `Should Contain`. Оба, — и библиотечное, +и пользовательское — ключевых слова могут возвращать значения. -.. _User keyword: `Пользовательские ключевые слова`_ -.. _BuiltIn: `Standard libraries`_ +.. _пользовательское ключевое слово: `Пользовательские ключевые слова`_ +.. _встроенное ключевое слово: `Standard libraries`_ .. code:: robotframework @@ -490,7 +491,7 @@ Tags` settings like in the table below. It is also possible to define tags for a single test case using `[Tags]` settings like in earlier__ `User status is stored in database` test. -__ `Using variables`_ +__ `Использование переменных`_ .. code:: robotframework From c789d9f992a5811a2acebe5c39b6a856eba5320d Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 12 Dec 2020 14:41:34 +0300 Subject: [PATCH 14/29] finished translation. --- QuickStart_RU.rst | 95 +++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 1aa43cc..6cd0b85 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -280,6 +280,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Обратите также внимание, что сообщения об ошибках в этом примере задаются с использованием переменных_. +.. _`setups and teardowns`: `Процедуры подготовки и завершения тестов`_ .. _`переменных`: `Переменные`_ Ключевые слова @@ -318,7 +319,7 @@ libraries are imported in the settings table below: .. _Test libraries: http://robotframework.org/#libraries .. _Standard libraries: http://robotframework.org/robotframework/#standard-libraries .. _Selenium2Library: https://github.com/rtomac/robotframework-selenium2library/#readme -__ `Creating test libraries`_ +__ `Создание тестовых библиотек`_ Пользовательские ключевые слова ------------------------------- @@ -440,39 +441,40 @@ Contain` задает значение для переменной `${database}` ${database} = Get File ${DATABASE FILE} Should Contain ${database} ${username}\t${password}\t${status}\n -Organizing test cases -===================== +Организация тестовых сценариев +============================== -Test suites ------------ +Тестовые наборы +--------------- -Collections of test cases are called test suites in Robot Framework. Every -input file which contains test cases forms a test suite. Когда мы `запускаем это руководство`__ -, you see test suite `QuickStart` in the console output. This name is -derived from the file name and it is also visible in reports and logs. +Собрание из нескольких тестовых сценариев называет в Robot Framework тестовым набором. +Каждый входной файл содержащий тестовые сценарии формирует тестовый набор. Когда вы +`запускаем это руководство`__ вы видете тестовый набор `QuickStart` в выводе консоли. +Это имя определятся названием файла и также будет видно в отчетах и журналах исполнения. -It is possible to organize test cases hierarchically by placing test case -files into directories and these directories into other directories. All -these directories automatically create higher level test suites that get their -names from directory names. Since test suites are just files and directories, -they are trivially placed into any version control system. +Вы можете создать иерархическую структуру из тестовых сценариев, размещая файлы по +каталогам, а эти каталоги внутри других каталогов файловой системы. Все эти каталоги +автоматически создадут тестовый набор верхнего уровня, который будет брать их названия +из названий каталогов. Поскольку тестовые наборы это просто файлы и каталоги, они легко +могут быть помещены и в системы контроля версий. __ `Запуск руководства как набора тестов`_ -Setups and teardowns --------------------- +Процедуры подготовки и завершения тестов +---------------------------------------- -If you want certain keywords to be executed before or after each test, -use the `Test Setup` and `Test Teardown` settings in the settings table. -Similarly you can use the `Suite Setup` and `Suite Teardown` settings to -specify keywords to be executed before and/or after an entire test suite. +Если вы хотите запустить некоторые ключевый слова перед или после каждого теста, +используйте для этого настройки `Test Setup` и `Test Teardown` в таблице настроек. +Аналогично, вы может использовать настроки `Suite Setup` и `Suite Teardown` для запуска +нужных ключевых слов перед и/или после выполнения всего тестового набора. -Individual tests can also have a custom setup or teardown by using `[Setup]` -and `[Teardown]` in the test case table. This works the same way as -`[Template]` was used earlier with `data-driven тестами`__. +Отдельные тесты также могут иметь собственные процедуры подготовки и завершения, +посредством настроек `[Setup]` и `[Teardown]` в таблмце натроек тестового сценария. +Это работает аналогично настройке `[Template]` которую мы рассматривали вместе в +`data-driven тестами`__. -In this demo we want to make sure the database is cleared before execution -starts and that every test also clears it afterwards: +В этом демо-примере мы хотим быть уверены, что база данных будет очищена перед началом +запуска и что каждый тест будет ее очищать после себя: __ `Тестирование на основе данных`_ @@ -482,14 +484,14 @@ __ `Тестирование на основе данных`_ Suite Setup Clear Login Database Test Teardown Clear Login Database -Using tags ----------- +Использование меток +------------------- -Robot Framework allows setting tags for test cases to give them free metadata. -Tags can be set for all test cases in a file with `Force Tags` and `Default -Tags` settings like in the table below. It is also possible to define tags -for a single test case using `[Tags]` settings like in earlier__ `User -status is stored in database` test. +Robot Framework позволяет устанавливать метки для тестовых сценариев. Это позволяет +определять метаданные для сценариев. Метки могуть быть установлены для всех сценариев +в файле, используя настройки `Force Tags` и `Default Tags`, как в таблице ниже. Можно +также задавать метки для отдельных тестов использую натройку `[Tags]` как это показано +ранее__ на примере теста `User status is stored in database` __ `Использование переменных`_ @@ -499,28 +501,25 @@ __ `Использование переменных`_ Force Tags quickstart Default Tags example smoke -When you look at a report after test execution, you can see that tests have -specified tags associated with them and there are also statistics generated -based on tags. Tags can also be used for many other purposes, one of the most -important being the possibility to select what tests to execute. You can try, -for example, the following commands:: +Когда вы обратитесь к отчету после выполения тестов, вы увидете, что тесты получил +заданные метки и в отчете появилась статистика, связанная с метками. Метки также могут +использоваться и во многих других случаях, один из важнейших — это выборочный запуск +тестов. Для примера вы можете воспользоваться следующими командами:: robot --include smoke QuickStart.rst robot --exclude database QuickStart.rst -Creating test libraries -======================= +Создание тестовых библиотек +=========================== -Robot Framework offers a simple API for creating test libraries using either -Python or Java, and the remote library interface also allows using other -programming languages. `Robot Framework User Guide`_ contains a detailed -description about the library API. +Robot Framework предлагает несложный API для создания тестовых библиотек на Python +или Java, и интерфейс удаленных библиотек также позволяющий писать на других языках +программирования. `Robot Framework User Guide`_ содержит детальное описание API библиотек. -As an example, we can take a look at the `LoginLibrary` test library used in -this demo. The library is located at ``_, and its source -code is also copied below. Looking at the code you can see, for example, how -the keyword `Create User` is mapped to actual implementation of the method -`create_user`. +Как пример, мы можем рассмотреть тестовую бибилотеку `LoginLibrary` из демонстрационного +примера. Библиотека находится каталоге ``_, и ее исходный код +продублирован ниже. Посмотрите в код и вы сможете увидеть, например, как ключевое слово +`Create User` соотноситься с реализацией метода `create_user`. .. code:: python From 957105becc22a955aa68a9270432e334878ef0ae Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 12 Dec 2020 15:06:53 +0300 Subject: [PATCH 15/29] add typo and style fix. --- QuickStart_RU.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 6cd0b85..7b1cc4b 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -32,8 +32,8 @@ __ `Запуск руководства как набора тестов`_ `Robot Framework`_ это фреймоворк автоматизированного тестирования общего назначения с открытым исходным кодам. Он предназначен для приемочного тестирования и разработки -на основе приемочого тестирования (ATDD). Фреймворк использует удобный синтаксис -табулированных тестовых данных, а длля построения тестов использует подход на базе +на основе приемочного тестирования (ATDD). Фреймворк использует наглядный синтаксис +с табулированием тестовых данных, а для построения тестов использует подход на базе ключевых слов. Возможности фреймворка могут быть расширены за счет бибилиотек, написанных на Python или Java. Пользователи могут создавать собственные ключевые слова высокого уровня из уже имеющихся, используя тот же синтаксис, что используется при создании From 11be3cc30a63074871935572103c43e0a550b383 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sat, 12 Dec 2020 15:14:01 +0300 Subject: [PATCH 16/29] add style fix. --- QuickStart_RU.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 7b1cc4b..f7c2831 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -61,7 +61,7 @@ Python. Это приложение позволяет пользователю - Сменить пароль у существующей учетной записи пользователя. Само приложение находится в файле ``_ и может быть запущено командой -`python sut/login.py`. Попытка входа с помощью несуществующей учетной записи или +`python sut/login.py`. Попытка входа с помощью несуществующего имени пользователя или неверного пароля приведет к следующему сообщению об ошибке:: > python sut/login.py login nobody P4ssw0rd From 7cf4e33ea2e62fa6a4416f4ec435bc209ddc598e Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 13 Dec 2020 19:22:58 +0300 Subject: [PATCH 17/29] add typo fix. --- QuickStart_RU.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index f7c2831..7e36413 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -217,7 +217,7 @@ Workflow тесты Тестовые сценарии выстраиваются из ключевых слов и их аргументов. Синтаксис требует, чтобы ключевые слова и аргументы, также как настройки и их значения, отделялись двумя пробелами или символом табуляции. В общем случае, рекомендуется -использовать использовать четыре пробела, чтобы сделать разделитель более заметным, +использовать четыре пробела, чтобы сделать разделитель более заметным, а в некоторых случаях это позволяет выравнивать аргументы или другие значения, что делает их более легкими для восприятия. За более детальным описанием синтаксиса обращайтесь к `Robot Framework User Guide`_. From 057aa556930120a2c96f27c14a22dbf522039f7f Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 13 Dec 2020 19:25:17 +0300 Subject: [PATCH 18/29] add typo fix. --- QuickStart_RU.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 7e36413..58060bf 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -271,7 +271,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development abCD56+ ${PWD INVALID CONTENT} В дополнение к настройке `[Template]` для отдельных тестов, возможно также использовать -общую настройку `Test Template`, указав ее однажды указанная в таблице настроек такой как +общую настройку `Test Template`, указав ее однажды в таблице настроек, такой как `setups and teardowns`_ (рассматривается ниже). В нашем случае проще было создать отдельные тесты для невалидной длины пароля и для сценариев с другими невалидными данными. Тем не менее, это потребовало вынести эти тесты в отдельный файл, иначе этот From ed69d61f6145ac100ac64e41cc24dc3c6b4bdac8 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 13 Dec 2020 20:11:05 +0300 Subject: [PATCH 19/29] add typo fix. --- QuickStart_RU.rst | 49 ++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 58060bf..296c02a 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -286,29 +286,30 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Ключевые слова ============== -Тестовые сценарии созадются из ключевых слов, которые аогут имет два источника. +Тестовые сценарии созадются из ключевых слов, которые могут иметь два источника. `Библиотечные ключевые слова`_ могут импортироватся из библиотек, а так называемые -`пользовательские ключевые слова`_ могут быть созданы с использованием того же +`пользовательские ключевые слова`_ могут быть созданы с помощью того же синтаксиса, что используется при написании тестовых сценариев. Библиотечные ключевые слова --------------------------- -All lowest level keywords are defined in test libraries which are implemented -using standard programming languages, typically Python or Java. Robot Framework -comes with a handful of `test libraries`_ that can be divided to *standard -libraries*, *external libraries* and *custom libraries*. `Standard libraries`_ -are distributed with the core framework and included generic libraries such as -`OperatingSystem`, `Screenshot` and `BuiltIn`, which is special because its -keywords are available automatically. External libraries, such as -Selenium2Library_ for web testing, must be installed separately. If available -test libraries are not enough, it is easy to `create custom test libraries`__. - -To be able to use keywords provided by a test library, the keywords must be -imported using the `Library` setting. Tests in this guide need keywords from -the standard `OperatingSystem` library (e.g. `Remove File`) and from a custom -made `LoginLibrary` (e.g. `Attempt to login with credentials`). Both of these -libraries are imported in the settings table below: +Все ключевые слова низкого уровня определяются в тестовых бибилотеках используя +стандартные языки программирования, обычно Python или Java. Robot Framework +доступен с множеством `тестовых библиотек`_, которые можно разделить на +*стандартные библиотеки*, *внешние библиотеки* и *пользовательские библиотеки*. +`Стандартные библиотеки`_ распространяются вместе с ядром фреймворка и включают +часто используемые библиотеки, такие как `OperatingSystem`, `Screenshot` и `BuiltIn`, +благодаря этому, ключевые слова из них доступны автоматически. Внешние библиотеки, +такие как Selenium2Library_ для web-тестирования, должны быть установлены дополнительно. +Если существующих тестовых библиотек недостаточно, то нетрудно `создать пользовательскую +библиотеку`_ + +Чтобы ключевые слова из тестовй библиотеки можно было использовать в тесте, их необходимо +импортировать с помощью настройки `Library`. Тестам из этого руководства нужны ключыевые +слова из библиотеки `OperatingSystem` (напрмер, `Remove File`) и из пользовательской +библиотеки `LoginLibrary` (например, `Attempt to login with credentials`). Обе эти +библиотеки импортируются в таблице в настройками ниже: .. code:: robotframework @@ -316,10 +317,10 @@ libraries are imported in the settings table below: Library OperatingSystem Library lib/LoginLibrary.py -.. _Test libraries: http://robotframework.org/#libraries -.. _Standard libraries: http://robotframework.org/robotframework/#standard-libraries +.. _тестовых библиотек: http://robotframework.org/#libraries +.. _Стандартные библиотеки: http://robotframework.org/robotframework/#standard-libraries .. _Selenium2Library: https://github.com/rtomac/robotframework-selenium2library/#readme -__ `Создание тестовых библиотек`_ +.. _создать пользовательскую библиотеку: `Создание тестовых библиотек`_ Пользовательские ключевые слова ------------------------------- @@ -386,8 +387,8 @@ __ `Создание тестовых библиотек`_ Определение переменных ---------------------- -Перменные это неотьемлимая часть Robot Framework. Обычно, любые данные, -используемые в тестах, и подверженные изменениям, будет лучше определить через +Переменные это неотьемлемая часть Robot Framework. Обычно, любые данные +используемые в тестах и подверженные изменениям, будет лучше определить через переменные. Синтаксис определения пременных прост, как это видно в этой таблице с переменными: @@ -401,7 +402,7 @@ __ `Создание тестовых библиотек`_ ${PWD INVALID LENGTH} Password must be 7-12 characters long ${PWD INVALID CONTENT} Password must be a combination of lowercase and uppercase letters and numbers -Перменные также могут задваться из командной строки, что может быть полезно +Перменные также могут задаваться из командной строки, что может быть полезно при запуске теста в разном окружении. Например этот демо-пример может быть запущен таким способом:: @@ -423,7 +424,7 @@ Contain` задает значение для переменной `${database}` и пользовательское — ключевых слова могут возвращать значения. .. _пользовательское ключевое слово: `Пользовательские ключевые слова`_ -.. _встроенное ключевое слово: `Standard libraries`_ +.. _встроенное ключевое слово: _Стандартные библиотеки .. code:: robotframework From d0f532808cc32d42aa70a7c3317c3cba731923eb Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 13 Dec 2020 20:22:50 +0300 Subject: [PATCH 20/29] add typo fix. --- QuickStart_RU.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 296c02a..2a580da 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -464,7 +464,7 @@ __ `Запуск руководства как набора тестов`_ Процедуры подготовки и завершения тестов ---------------------------------------- -Если вы хотите запустить некоторые ключевый слова перед или после каждого теста, +Если вы хотите запускать какие-либо ключевые слова перед или после каждого теста, используйте для этого настройки `Test Setup` и `Test Teardown` в таблице настроек. Аналогично, вы может использовать настроки `Suite Setup` и `Suite Teardown` для запуска нужных ключевых слов перед и/или после выполнения всего тестового набора. @@ -490,7 +490,7 @@ __ `Тестирование на основе данных`_ Robot Framework позволяет устанавливать метки для тестовых сценариев. Это позволяет определять метаданные для сценариев. Метки могуть быть установлены для всех сценариев -в файле, используя настройки `Force Tags` и `Default Tags`, как в таблице ниже. Можно +в файле, с помошью настроек `Force Tags` и `Default Tags`, как в таблице ниже. Можно также задавать метки для отдельных тестов использую натройку `[Tags]` как это показано ранее__ на примере теста `User status is stored in database` From 4b7b0a20160442ce2729f10f488405160106df8e Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 13 Dec 2020 21:14:34 +0300 Subject: [PATCH 21/29] add typo fix. --- QuickStart_RU.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 2a580da..05c3176 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -255,7 +255,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development во входящих или исходящих данных. В таких случаях *data-driven тесты* позволяют варьировать тестовые данные без дублирования выполняемых действий. С помошью настройки `[Template]` Robot Framework превращает тестовые сценарии в тесты управляемые данными. -Ключевое слов, используемое как шаблон, выполняется с использованием данных, определенных +Ключевое слово, используемое как шаблон, выполняется с использованием данных, определенных в теле тестового сценария: .. code:: robotframework @@ -305,8 +305,8 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Если существующих тестовых библиотек недостаточно, то нетрудно `создать пользовательскую библиотеку`_ -Чтобы ключевые слова из тестовй библиотеки можно было использовать в тесте, их необходимо -импортировать с помощью настройки `Library`. Тестам из этого руководства нужны ключыевые +Чтобы ключевые слова из тестовой библиотеки можно было использовать в тесте, их необходимо +импортировать с помощью настройки `Library`. Тестам из этого руководства нужны ключевые слова из библиотеки `OperatingSystem` (напрмер, `Remove File`) и из пользовательской библиотеки `LoginLibrary` (например, `Attempt to login with credentials`). Обе эти библиотеки импортируются в таблице в настройками ниже: From a903bca1c5740643d2aea34561c325dc8ab81caf Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Sun, 13 Dec 2020 21:26:36 +0300 Subject: [PATCH 22/29] add typo and style fix. --- QuickStart_RU.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 05c3176..1fc3463 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -471,7 +471,7 @@ __ `Запуск руководства как набора тестов`_ Отдельные тесты также могут иметь собственные процедуры подготовки и завершения, посредством настроек `[Setup]` и `[Teardown]` в таблмце натроек тестового сценария. -Это работает аналогично настройке `[Template]` которую мы рассматривали вместе в +Это работает аналогично настройке `[Template]` которую мы рассматривали вместе с `data-driven тестами`__. В этом демо-примере мы хотим быть уверены, что база данных будет очищена перед началом @@ -488,10 +488,10 @@ __ `Тестирование на основе данных`_ Использование меток ------------------- -Robot Framework позволяет устанавливать метки для тестовых сценариев. Это позволяет -определять метаданные для сценариев. Метки могуть быть установлены для всех сценариев +В Robot Framework можно присваивать тестовым сценариям метки (tags), что позволяет +свободно задавать метаданные для сценариев. Метки могуть быть установлены для всех сценариев в файле, с помошью настроек `Force Tags` и `Default Tags`, как в таблице ниже. Можно -также задавать метки для отдельных тестов использую натройку `[Tags]` как это показано +также задавать метки для отдельных тестов использую натройку `[Tags]`, как это показано ранее__ на примере теста `User status is stored in database` __ `Использование переменных`_ From 915e2d186695cc35e4cfd595f469883934b2cb3a Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 10:58:40 +0300 Subject: [PATCH 23/29] add apple-blossom's fixes. --- QuickStart_RU.rst | 21 +++++++++++---------- README.rst | 2 ++ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 1fc3463..9dd5787 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -21,7 +21,7 @@ __ http://creativecommons.org/licenses/by/3.0/ *Руководство по быстрому началу работы с Robot Framework* представляет наиболее важные возможности `Robot Framework `_. Вы можете просто просмотреть его и представленные в нем примеры, но его -можно использовать и как `исполняемый пример`__. Все описанные здесь возможности +можно использовать и как `пример исполняемого кода`__. Все описанные здесь возможности фреймворка более подробно разобраны в `Robot Framework User Guide`_. __ `Запуск руководства как набора тестов`_ @@ -125,7 +125,7 @@ __ `Просмотр результатов`_ pip install robotframework См. `Robot Framework installation instructions`_ для знакомства с альтернативными методами, -и в целом за дополнительной сведениями об установке. +и в целом за дополнительными сведениями об установке. Это демонстрационное руководство использует язык разметки reStructuredText__ с тестовыми данными Robot Framework внутри блоков для кода. Выполнение тестов в этом формате потребует @@ -134,8 +134,8 @@ __ `Просмотр результатов`_ pip install docutils Обратите внимание на то, что Robot Framework 3.0 это первая версия Robot Framework, которая -поддерживает Python 3. Обращайтесь к уже упомянутой `installation instructions`_ за -информацией о разнице между Python 2 и Python 3. +поддерживает Python 3. За информацией о разнице в использовании Python 2 и Python 3 +обращайтесь к `installation instructions`_ . .. _`Robot Framework installation instructions`: https://github.com/robotframework/robotframework/blob/master/INSTALL.rst @@ -211,12 +211,12 @@ Workflow тесты Обратите внимание, что эти тесты читаются как мануальные тесты записанные на английском языке. Robot Framework использует подход на основе ключевых слов, который -поддерживает написание тестов, захватывающих саму суть действий и ожиданий, на +поддерживает написание тестов, отображающих суть действий и ожиданий, на естественном языке. Тестовые сценарии выстраиваются из ключевых слов и их аргументов. Синтаксис требует, чтобы ключевые слова и аргументы, также как настройки и их значения, -отделялись двумя пробелами или символом табуляции. В общем случае, рекомендуется +отделялись двумя пробелами или символом табуляции. Обычно рекомендуется использовать четыре пробела, чтобы сделать разделитель более заметным, а в некоторых случаях это позволяет выравнивать аргументы или другие значения, что делает их более легкими для восприятия. За более детальным описанием синтаксиса @@ -227,10 +227,11 @@ Workflow тесты Тестовые сценарии могут быть созданы с использованием ключевых слов верхнего уровня, которые не используют позиционных аргументов. Такой стиль не ограничивает -свободу в описании, что хорошо подходит для коммуникации даже с технически -неосведомленными пользователями или другими стейкхолдерами. Это может быть -особенно важно при использовании подхода `acceptance test-driven development`__ -(ATDD) или его вариантов, когда тесты используются и как требования к создаваемому ПО. +свободу в описании тестовых сценариев, что хорошо подходит для коммуникации даже +с технически неосведомленными пользователями или другими стейкхолдерами. Это может +быть особенно важно при использовании подхода `acceptance test-driven development`__ +(ATDD) или его вариантов, когда тесты используются, в том числе как требования +к создаваемому ПО. Robot Framework не принуждает к использованию какого-либо определенного подхода к написанию сценариев. Один из распространенных стилей это формат *given-when-then*, diff --git a/README.rst b/README.rst index 4653bf6..0c6d1b4 100644 --- a/README.rst +++ b/README.rst @@ -7,3 +7,5 @@ through it and look at the examples, but you can also use the guide as an executable demo. The guide itself is in the ``_ file. + +``_ contains the translation to Russian. \ No newline at end of file From 0258e9a72ca12b8042e9a0b72fdc5f609234d4a5 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 12:01:07 +0300 Subject: [PATCH 24/29] add apple-blossom's fixes. --- QuickStart_RU.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 9dd5787..3146653 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -75,7 +75,7 @@ Python. Это приложение позволяет пользователю > python sut/login.py login fred P4ssw0rd Logged In -Имеются следующие ограничения, которым отвечает валидный пароль: он должен быть +Имеются следующие требования, которым отвечает валидный пароль: он должен быть длинной от 7 до 12 знаков и содержать буквы в верхнем и нижнем регистре, а также цифры, но не должен содержать специальных символов. Попытка создать пользователя с невалидным паролем приведет к сообщению об ошибке:: @@ -151,12 +151,11 @@ __ https://pypi.python.org/pypi/docutils где-либо, а также можно клонировать `репозиторий проекта`__. После того как вы установите все нужные компоненты, вы сможете запустить -демонстрацию использую команду `robot`:: +демонстрацию используя команду `robot`:: robot QuickStart.rst -Если вы используете Robot Framework 2.9 или более старый, вместо команды `robot` -нужно будет использовать `pybot`:: +Если вы используете Robot Framework 2.9 или более старый, замените команду robot на `pybot`:: pybot QuickStart.rst @@ -174,7 +173,7 @@ __ https://github.com/robotframework/QuickStartGuide -------------------- Запуск демонстрационных тестов приведет к созданию трех файлов с отчетами. -Здесь ссылки ведут на уже готовые отчеты на сайте, а запуск демо-тестов +Эти ссылки ведут на уже готовые отчеты на сайте, а запуск демо-тестов приведет к созданию аналогичных файлов локально. `report.html `__ From dabbb30c8e2d4f9c9ffe20f10c8e6d2e10e77f1e Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 13:41:17 +0300 Subject: [PATCH 25/29] add more apple-blossom's fixes. --- QuickStart_RU.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 3146653..42f701c 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -295,8 +295,8 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development --------------------------- Все ключевые слова низкого уровня определяются в тестовых бибилотеках используя -стандартные языки программирования, обычно Python или Java. Robot Framework -доступен с множеством `тестовых библиотек`_, которые можно разделить на +стандартные языки программирования, обычно Python или Java. Для использования с +Robot Framework доступно множество `тестовых библиотек`_, которые можно разделить на *стандартные библиотеки*, *внешние библиотеки* и *пользовательские библиотеки*. `Стандартные библиотеки`_ распространяются вместе с ядром фреймворка и включают часто используемые библиотеки, такие как `OperatingSystem`, `Screenshot` и `BuiltIn`, @@ -328,7 +328,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Одна из наиболее сильных возможностей Robot Framework это способность легко создавать новые ключевые слова верхнего уровня из других ключевых слов. Синтаксис для создания *определяемых пользователем ключевых слов* или для краткости -*пользовательских ключевых слов* похож на ни синтаксис используемый для +*пользовательских ключевых слов* похож на синтаксис используемый для создания тестов. Все ключевые слова верхнего уровня, необходимые для предыдущего теста, задаются в этой таблице ключевых слов: @@ -373,7 +373,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Пользовательские ключевые слова могут включать действия, задаваемые другими пользовательскими или библиотечными ключевыми словами. Как видно из этого примера, пользовательские ключевые слова могут принимать параметры. Они также -могут возвращать значения и даже включать в себя циклы FOR. Но этом этапе +могут возвращать значения и даже включать в себя циклы FOR. На этом этапе для нас важно, что пользовательские ключевые слова позволяют авторам тестов создавать повторно используемые шаги для общих последовательностей действий. Пользовательские ключевые слова также могут помочь сделать тесты максимально @@ -387,7 +387,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Определение переменных ---------------------- -Переменные это неотьемлемая часть Robot Framework. Обычно, любые данные +Переменные — это неотъемлемая часть Robot Framework. Обычно, любые данные используемые в тестах и подверженные изменениям, будет лучше определить через переменные. Синтаксис определения пременных прост, как это видно в этой таблице с переменными: @@ -408,7 +408,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development robot --variable USERNAME:johndoe --variable PASSWORD:J0hnD0e QuickStart.rst -В дополнение к переменным, определяемым пользователем, всегда доступные и некоторые +В дополнение к переменным, определяемым пользователем, всегда доступны и некоторые встроенные пременные. Эти переменные включают `${TEMPDIR}` и `${/}` как это показано в примере выше. @@ -417,11 +417,11 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development В большинстве случаев, тестовые данные могут использовать переменные. Обычно они используются в качестве аргументов ключевых слов, как это показано в примере ниже. -Значения, отдаваемые ключевыми словами, также могут присваиваться переменным +Значения, возвращаемые ключевыми словами, также могут присваиваться переменным и использоваться далее. Напрмер, `пользовательское ключевое слово`_ `Database Should Contain` задает значение для переменной `${database}` и затем верифицирует содержимое -используя `встроенное ключевое слово`_ `Should Contain`. Оба, — и библиотечное, -и пользовательское — ключевых слова могут возвращать значения. +используя `встроенное ключевое слово`_ `Should Contain`. И библиотечные, и пользовательские +ключевые слова могут возвращать значения. .. _пользовательское ключевое слово: `Пользовательские ключевые слова`_ .. _встроенное ключевое слово: _Стандартные библиотеки From f6cdf7f163c9cbb951fc20a505c76559db8cf927 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 13:51:11 +0300 Subject: [PATCH 26/29] add more apple-blossom's fixes. --- QuickStart_RU.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 42f701c..1d533a7 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -253,7 +253,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Часто несколько тестовых сценариев бывают похожи друг на друга, за исключением разницы во входящих или исходящих данных. В таких случаях *data-driven тесты* позволяют -варьировать тестовые данные без дублирования выполняемых действий. С помошью настройки +варьировать тестовые данные без дублирования выполняемых действий. С помощью настройки `[Template]` Robot Framework превращает тестовые сценарии в тесты управляемые данными. Ключевое слово, используемое как шаблон, выполняется с использованием данных, определенных в теле тестового сценария: @@ -448,7 +448,7 @@ Contain` задает значение для переменной `${database}` Тестовые наборы --------------- -Собрание из нескольких тестовых сценариев называет в Robot Framework тестовым набором. +Коллекция из нескольких тестовых сценариев называется в Robot Framework тестовым набором. Каждый входной файл содержащий тестовые сценарии формирует тестовый набор. Когда вы `запускаем это руководство`__ вы видете тестовый набор `QuickStart` в выводе консоли. Это имя определятся названием файла и также будет видно в отчетах и журналах исполнения. @@ -466,11 +466,11 @@ __ `Запуск руководства как набора тестов`_ Если вы хотите запускать какие-либо ключевые слова перед или после каждого теста, используйте для этого настройки `Test Setup` и `Test Teardown` в таблице настроек. -Аналогично, вы может использовать настроки `Suite Setup` и `Suite Teardown` для запуска +Аналогично, вы может использовать настройки `Suite Setup` и `Suite Teardown` для запуска нужных ключевых слов перед и/или после выполнения всего тестового набора. Отдельные тесты также могут иметь собственные процедуры подготовки и завершения, -посредством настроек `[Setup]` и `[Teardown]` в таблмце натроек тестового сценария. +посредством настроек `[Setup]` и `[Teardown]` в таблице настроек тестового сценария. Это работает аналогично настройке `[Template]` которую мы рассматривали вместе с `data-driven тестами`__. @@ -491,7 +491,7 @@ __ `Тестирование на основе данных`_ В Robot Framework можно присваивать тестовым сценариям метки (tags), что позволяет свободно задавать метаданные для сценариев. Метки могуть быть установлены для всех сценариев в файле, с помошью настроек `Force Tags` и `Default Tags`, как в таблице ниже. Можно -также задавать метки для отдельных тестов использую натройку `[Tags]`, как это показано +также задавать метки для отдельных тестов используя натсройку `[Tags]`, как это показано ранее__ на примере теста `User status is stored in database` __ `Использование переменных`_ @@ -502,7 +502,7 @@ __ `Использование переменных`_ Force Tags quickstart Default Tags example smoke -Когда вы обратитесь к отчету после выполения тестов, вы увидете, что тесты получил +Когда вы обратитесь к отчету после выполения тестов, вы увидете, что тесты получили заданные метки и в отчете появилась статистика, связанная с метками. Метки также могут использоваться и во многих других случаях, один из важнейших — это выборочный запуск тестов. Для примера вы можете воспользоваться следующими командами:: From b533c092196fb79eaad0a3eebdec602c813f54fa Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 13:52:33 +0300 Subject: [PATCH 27/29] add typo fixes. --- QuickStart_RU.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 1d533a7..2278ccf 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -491,7 +491,7 @@ __ `Тестирование на основе данных`_ В Robot Framework можно присваивать тестовым сценариям метки (tags), что позволяет свободно задавать метаданные для сценариев. Метки могуть быть установлены для всех сценариев в файле, с помошью настроек `Force Tags` и `Default Tags`, как в таблице ниже. Можно -также задавать метки для отдельных тестов используя натсройку `[Tags]`, как это показано +также задавать метки для отдельных тестов используя настройку `[Tags]`, как это показано ранее__ на примере теста `User status is stored in database` __ `Использование переменных`_ From 8cc9d0cd81aa6fa69a7cabab29a3f3dad8763763 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 14:27:12 +0300 Subject: [PATCH 28/29] add translation fix. --- QuickStart_RU.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 2278ccf..211934f 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -254,7 +254,7 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development Часто несколько тестовых сценариев бывают похожи друг на друга, за исключением разницы во входящих или исходящих данных. В таких случаях *data-driven тесты* позволяют варьировать тестовые данные без дублирования выполняемых действий. С помощью настройки -`[Template]` Robot Framework превращает тестовые сценарии в тесты управляемые данными. +`[Template]` Robot Framework превращает тестовые сценарии в тесты, управляемые данными. Ключевое слово, используемое как шаблон, выполняется с использованием данных, определенных в теле тестового сценария: @@ -272,10 +272,10 @@ __ http://en.wikipedia.org/wiki/Behavior_driven_development В дополнение к настройке `[Template]` для отдельных тестов, возможно также использовать общую настройку `Test Template`, указав ее однажды в таблице настроек, такой как -`setups and teardowns`_ (рассматривается ниже). В нашем случае проще было создать -отдельные тесты для невалидной длины пароля и для сценариев с другими невалидными -данными. Тем не менее, это потребовало вынести эти тесты в отдельный файл, иначе этот -шаблон был бы применен и другим тестам в этом файле. +`setups and teardowns`_ (рассматривается ниже). В нашем случае было бы проще создать отдельные +тесты со своими названиями для невалидной длины пароля и для сценариев с другими невалидными +данными. Однако, тогда потребовалось бы вынести эти тесты в отдельный файл, поскольку иначе +шаблон был бы применен и к другим тестам в этом файле. Обратите также внимание, что сообщения об ошибках в этом примере задаются с использованием переменных_. From 45e1ef587e31c9d94377143e83bcb007695c0753 Mon Sep 17 00:00:00 2001 From: victorkaplunov Date: Tue, 15 Dec 2020 15:50:52 +0300 Subject: [PATCH 29/29] add style fix. --- QuickStart_RU.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QuickStart_RU.rst b/QuickStart_RU.rst index 211934f..d0e12ea 100644 --- a/QuickStart_RU.rst +++ b/QuickStart_RU.rst @@ -519,8 +519,8 @@ Robot Framework предлагает несложный API для создан Как пример, мы можем рассмотреть тестовую бибилотеку `LoginLibrary` из демонстрационного примера. Библиотека находится каталоге ``_, и ее исходный код -продублирован ниже. Посмотрите в код и вы сможете увидеть, например, как ключевое слово -`Create User` соотноситься с реализацией метода `create_user`. +продублирован ниже. Глядя на код вы сможете увидеть, например, как ключевое слово +`Create User` соотносится с реализацией метода `create_user`. .. code:: python