Skip to content

Commit

Permalink
Small changes
Browse files Browse the repository at this point in the history
Updated library versions
Small updates + fixed typos in documentation
Changed headless to false for demos project
Removed justtestlah-demos from parent module
Removed unused jitpack repository
  • Loading branch information
martinschneider committed Jan 28, 2020
1 parent efdf346 commit de067f4
Show file tree
Hide file tree
Showing 13 changed files with 46 additions and 46 deletions.
2 changes: 1 addition & 1 deletion justtestlah-applitools/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-awsdevicefarm/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-browserstack/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-demos/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
<artifactId>justtestlah-applitools</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<dependency>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-galen</artifactId>
<version>${project.version}</version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ eyes.apiKey=
# WEB settings
web.baseUrl=https://www.stackoverflow.com
web.browser=chrome
web.headless=true
web.headless=false


# MOBILE settings
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-galen/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-mobile-tools/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-quickstart/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<artifactId>justtestlah-quickstart</artifactId>
<name>JustTestLah! Quickstart</name>
Expand Down
2 changes: 1 addition & 1 deletion justtestlah-visual/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<parent>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
</parent>
<licenses>
<license>
Expand Down
35 changes: 15 additions & 20 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>qa.justtestlah</groupId>
<artifactId>justtestlah-parent</artifactId>
<version>1.8-RC1</version>
<version>1.8-SNAPSHOT</version>
<name>JustTestLah!</name>
<packaging>pom</packaging>
<description>JustTestLah! is a JAVA test framework targeting projects that support multiple platforms, in particular Web, Android and iOS. It follows a BDD approach and allows testing against all platforms using the same feature files. JustTestLah's main aim is to make the configuration and the actual test code as easy as possible.</description>
Expand Down Expand Up @@ -52,7 +52,6 @@
</licenses>
<modules>
<module>justtestlah-core</module>
<module>justtestlah-demos</module>
<module>justtestlah-mobile-tools</module>
<module>justtestlah-awsdevicefarm</module>
<module>justtestlah-browserstack</module>
Expand All @@ -62,10 +61,6 @@
<module>justtestlah-visual</module>
</modules>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<repository>
<id>sonatype-nexus-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
Expand All @@ -91,18 +86,18 @@
</pluginRepositories>
<properties>
<!-- Version properties -->
<spring.version>5.2.2.RELEASE</spring.version>
<spring.boot.version>2.2.2.RELEASE</spring.boot.version>
<spring.version>5.2.3.RELEASE</spring.version>
<spring.boot.version>2.2.4.RELEASE</spring.boot.version>
<appium.version>7.3.0</appium.version>
<selenium.version>3.141.59</selenium.version>
<selenide.version>5.6.0</selenide.version>
<cucumber.version>5.0.0-RC3</cucumber.version>
<selenide.version>5.6.1</selenide.version>
<cucumber.version>5.1.2</cucumber.version>
<wiremock.version>2.25.1</wiremock.version>
<opencv.version>3.4.2-1</opencv.version>
<tess4j.version>4.1.1</tess4j.version>
<applitools.version>3.158.9</applitools.version>
<applitools.version>3.159.0</applitools.version>
<galen.version>2.4.4</galen.version>
<junit.version>5.6.0-M1</junit.version>
<junit.version>5.6.0</junit.version>
<junit.vintage.version>4.12</junit.vintage.version>
<slf4j.version>2.0.0-alpha1</slf4j.version>
<logback.version>1.3.0-alpha4</logback.version>
Expand All @@ -111,12 +106,12 @@
<snakeyaml.version>1.25</snakeyaml.version>
<dd.plist.version>1.23</dd.plist.version>
<apk.parser.version>2.6.10</apk.parser.version>
<zip4j.version>2.2.8</zip4j.version>
<bytebuddy.version>1.10.6</bytebuddy.version>
<zip4j.version>2.3.1</zip4j.version>
<bytebuddy.version>1.10.7</bytebuddy.version>
<gson.version>2.8.6</gson.version>
<jersey.version>2.29.1</jersey.version>
<apache.http.components.version>4.5.10</apache.http.components.version>
<apache.http.components.core.version>4.4.12</apache.http.components.core.version>
<jersey.version>2.30</jersey.version>
<apache.http.components.version>4.5.11</apache.http.components.version>
<apache.http.components.core.version>4.4.13</apache.http.components.core.version>
<apache.commons.version>3.9</apache.commons.version>
<commons.collections.version>4.4</commons.collections.version>
<maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
Expand Down Expand Up @@ -146,11 +141,11 @@
<maven.surefire.plugin.version>3.0.0-M4</maven.surefire.plugin.version>
<wagon.ssh.version>3.3.4</wagon.ssh.version>
<cluecumber.report.plugin.version>2.3.1</cluecumber.report.plugin.version>
<checkstyle.version>8.28</checkstyle.version>
<classgraph.version>4.8.59</classgraph.version>
<checkstyle.version>8.29</checkstyle.version>
<classgraph.version>4.8.60</classgraph.version>
<fmt.version>2.9</fmt.version>
<jsch.version>0.1.55</jsch.version>
<aws.sdk.version>1.11.700</aws.sdk.version>
<aws.sdk.version>1.11.714</aws.sdk.version>
<aopalliance.version>2.6.1</aopalliance.version>
<jackson.version>2.10.2</jackson.version>
<guava.version>28.2-jre</guava.version>
Expand Down
21 changes: 11 additions & 10 deletions src/site/markdown/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
> 🇸🇬 lah ([Singlish](https://en.wikipedia.org/wiki/Singlish)) - Placed at the end of a phrase or sentence either for emphasis or reassurance.
JustTestLah! is a JAVA test framework. It follows a [BDD](https://martinfowler.com/bliki/GivenWhenThen.html) approach and allows testing on different platforms (Android, iOS and Web) using the same test scenarios. JustTestLah's main aim is to make the configuration as easy and the test code as simple, readable and maintainable as possible.
JustTestLah! is an end-to-end UI testing framework for mobile and web applications. It follows a [BDD](https://martinfowler.com/bliki/GivenWhenThen.html) approach and allows testing on different platforms (Android, iOS and Web) using the same test scenarios. JustTestLah's main aim is to make the configuration as easy and the test code as simple, readable and maintainable as possible.

JustTestLah! is based on [Selenium](https://www.seleniumhq.org) and [Appium](https://www.appium.io).

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
Expand Down Expand Up @@ -42,15 +44,14 @@ JustTestLah! is a JAVA test framework. It follows a [BDD](https://martinfowler.c
<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Getting started
Pull the repo and run the demo (a set of simple "tests" for Stackoverflow):
Pull the repo and run the demo (a set of simple tests for Stackoverflow):

```bash
git clone https://github.com/martinschneider/justtestlah.git
mvn -pl justtestlah-demos test
cd justtestlah-demos
mvn test
```

This runs the JustTestLah! demo using Chrome in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). Set `web.headless=false` in `justtestlah-demos/src/test/resources` to change this.

### justtestlah.properties
The file `justtestlah.properties` holds all parameters required for a test run and is the only source of configuration which needs to be specified. It will be loaded from the classpath by default, but it is recommended to explicitly pass its path as a system property:

Expand All @@ -76,22 +77,22 @@ steps.package=
pages.package=
```

Each run will execute tests for one platform only. Let's see how we can run the Android demo next.
Each run will execute tests for a single platform. Let's see how we can run the Android demo next.

### Android demo

To test a mobile app you need to setup [Appium](https://appium.io) and [start an Appium server](http://appium.io/docs/en/about-appium/getting-started). Make sure that there is at least one physical or virtual (Android emulator or iPhone simulator) device connected. Then simply execute the tests by setting `platform=android` in your JustTestLah! properties file. This is the only difference to the configuration for Web.
To test a mobile app you need to setup [Appium](https://appium.io) and [start an Appium server](http://appium.io/docs/en/about-appium/getting-started). Make sure there is at least one physical or virtual (Android emulator or iPhone simulator) device connected. Then simply execute the tests by setting `platform=android` in your JustTestLah! properties file. This is the only difference to the configuration for the web test. The Stackoverflow APK file can be found [here](https://apkpure.com/stackoverflow/com.app.infytechnics.stackoverflow).

### iOS demo

There is currently no public demo for iOS available. This is mostly because app packages (builds for the iPhone simulator) for any interesting real-world application are not readily available and [ipa builds need to be resigned to play nicely with Appium](http://appium.io/docs/en/drivers/ios-xcuitest-real-devices). If you want to contribute a demo, [please conatct me](mart.schneider@gmail.com).
There is currently no public demo for iOS. This is mostly because app packages (builds for the iPhone simulator) for any interesting real-world application are not readily available and [ipa builds need to be re-signed to play nicely with Appium](http://appium.io/docs/en/drivers/ios-xcuitest-real-devices). If you want to contribute a demo, [please conatct me](mart.schneider@gmail.com).

That said, using JustTestLah! can be (and has been) used to automate iOS apps.
That said, JustTestLah! can be ([and has been](https://www.youtube.com/watch?v=maJkvP_qk4A)) used to automate iOS apps.

### Available demos
There are a couple of demos available under the `justtestlah-demos` module. The default one uses [Stackoverflow](https://stackoverflow.com) and comes in flavours for `web` and `android` (upvote [this question](https://meta.stackoverflow.com/questions/365573/is-there-a-version-of-the-stack-overflow-app-for-the-ios-simulator) to help us get access to an iOS version.

Which tests get executed depends on the `features.dierctory` property:
Which tests get executed depends on the `features.directory` property:

```ini
# The path to the Cucumber feature files
Expand Down
16 changes: 10 additions & 6 deletions src/site/resources/js/site.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
/* some formatting hacks */
$(function() {
$("div.well.sidebar-nav").remove();
$("body>hr").remove();
// fix ToC links
$("a").each(function(){
var oldName=$(this).attr("name");
if (oldName!=undefined)
{
var newName=oldName.replace(new RegExp("_", "g"), "-").replace(new RegExp("2[0-9,a-f,A-F]|\\.", "g"),"").toLowerCase();
$(this).attr("name", newName);
}
var oldName=$(this).attr("name");
if (oldName!=undefined)
{
var newName=oldName.replace(new RegExp("_", "g"), "-")
.replace(new RegExp("2[0-9,a-f,A-F]|\\.|:", "g"),"")
.toLowerCase();
$(this).attr("name", newName);
}
});
document.title="JustTestLah! (JTL) test framework";
});

0 comments on commit de067f4

Please sign in to comment.