- Bugfix: Add '--remote-allow-origins=*' to Chrome options to fix issues with Chrome 111 and the webdriver connection.
- JLineup might update to Java 11 or 17 soon to switch to Java HttpClient (https://www.selenium.dev/blog/2022/using-java11-httpclient/).
- Some background information: https://groups.google.com/g/chromedriver-users/c/xL5-13_qGaA/m/oTA9W3cQAgAJ
- Bugfix: Use screenshot height as truth for viewport height and print out a warning if it differs from the viewport height that is calculated via javascript. This should help us to overcome strange scrolling issues with Chrome 110+.
- Bugfix: Chrome 110 crashed when specifying a
--user-data-dir
and using multiple threads. This was fixed by adding random child folders if you specify a user data directory in the web version. If you run the CLI version and you want to specify a user data dir, you can use the new{random-folder}
placeholder to not share user data dirs between multiple threads.
- Bugfix: Headless mode in Chrome 110 has changed and didn't work anymore with former JLineup implementations. Important: You may need Chrome 110 or later for this release of JLineup to work accordingly
- First attempt to fix headless mode in Chrome 110+, use 4.8.1 instead, which includes another bugfix.
- Feature: --keep-existing option to keep existing 'before'-screenshots when doing another 'before' run
- Feature: --refresh-url option to refresh the 'before'-screenshots of one specific URL config entry only while keeping the others
- Feature: --merge-config option that merges the run config with another merge config file which may include repetitive options. The URL keys in the merge config file are matched by regex.
- Feature: The URL can not only be specified as the key of an URL config, but also by using the new
url
field instead. This opens the possibility to have multiple URL configs for the same URL. URL config keys still have to be unique.
- Feature: --open-report or -o when using jlineup cli opens the HTML report after the run
- Bugfix: CLI jar size was accidentally increased by inclusion of lambda project
- Bugfix: Report was broken in some cases when multiple URLs were configured
- Bugfix: Write provisional report html under correct filename
- Dependency updates
- Bugfix: All cookies were part of screenshot context hash calculation since version 4.4.0, which lead to problems when changing cookie content between before and after steps. To fix this, only alternating cookies (introduced in 4.4.0) are part of the context hash from this release on.
- Updates to Spring Boot 2.6.6 and Spring Framework 5.3.18 to fix Spring4Shell issue
- Dependency updates
- Bugfix: Example config (--print-example) was not in the right format
- Remove PhantomJS support
- Dependency Updates (Selenium 4 etc.)
- New HTML report format
- New
error-signals
feature inhttp-check
which allows to check the targeted page not only by http return code but by strings in response body - New
alternating-cookies
feature which allows to iterate over different cookie setups per page easily
- Fix rounding bug in maxDiff configuration (#82)
- Dependency updates
- Dependency updates
- Bugfix: CLI version is compiled with Java 8 compatibility again
- Dependency updates
- Disable PhantomJS by default in web version (Reason: https://nvd.nist.gov/vuln/detail/CVE-2019-17221)
- Add /exampleRun controller endpoint for quick testing
- Java 11 or later is required for web version now, cli variant works with Java 8
- Web version has a basic job persistence in file system now which survives service restarts
- Add OWASP dependency check to build for improved security
- Add possibility to use runId ({id}) in browser launch parameters
- New
setup-paths
andcleanup-paths
feature to set up and cleanup test data on target systems. - New
jlineup.sleep(milliseconds)
function inside simple JS blocks
- New
wait-for-selectors
andremove-selectors
features.
- New device-config feature (which adds mobile emulation support in chrome and more)
- Use only relevant fields in context hash calculation (fixes bugs if 'before' and 'after' configs differ)
- Use latest Webdrivermanager
- Fix Exception with the latest Firefox
- Minor improvements to HTML Report
- Only show often used options and non-defaults in config prints by default, example-config shows everything
- Massively improved similar colors detection
- Anti-Alias detection option
- DeviceConfig option
- Update of Webdrivermanager to support the latest browsers
- Replace GSON with Jackson, which is used anyway for the web module with Spring
- JLineup can be build with Java 11
- Update multiple dependencies
- Bugfix: Implemented workaround for strange scrolling behavior in Firefox (sometimes window.scrollBy(0, x) scrolls double the amount given)
- JLineup detects webdriver that fits to installed browsers automatically
- Massively improved documentation
- chromedriver 2.45
- Some chrome flags are added to improve deterministic rendering
- Revert because it didn't work: Ability to wait for images to be fully loaded before making screenshots
- hide all images using javascript once the URL configuration
hideImages
is enabled
- Ability to wait for images to be fully loaded before making screenshots. Especially important when using progressive jpegs in page.
- chromedriver 2.42
- geckodriver 0.23.0
- Version info displayed in web frontend
- Fix cookie warning in httpcheck
- Fix pom artifactIds (this helps if you try to download JLineup via Maven/Gradle)
- Major Refactoring
- JLineup can run as web service now
- Enhancement: Add jobConfig option
check-for-errors-in-log
to toggle whether jlineup stops on errors in browser log. Default istrue
- Improvement: Better handling of global timeout
- Dependency updates
- New project structure
- Bugfix: Don't crash when no webdriver was downloaded before
- New Selenium and Webdrivermanager versions
- Bugfix: Don't stop jlineup run when there are severe errors in chrome after initial loading of page
- Bugfix: Limit max file lenght for screenshot files
- Enhancement: New log-to-file option in jobConfig enables logging to a file in the working dir
- Enhancement: Animated gifs are not played in firefox.
- Bugfix: Exit correctly when URL is not reachable
- Experimental support for headless firefox (needs firefox nightly >55)
- Add headless support without the need for Xvfb for Chrome >59 (use browser "chrome-headless" in jobConfig)
- Update to chromedriver 2.30 to support Chrome 59.x
- Feature: Introduce global page load timeout, defaults to 120 seconds
- Feature: Global retry option if some Exception occurs during takeScreenshots, defaults to 0
- Bugfix: Fix difference image link in html report
- Update Geckodriver to 0.16.1
- Breaking change: New json report format with summary. Use "report-format":1 to use legacy format for json report.
- Breaking change: Screenshots folder is now below report folder by default. HTML report is in report folder.
- Breaking change: JLineup returns error code 1 if report shows a difference
- Selenium upgrade to 3.4
- Support for Firefox 53.x, Chrome 58.x
- Geckodriver 0.16.0, Chromedriver 2.29
- Some exceptions lead to stalling browser sessions, now every exception is thrown
- Bugfix: Close open browsers and webdrivers when some Selenium exception is throwing
- Bugfix: Don't start multiple webdriver downloads when running in multiple threads
- Update Geckodriver for Firefox to 0.15.0
- Update Chromedriver for Chrome to 2.28
- Bugfix: Version pinning of webdriver didn't work because of a change in webdrivermanager (https://github.com/bonigarcia/webdrivermanager/commit/29c531266c78399f3999b246da479163d734bee8)
- Cache warmup is always done with the greatest horizontal resolution of an URL jobConfig
- It's possible to specify session storage, similar to local storage
- Increasing waiting time bug fixed (long sleep phases when using multiple threads and many paths/URLs)
- It's possible to specify debug mode in jobConfig now ("debug":true), additionally to command line param
- Bugfix: JLineup 1.3.1 was not making any screenshots when wait-for-fonts-time was not 0
- Bugfix: Use legacy report format as default (will change with 2.0.0)
- Ability to wait for webfonts to be loaded before making screenshots
- Log uncaught Exceptions in Threadpool
- New wait after scroll option
- Move mouse pointer to 0,0 before making screenshots - some mouseover effects could affect the screenshots otherwise
- Use close before quitting webdrivers
- Fix for browser startup shuffle time
- It's possible to use multiple threads and browser instances to speed up
- --print-jobConfig now shows full example configuration
- The report contains the JLineup version at the bottom
- You can specify custom JavaScript that is executed before page screenshots start
(i.e. useful to remove parts that change dynamically through third party
- like ads - from the page)
- Don't strip http or https from image filenames
- Sanitize filenames properly
- Report image links work if URL contains ? and/or =
- Report image links work if URL contains hash (#) characters
- Report is interactive now
- Switch to Selenium 3
- New --debug option to be more verbose
- Scroll to top via JavaScript after initial page load (new Chrome sometimes moves a re-opened page to the last known scroll position)