Skip to content

Commit 90615a1

Browse files
authored
get-started (#89)
1 parent aa22494 commit 90615a1

File tree

1 file changed

+19
-23
lines changed

1 file changed

+19
-23
lines changed

docs/intro.md

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22
sidebar_position: 1
33
---
44

5-
# Get Started
5+
# 💡 Getting Started
66

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.
88

9-
https://qavajs.github.io/
9+
Next, you will be shown how to build your own low-code test automation framework with the **qavajs**.
1010

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.
1317
```gherkin
1418
Feature: Wikipedia
1519
@@ -28,24 +32,16 @@ Feature: Wikipedia
2832
| JavaScript |
2933
| Java |
3034
```
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>`
38-
39-
- default config is cucumber.js
40-
- default profile is default
41-
42-
### Config file
43-
Config file extends Cucumber [config file](https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md#options):
35+
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).
4437

45-
| Name | Type | Description | Default |
46-
|------------------|----------|-----------------------------------------------------------------------------------|---------|
47-
| `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.
5040

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>`.
5145

46+
### 📘 Extra
47+
[Code Examples](https://github.com/qavajs/demo)

0 commit comments

Comments
 (0)