Skip to content

Commit

Permalink
new features' documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
MiriamKyoseva committed Jul 9, 2024
1 parent b86eb5e commit 99105a9
Show file tree
Hide file tree
Showing 10 changed files with 853 additions and 631 deletions.
20 changes: 15 additions & 5 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ navigation:
title: JavaScript Service
# "interactions-service":
# title: Interactions Service
"web-components":
title: Web Components
# "complex-controls":
# title: Complex Controls
"simple-components":
title: Simple Components
"complex-components":
title: Complex Components
"normal-assertions":
title: Normal Assertions
"validate-assertions":
Expand Down Expand Up @@ -147,6 +147,8 @@ navigation:
title: Playwright
"selenium-vs-playwright":
title: Selenium vs Playwright
"shadow-dom":
title: Shadow DOM Automation
"android-automation":
title: Android
submenu:
Expand Down Expand Up @@ -405,4 +407,12 @@ navigation:
"mailslurp":
title: Email Testing - Mailslurp
"testmail":
title: Email Testing - Testmail
title: Email Testing - Testmail
"jira-zephyr":
title: Jira Zephyr Integration
"twilio":
title: Twilio Integration
"visual-regression-tracker":
title: Visual Regression Tracker Integration
"healenium":
title: Healenium Integration
18 changes: 18 additions & 0 deletions docs/product-integrations/healenium.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
layout: default
title: "Healenium Integration"
excerpt: "Learn how to use Healenium inside your BELLATRIX tests"
date: 2024-07-04 16:40:00 +0200
parent: product-integrations
permalink: /product-integrations/healenium/
anchors:
what-is-healenium: What Is Healenium?
usage: Usage
---
What Is Healenium?
------------------
**[Healenium](https://github.com/healenium/healenium)** is an open-source library designed to enhance automated testing frameworks by providing self-healing capabilities for Selenium-based tests. It helps maintain the robustness of test scripts by dynamically updating locators when they change, reducing the need for manual maintenance.

Usage
------------------
To use Healenium self-healing capabilities for your BELLATRIX Selenium tests, simply state in the config file, in the web section, as **executionType** "healenium".
67 changes: 67 additions & 0 deletions docs/product-integrations/jira-zephyr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
layout: default
title: "Jira Zephyr"
excerpt: "Learn how to integrate BELLATRIX tests with Jira Zephyr Plugin."
date: 2024-07-04 16:40:00 +0200
parent: product-integrations
permalink: /product-integrations/jira-zephyr/
anchors:
what-is-jira-zephyr: What Is Jira Zephyr?
usage: Usage
config: Config
---
What Is Jira Zephyr?
------------------
The **[Jira Zephyr](https://smartbear.com/test-management/zephyr-squad/)** plugin is an add-on for Jira that enhances its capabilities for test management. Zephyr, integrated within Jira, provides tools for creating, managing, and executing test cases directly within the Jira environment.

Usage
------------------
When we have BELLATRIX tests which correspond to zephyr test cases inside jira and we want to automatically create test cycles when the tests are executed, the jira-zephyr plugin of BELLATRIX proves handy.

To use this plugin, we first need to import it to our test module. After that, we must register it.

```java
@Override
protected void configure() {
super.configure();
addPlugin(ZephyrPlugin.class);
}
```

We can annotate the test class with the ```@ZephyrProjectId```.

```java
@ZephyrProjectId("BELLATRIX")
public class JiraZephyrTests {
// code
}
```

Then, we simply annotate our tests with their respective test case ids with ```@ZephyrTestCase```.

```java
@ZephyrTestCase(id = "B-12")
@Test
public void testingJiraZephyrIntegration() {
// code
}
```

One can customize the plugin through the config.

Config
------------------
The settings section in the config file must look like this:
```JSON
"zephyrSettings": {
"isEnabled": "true",
"apiUrl": "insert/the/url/of/the/api",
"token": "insert the token generated from jira zephyr",
"defaultProjectKey": "insert the default project's key to be used, if not defined in the test class or test case",
"isExistingCycle": "insert false to generate new test cycle, insert true and provide in the test class or test case the id of the existing test cycle",
"testCycleName": "insert the name of the test cycle to be created",
"cycleFinalStatus": "insert the final status of the cycle"
}
```

Mandatory settings are the ```isEnabled```, ```apiUrl```, and ```token```. If you define ```isExistingCycle``` as true, ```testCycleName``` may be omitted.
24 changes: 20 additions & 4 deletions docs/product-integrations/product-integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,32 @@ The quality assurance practices such as automated tests usually do not consist o

### Allure ###
Allure Framework is a flexible, lightweight multi-language test report tool that not only shows a very concise representation of what has been tested in a neat web report form. Allure reports shorten common defect lifecycle: test failures can be divided into bugs and broken tests, also logs, steps, fixtures, attachments, timings, history, and integrations with TMS and bug-tracking systems.
[**Learn more**](/allure-test-results.md)
[**Learn more**](allure-test-results)

### ReportPortal ###
ReportPortal is a service, that provides increased capabilities to speed up results analysis and reporting through the use of built-in analytic features. ReportPortal is a great addition to the Continuous Integration and Continuous Testing process.
[**Learn more**](/reportportal-test-results.md)
[**Learn more**](reportportal-test-results)

### AWS Services ###
We offer many integrations with Amazon cloud such as Secrets Manager, S3 Cloud Storage and Rekognition for validating PDFs.
[**Learn more**](/aws-s3.md)
[**Learn more**](aws-s3)

### Email Testing Services ###
BELLATRIX comes with a few integrations for testing emails and using them for building more maintainable tests via creating stable test data. We have utilities for Mailslurp and Testmail.
[**Learn more**](/mailslurp.md)
[**Learn more**](mailslurp)

### Jira Zephyr Integration ###
BELLATRIX offers integration with Jira Zephyr for logging tests' results.
[**Learn more**](jira-zephyr)

### Twilio Integration ###
BELLATRIX offers integration with Twilio for SMS testing.
[**Learn more**](twilio)

### Visual Regression Tracker Integration ###
BELLATRIX offers integration with Visual Regression Tracker to analyze and compare to a specified baseline the UI of any software product at any specific point during testing.
[**Learn more**](visual-regression-tracker)

### Healenium Integration ###
BELLATRIX offers integration with Healenium to self-heal Selenium locators for your web tests.
[**Learn more**](healenium)
56 changes: 56 additions & 0 deletions docs/product-integrations/twilio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
layout: default
title: "Twilio SMS Integration"
excerpt: "Learn how to test SMS using Twilio with BELLATRIX"
date: 2024-07-04 16:40:00 +0200
parent: product-integrations
permalink: /product-integrations/twilio/
anchors:
what-is-twilio: What Is Twilio?
usage: Usage
config: Config
---
What Is Twilio?
------------------
**[Twilio](https://www.twilio.com/)** is a cloud communications platform that enables developers to build, scale, and operate real-time communications within their applications. Founded in 2008, Twilio offers various APIs to facilitate communication services, including voice, video, and messaging.

Twilio's SMS services are among its most popular offerings, allowing businesses to send and receive text messages globally.

Usage
------------------

The Twilio SMS API is exposed through an **SmsService** in BELLATRIX. To access it, you must include the bellatrix.sms module as a dependency.
**SmsService** class is an utility class and contains only static methods. Another class is **SmsListener**.

Here are some examples usages of the twilio integration in BELLATRIX:
```java
var authenticationSmsListener = SmsService.listenForSms(fromNumber);
// code which will trigger an sms to be sent to the phone number you have specified inside the config file
var authenticationMessage = authenticationSmsListener.getFirstMessage();
authenticationSmsListener.stopListening(); // we stop listening for messages as we have already received the message we need
```
We start listening for messages from the number we are expecting a message from, we wait for the message to be received and then we get it.

```java
var allMessages = authenticationSmsListener.getMessages();
```
Get all messages.
```java
var filteredMessages = authenticationSmsListener.getMessage(m -> m.getBody().contains("code"));
```
Filter messages.
```java
var lastMessage = authenticationSmsListener.getLastMessage();
```
Get last message.

Config
------------------
The settings section in the config file must look like this:
```JSON
"twilioSettings": {
"accountSID": "insert your account SID",
"authToken": "insert your auth token",
"phoneNumber": "insert the phone number which will be used by your tests"
}
```
40 changes: 40 additions & 0 deletions docs/product-integrations/visual-regression-tracker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
layout: default
title: "Visual Regression Tracker Integration"
excerpt: "Learn how to use Visual Regression Tracker inside your BELLATRIX tests"
date: 2024-07-04 16:40:00 +0200
parent: product-integrations
permalink: /product-integrations/visual-regression-tracker/
anchors:
what-is-visual-regression-tracker: What Is Visual Regression Tracker?
usage: Usage
config: Config
---
What Is Visual Regression Tracker?
------------------
**[Visual Regression Tracker](https://github.com/Visual-Regression-Tracker/Visual-Regression-Tracker)** (VRT) is a tool used in software testing to detect visual changes in a web application's user interface. It captures screenshots of web pages and compares them with baseline images to identify any unintended visual differences. This is particularly useful for ensuring that updates or changes to code do not introduce visual bugs.

Usage
------------------
To use VRT inside your BELLATRIX tests simply add bellatrix.addons.visual-regression-tracker as a dependency. After that, you can use VRT to track the UI in specific points in your tests like this:

```java
VisualRegressionTracker.takeSnapshot(name);
```

It will automatically take a screenshot and send it to VRT server for analyzing.

Config
------------------
The settings section in the config file must look like this:
```JSON
"visualRegressionTrackerSettings ": {
"apiUrl": "insert your api url",
"project": "insert your project",
"apiKey": "insert your api key",
"branch": "insert your branch",
"enableSoftAssert": "true",
"ciBuildId": "insert your ci build id",
"httpTimeout": "10"
}
```
Loading

0 comments on commit 99105a9

Please sign in to comment.