Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
0000697
Merge pull request #313 from xdev-software/master
AB-xdev Jul 14, 2026
ebdb60b
Update CONTRIBUTING.md
AB-xdev Jul 14, 2026
4dc1db8
Update CONTRIBUTING.md
AB-xdev Jul 14, 2026
7b50faa
Merge branch 'develop' into update-from-template-github_com_xdev-soft…
xdev-gh-bot Jul 14, 2026
4fb1a7e
Delete .idea/PMDPlugin.xml
AB-xdev Jul 22, 2026
fc631b2
Delete .idea/PMDPlugin.xml
AB-xdev Jul 22, 2026
8e9182d
Prevent creating variants of Util classes like "DBUtils" or "DBUtility"
AB-xdev Jul 22, 2026
64ac2fe
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Jul 22, 2026
475bf92
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Jul 22, 2026
5087ab7
Merge branch 'develop' into update-from-template-github_com_xdev-soft…
xdev-gh-bot Jul 22, 2026
74e4ed9
Update dependency com.mycila:license-maven-plugin to v5.1.1
xdev-renovate Jul 23, 2026
df60de3
Update dependency org.codehaus.mojo:flatten-maven-plugin to v1.8.0
xdev-renovate Jul 25, 2026
ae1b427
Disable UnusedTryResourceShouldBeUnnamed
AB-xdev Jul 27, 2026
0affd00
Merge pull request #291 from xdev-software/renovate/com.mycila-licens…
AB-xdev Jul 27, 2026
20f0f17
Merge pull request #293 from xdev-software/renovate/org.codehaus.mojo…
AB-xdev Jul 27, 2026
aa801bf
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Jul 27, 2026
84bd1eb
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Jul 27, 2026
eaa7a17
Update dependency com.puppycrawl.tools:checkstyle to v13.9.0
xdev-renovate Jul 27, 2026
d7bb009
Update redirect links
AB-xdev Aug 3, 2026
05f54ff
Stackoverflow links return 403 when validated
AB-xdev Aug 3, 2026
43b46dd
Merge pull request #295 from xdev-software/renovate/com.puppycrawl.to…
AB-xdev Aug 3, 2026
19fce86
CS 13.9 remove removed JavadocStyle and replace it with JavadocConten…
AB-xdev Aug 3, 2026
d7a4129
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Aug 3, 2026
15a4b98
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Aug 3, 2026
25c8893
Update pmd-x.xml
AB-xdev Aug 3, 2026
036e180
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Aug 3, 2026
422da0a
Merge branch 'master' into update-from-template-github_com_xdev-softw…
xdev-gh-bot Aug 3, 2026
bc90eb7
Fix redirect link
AB-xdev Aug 4, 2026
867b1fe
Update shogo82148/actions-create-release digest to 8674c0e
xdev-renovate Aug 7, 2026
6b29b04
Update dependency org.junit.jupiter:junit-jupiter to v6.1.3
xdev-renovate Aug 8, 2026
9be12ab
Update dependency com.puppycrawl.tools:checkstyle to v13.10.0
xdev-renovate Aug 10, 2026
33ba9e4
Update org.seleniumhq.selenium to v4.47.0
xdev-renovate Aug 11, 2026
73ac33f
Merge pull request #298 from xdev-software/renovate/shogo82148-action…
AB-xdev Aug 11, 2026
c58fd6e
Merge pull request #299 from xdev-software/renovate/com.puppycrawl.to…
AB-xdev Aug 11, 2026
0ac82aa
Merge remote-tracking branch 'origin/update-from-template-github_com_…
AB-xdev Aug 11, 2026
b2fae6d
Prepare for next release and fix CS
AB-xdev Aug 11, 2026
afc8f0a
Merge pull request #321 from xdev-software/renovate/org.junit.jupiter…
AB-xdev Aug 11, 2026
6533875
Merge pull request #322 from xdev-software/renovate/org.seleniumhq.se…
AB-xdev Aug 11, 2026
91891fb
Update README.md
AB-xdev Aug 11, 2026
3621c95
Merge branch 'develop' of https://github.com/xdev-software/testcontai…
AB-xdev Aug 11, 2026
520bb73
Fix order of WaitStrategies
AB-xdev Aug 11, 2026
8bf4de7
Extract image name extraction logic
AB-xdev Aug 11, 2026
4e8120c
AMH
AB-xdev Aug 11, 2026
b046181
Merge branch 'develop' into update-from-template-github_com_xdev-soft…
xdev-gh-bot Aug 11, 2026
6ada825
No longer a god :(
AB-xdev Aug 11, 2026
2defb20
Merge pull request #319 from xdev-software/update-from-template-githu…
AB-xdev Aug 11, 2026
a162508
Disable docker checks for each run because we know that it always works
AB-xdev Aug 11, 2026
0b962b0
Merge branch 'develop' of https://github.com/xdev-software/testcontai…
AB-xdev Aug 11, 2026
53543b8
Cache docker images to not always pull them on build
AB-xdev Aug 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .config/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,13 @@
</module>
<!-- Name classes correctly and don't use generic name for everything -->
<module name="IllegalIdentifierName">
<property name="format" value="^(?!(.*(Helper|Util))$).+$"/>
<property name="format" value="^(?!(.*(Helper|Util(s|ity)?))$).+$"/>
<property name="tokens" value=" CLASS_DEF"/>
</module>
<module name="IllegalImport"/>
<module name="IllegalSymbol"/>
<module name="InterfaceIsType"/>
<module name="JavadocStyle">
<property name="checkFirstSentence" value="false"/>
</module>
<module name="JavadocContentLocation"/>
<module name="LeftCurly">
<!-- Default minus Lambda -->
<property name="tokens" value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF, INTERFACE_DEF, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF, OBJBLOCK, STATIC_INIT, RECORD_DEF, COMPACT_CTOR_DEF"/>
Expand Down Expand Up @@ -146,7 +144,8 @@
<module name="UnnecessarySemicolonInTryWithResources"/>
<module name="UnusedImports"/>
<module name="UnusedLocalVariable"/>
<module name="UnusedTryResourceShouldBeUnnamed"/>
<!-- Disabled by default; should be enabled on Java 25+ -->
<!-- <module name="UnusedTryResourceShouldBeUnnamed"/> -->
<module name="UpperEll"/>
<module name="VisibilityModifier">
<property name="packageAllowed" value="true"/>
Expand Down
1 change: 1 addition & 0 deletions .github/.lycheeignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Ignorefile for broken link check
localhost
mvnrepository.com
stackoverflow.com
46 changes: 32 additions & 14 deletions .github/workflows/check-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,34 @@ jobs:
steps:
- uses: actions/checkout@v7

- name: Set up JDK
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Cache Maven
uses: actions/cache@v6
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-build-
- parallel:
- name: Set up JDK
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Cache Maven
uses: actions/cache@v6
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-build-

- name: Docker Image Cache Restore
id: docker-image-cache-restore
uses: xdev-software/tci/.github/actions/docker-image-cache/restore@f686d444930db567aae0cbc8076694f8c886f479 # v4.1.0
with:
# This cache could always change however because docker images can be changed remotely if the version is not fixated
# As a compromise it utilizes the hash of the pom files because when the dependencies stay the same
# the images should also be roughly the same
key: ${{ runner.os }}-check-build-docker-images-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-check-build-docker-images-

- name: Build with Maven
run: ./mvnw -B clean package -P run-integration-tests
run: ./mvnw -B clean package -P run-integration-tests -D checks.disable=true

- name: Check for uncommited changes
run: |
Expand All @@ -68,6 +80,12 @@ jobs:
exit 1
fi

- name: Docker Image Cache Save
uses: xdev-software/tci/.github/actions/docker-image-cache/save@f686d444930db567aae0cbc8076694f8c886f479 # v4.1.0
with:
key: ${{ steps.docker-image-cache-restore.outputs.key }}
cache-hit: ${{ steps.docker-image-cache-restore.outputs.cache-hit }}

checkstyle:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ jobs:

- name: Create Release
id: create-release
uses: shogo82148/actions-create-release@6a396031bc74c57403da1018fec74d24c6aa03cd # v1
uses: shogo82148/actions-create-release@8674c0ecee617c8dfb006526bcc22a362c70b88a # v1
with:
tag_name: v${{ steps.version.outputs.release }}
release_name: v${{ steps.version.outputs.release }}
Expand Down
16 changes: 0 additions & 16 deletions .idea/PMDPlugin.xml

This file was deleted.

2 changes: 1 addition & 1 deletion .idea/pmd-x.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 2.1.0
* Rename `SeleniumUtils` to `SeleniumVersionDetector`
* Extract image name extraction logic
* Update default Selenium version to `4.47.0`
* Updated dependencies

# 2.0.2
* Extract wait strategy values into constants
* Updated dependencies
Expand Down
20 changes: 10 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,33 @@ We would absolutely love to get the community involved, and we welcome any form

### Communication channels
* Communication is primarily done using issues.
* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services/support).
* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support).
* As a last resort measure or on otherwise important matter you may also [contact us directly](https://xdev.software/en/about-us/contact).

### Ways to help
* **Report bugs**<br/>Create an issue or send a pull request
* **Send pull requests**<br/>If you want to contribute code, check out the development instructions below.
* However when contributing larger new features, please first discuss the change you wish to make via issue with the owners of this repository before making it.<br/>Otherwise your work might be rejected and your effort was pointless.

We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project).

## Developing

### Software Requirements
You should have the following things installed:
* Git
* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/))
* Maven (Note that the [Maven Wrapper](https://maven.apache.org/wrapper/) is shipped with the repo)
* Maven (Note that the [Maven Wrapper](https://maven.apache.org/tools/wrapper/) is shipped with the repo)

### Recommended setup
* Install ``IntelliJ`` (Community Edition is sufficient)
* Install the following plugins:
* [Save Actions](https://plugins.jetbrains.com/plugin/22113) - Provides save actions, like running the formatter or adding ``final`` to fields
* [SonarLint](https://plugins.jetbrains.com/plugin/7973-sonarlint) - CodeStyle/CodeAnalysis
* You may consider disabling telemetry in the settings under ``Tools > Sonarlint -> About``
* [Checkstyle-IDEA](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) - CodeStyle/CodeAnalysis
* Install `IntelliJ`
* Recommended setup actions
* Disable not needed plugins
* Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html)
* Configure the available memory
* Import the project
* Ensure that everything is encoded in ``UTF-8``
* You will get prompted to install the required plugins
* Ensure that everything is encoded in `UTF-8`
* Ensure that the JDK/Java-Version is correct


Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ A re-implementation of [Testcontainer Selenium/WebDriver](https://java.testconta
* No VNC Server started in the browser container (unless explicitly stated) → Saves memory
* Uses [Selenium's implementation](https://github.com/SeleniumHQ/docker-selenium/tree/trunk/Video) and isn't [based](https://github.com/testcontainers/vnc-recorder) on [some python code from 2010](https://pypi.org/project/vnc2flv/#history)
* Way more customization options for e.g. ``framerate``, ``codec``, ``preset`` ...
* Uses ``mkv`` as default recording format (wider support in comparison to ``flv``)
* Uses `mkv` as default recording format
* wider support in comparison to `flv`
* `mkv` allows incomplete recordings without file corruption
* [Renders while saving the video](https://github.com/SeleniumHQ/docker-selenium/blob/4c572afd1173b5bd49fa2def3b54ea552fccee85/Video/video.sh#L126) (not when finished which takes additional time)
* Stops the recorder before saving the file so that there is no way that [it runs forever](https://github.com/testcontainers/testcontainers-java/discussions/6229).
* Automatically tries to select a alternative Selenium version for the docker image if it [doesn't exist](https://github.com/SeleniumHQ/docker-selenium/issues/1979).
Expand All @@ -36,7 +38,7 @@ This was done because `.mp4` requires finalization as otherwise the file/contain
[Installation guide for the latest release](https://github.com/xdev-software/testcontainers-selenium/releases/latest#Installation)

## Support
If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services/support).
If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support).

## Contributing
See the [contributing guide](./CONTRIBUTING.md) for detailed instructions on how to get started with our project.
Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>software.xdev</groupId>
<artifactId>testcontainers-selenium-root</artifactId>
<version>2.0.3-SNAPSHOT</version>
<version>2.1.0-SNAPSHOT</version>
<packaging>pom</packaging>

<organization>
Expand Down Expand Up @@ -45,7 +45,7 @@
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>13.8.0</version>
<version>13.10.0</version>
</dependency>
</dependencies>
<configuration>
Expand Down
6 changes: 3 additions & 3 deletions testcontainers-selenium-demo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
<parent>
<groupId>software.xdev</groupId>
<artifactId>testcontainers-selenium-root</artifactId>
<version>2.0.3-SNAPSHOT</version>
<version>2.1.0-SNAPSHOT</version>
</parent>

<artifactId>testcontainers-selenium-demo</artifactId>
<version>2.0.3-SNAPSHOT</version>
<version>2.1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<organization>
Expand All @@ -34,7 +34,7 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-dependencies-bom</artifactId>
<version>4.46.0</version>
<version>4.47.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
20 changes: 10 additions & 10 deletions testcontainers-selenium/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>software.xdev</groupId>
<artifactId>testcontainers-selenium</artifactId>
<version>2.0.3-SNAPSHOT</version>
<version>2.1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>testcontainers-selenium</name>
Expand Down Expand Up @@ -70,15 +70,15 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>4.46.0</version>
<version>4.47.0</version>
<scope>provided</scope>
</dependency>

<!-- Tests -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>6.1.2</version>
<version>6.1.3</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -90,7 +90,7 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>4.46.0</version>
<version>4.47.0</version>
<scope>test</scope>
<exclusions>
<!-- Tracing is not needed -->
Expand All @@ -108,13 +108,13 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>4.46.0</version>
<version>4.47.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>4.46.0</version>
<version>4.47.0</version>
<scope>test</scope>
<exclusions>
<!-- No unused, beta-grade, RUST blobs -->
Expand All @@ -127,7 +127,7 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>4.46.0</version>
<version>4.47.0</version>
<scope>test</scope>
<exclusions>
<!-- No unused, beta-grade, RUST blobs -->
Expand Down Expand Up @@ -158,7 +158,7 @@
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>5.0.0</version>
<version>5.1.1</version>
<configuration>
<properties>
<email>${project.organization.url}</email>
Expand Down Expand Up @@ -252,7 +252,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.7.3</version>
<version>1.8.0</version>
<configuration>
<flattenMode>ossrh</flattenMode>
</configuration>
Expand Down Expand Up @@ -320,7 +320,7 @@
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>13.8.0</version>
<version>13.10.0</version>
</dependency>
</dependencies>
<configuration>
Expand Down
Loading
Loading