You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/intro.md
+19-23Lines changed: 19 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,18 @@
2
2
sidebar_position: 1
3
3
---
4
4
5
-
# Get Started
5
+
# 💡 Getting Started
6
6
7
-
## @qavajs 2 is available - [(view changes)](./v2.md)
7
+
The **qavajs**is a modular test automation framework designed to minimize setup time and streamline the development of test scripts. It incorporates the best test automation tools and practices into a single whole. The framework achieves efficiency through its built-in page object engine and ready-to-use sets of domain-agnostic step definitions suitable for both API and UI testing of the web and native mobile applications. Additionally, **qavajs** provides out of the box integration with ReportPortal, Mobitru, and the Xray and many more.
8
8
9
-
https://qavajs.github.io/
9
+
Next, you will be shown how to build your own low-code test automation framework with the **qavajs**.
10
10
11
-
@qavajs framework is a framework to significantly reduces test automation project setup time due to a set of predefined steps, built-in page object solution, and OOB integrations with other test-related stuff (like EPAM ReportPortal etc.)
12
-
11
+
### 📦 Installation from scratch
12
+
Once you have set up a clear Node.js project, run the command `npm init @qavajs` to launch the CLI application. This will configure qavajs and install the necessary modules for your testing purposes. After the process is completed, a config.ts (or config.js) file will be generated in the project's root directory, which will be used to configure test execution.
13
+
14
+
### 👨💻 Test development
15
+
As the **qavajs** based on the Cucumber the test scripts are written in [Gherkin](https://cucumber.io/docs/gherkin/reference/) language of both built-in steps and those you will create yourself.
16
+
With years of experience across various domains, we have implemented [numerous packages](https://github.com/orgs/qavajs/repositories?q=steps&type=all) of step definitions that you can utilize.
13
17
```gherkin
14
18
Feature: Wikipedia
15
19
@@ -28,24 +32,16 @@ Feature: Wikipedia
28
32
| JavaScript |
29
33
| Java |
30
34
```
31
-
### Installation from scratch
32
-
`npm init @qavajs`
33
-
34
-
and select modules to install. The system will generate a config file based on your answers.
35
-
36
-
### Test execution
37
-
`npx qavajs run --config <config> --profile <profile>`
It is worth mentioning the expression **'$wikipediaUrl'** in the example above starting with '**\$**' interpreted as a **qavajs** memory variable whose value is taken from the Memory class instance in runtime. [More details](https://qavajs.github.io/docs/Guides/memory).
36
+
Another feature is a locator alias expression like **'Wikipedia > Search Input'** separated by the '**\>**' sign that describes hierarchic page structure. See how [to organize your page object](https://qavajs.github.io/docs/Guides/page-object-v2).
|`defaultTimeout`|`number`| default timeout for step definitions | 10000 |
48
-
|`services`|`[]`| list of services to run before/after tests (setup/teardown selenium, appium etc.) |[]|
49
-
|`memory`|`object`| instance of memory object with loaded constants and computed | {} |
38
+
### 🛠️ Configuration
39
+
In addition to the default features of Cucumber [config file](https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md#options) the **qavajs** config implements following [capabilities](https://github.com/qavajs/core/blob/main/src/IQavajsConfig.ts) to provide the advanced flexibility.
50
40
41
+
### 🔬 Test execution
42
+
If you have the basic config `npx qavajs` will launch test execution.
43
+
To specify custom path to the config file use `npx qavajs run --config <config>`.
44
+
In case if your config exports an object with multiple properties, you can specify which property to read `npx qavajs run --profile <profile>`.
0 commit comments