Paco (the page content tester)

A framework for non-blocking and highly parallelized Dom testing.

License

License

GroupId

GroupId

io.github.christian-draeger
ArtifactId

ArtifactId

page-content-tester
Last Version

Last Version

1.8.6
Release Date

Release Date

Type

Type

jar
Description

Description

Paco (the page content tester)
A framework for non-blocking and highly parallelized Dom testing.
Source Code Management

Source Code Management

https://github.com/christian-draeger/page-content-tester/tree/master

Download page-content-tester

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.christian-draeger/page-content-tester/ -->
<dependency>
    <groupId>io.github.christian-draeger</groupId>
    <artifactId>page-content-tester</artifactId>
    <version>1.8.6</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.christian-draeger/page-content-tester/
implementation 'io.github.christian-draeger:page-content-tester:1.8.6'
// https://jarcasting.com/artifacts/io.github.christian-draeger/page-content-tester/
implementation ("io.github.christian-draeger:page-content-tester:1.8.6")
'io.github.christian-draeger:page-content-tester:jar:1.8.6'
<dependency org="io.github.christian-draeger" name="page-content-tester" rev="1.8.6">
  <artifact name="page-content-tester" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.christian-draeger', module='page-content-tester', version='1.8.6')
)
libraryDependencies += "io.github.christian-draeger" % "page-content-tester" % "1.8.6"
[io.github.christian-draeger/page-content-tester "1.8.6"]

Dependencies

compile (9)

Group / Artifact Type Version
org.jsoup : jsoup jar 1.10.3
com.googlecode.junit-toolbox : junit-toolbox jar 2.4
junit : junit jar 4.12
org.projectlombok : lombok jar 1.16.20
org.json : json jar 20171018
ch.qos.logback : logback-classic jar 1.2.3
org.apache.commons : commons-lang3 jar 3.7
org.fusesource.jansi : jansi jar 1.16
org.mockito : mockito-core jar 2.13.0

test (3)

Group / Artifact Type Version
com.github.stephenc.jcip : jcip-annotations jar 1.0-1
org.assertj : assertj-core jar 3.9.0
org.awaitility : awaitility-proxy jar 3.0.0

Project Modules

There are no modules declared in this project.

Introduction

Paco is a Java based framework for non-blocking and highly parallelized Dom testing.

why?

The motivation to bring this little savvy guy to life was the need to have a robust and fast solution to relieve a long-running and unstable Selenium suite. After a code dive through these Selenium tests it turned out that many of them only checked things (like Dom elements, displayed data, cookies, etc.) without interacting with a web browser.

Benefits

Speed

Paco is doing his job rapidly fast and reliable. In a bigger test project where this framework is in use it runs ~400 tests in less than 10 seconds. When using Paco you can focus on your tests itself instead of messing around with setting up a complex test project yourself.

Convenient Config

Paco allows you to configure all your test specific data individually and directly in place (on your test method and/or test class) via annotations. You only need to describe how you want to fetch an http response (e.g. requesting a web page by using a proxy, mobile userAgent, setting cookies, add a specific referrer, doing a POST that sends some request body, etc).

Readability and Focus

Due to the given convenient methods regarding response relevant data and using the provided jUnit rule, you'll end up with nicely readable and easy to write tests without boilerplate code.

Versions

Version
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.1
1.4
1.3
1.0.2
1.0.1
1.0