Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/java-archive/vaadin-testbench-ng

This project is now the original Testbench from vaadin. Project will be developed there.
https://github.com/java-archive/vaadin-testbench-ng

java10 java11 java8 java9 junit5 pro-tools ruppert selenium selenoid sven tdd testbench vaadin vaadin10 vaadin8

Last synced: 2 days ago
JSON representation

This project is now the original Testbench from vaadin. Project will be developed there.

Awesome Lists containing this project

README

        


# Vaadin Testbench NG

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.rapidpm/rapidpm-vaadin-testbench-ng/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.rapidpm/rapidpm-vaadin-testbench-ng)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f5618612173a4702998a432037965073)](https://www.codacy.com/project/sven-ruppert/vaadin-testbench-ng/dashboard?utm_source=github.com&utm_medium=referral&utm_content=vaadin-developer/vaadin-testbench-ng&utm_campaign=Badge_Grade_Dashboard)

## 00.07.07-RPM
* removed the initializer implementations
The Container (SpringBootV1/V2, Meecrowave, ...) are not fast enough following the last JDKs
Additionally, the most projects needs more sprecialized Conatiners / infrastructure
* removed test/demo apps into a separate project

## 00.07.06-RPM
* version updates

## 00.07.05-RPM
* added the vXX packages for the latest Vaadin version

## 00.07.04-RPM
* switched to new version numbers format
To make search/replace easier, I started with a new version format.
00.07.04-RPM ( -SNAPSHOT). The x.y.z is used in the same way, as before, but added RPM
and leading zeros to make this format different from others.
With this it is less possible to mix/change version numbers from
other dependencies. A **0.7.4** could be used from different
dependencies. ;-)

## SHORT DEVELOPER INFOS ##

### Module - junit5

### Module - container

### Module -

This ist the first version of my TestBench Add On. **TestBench** is
from [https://vaadin.com/](https://vaadin.com/) and could
be found here [https://vaadin.com/testbench](https://vaadin.com/testbench).

To use/try Vaadin TestBench you can get
a License / Trail here : [https://vaadin.com/pro/licenses](https://vaadin.com/pro/licenses)
and if you are using TestBench for an Open Source Project you can apply for
an Open Source License.

The basic documentation about TestBench for Vaadin 8
is here [https://vaadin.com/docs/testbench/testbench-overview.html](https://vaadin.com/docs/testbench/testbench-overview.html)

## Target of this Add On
The target for this project is the
optimized handling of the webdrivers and PageObject-Pattern
to write effective and compact tests
with jUnit5 , TestBench and different Selenium Implementations.

A few different ways of writing Junit Tests for Vaadin Apps
you can find here : [https://github.com/vaadin-developer/testbench-jumpstart](https://github.com/vaadin-developer/testbench-jumpstart)

As mentioned before, the documentation is not ready until now.
Have a look at the tests or better, ask me ;-)

email: [mailto:[email protected]](mailto:[email protected])
Twitter: [https://twitter.com/SvenRuppert](https://twitter.com/SvenRuppert)

## Configuration
The Add on is configured by a bunch of files. You have to place them in a folder called `.testbenchextension` is folder can be located at different places:
1. The root of the classpath
1. The current work directory
1. The users home directory
1. In a directory specified by the property `rapidm.configlocation`

Properties defined in the higher locations override properties the lower one.

Templates for the configuration are placed in the `.testbenchextentsions` directories in the modules.

## Selenoid in Docker
Selenoid is a nice alternative for Selenium-Hub written in GO.
Give it a try and check the githup repo here : [https://github.com/aerokube/selenoid](https://github.com/aerokube/selenoid)
One easy way of using it, will be based on Docker.

This is needed to manage the driver images

```bash
docker pull aerokube/cm:latest
docker pull selenoid/hub
docker pull selenoid/video-recorder
docker pull selenoid/phantomjs:2.1.1
```

This is needed to pull the docker images for the last 4 versions of the declared browsers.

````bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v `pwd`/selenoid/config:/root/.aerokube/selenoid/ \
aerokube/cm:latest \
selenoid configure \
--tmpfs 128 \
--browsers chrome,firefox,opera,phantomjs \
--last-versions 4
````

To reconfigure the browsers.json, delete the file in the folder
selenoid/browsers.json and container.

start the selenoid hub

```bash
docker run --rm -d --name selenoid \
-p 4444:4444 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v `pwd`/_data/selenoid/config/:/etc/selenoid/:ro \
-v `pwd`/_data/selenoid/video/:/opt/selenoid/video/ \
-e OVERRIDE_VIDEO_OUTPUT_DIR=`pwd`/_data/selenoid/video/ \
aerokube/selenoid:latest-release
```

start the ui for selenoid if you want, not needed

```bash
docker run --rm -d --name selenoid-ui --link selenoid \
-p 8080:8080 aerokube/selenoid-ui \
--selenoid-uri=http://selenoid:4444
```