Changelog
XCTest
5.0.2 (Nov 28, 2024)
Bug Fixes
-
Ignored regions are now correctly identified on non-scrolling screens
-
Resolved failure of
Target.window()
in unit tests without a key window
5.0.1 (Nov 21, 2024)
Bug Fixes
-
Test names now default to a same name for all tests using the new
eyes.test()
API -
The
waitBeforeCapture
check setting is now correctly applied -
Resolved the issue with empty images loading on the first page of full-page screenshots
5.0.0 (Nov 19, 2024)
The SDK has been expanded with new capabilities. The SDK can now take full page screenshots from user interface objects in XCTest unit or integration tests.
New Features
-
The SDK can now take full page screenshots from user interface objects in XCTest unit or integration tests, using one of the following:
-
try await eyes.check(withTag:"my tag" andSettings: Target.window())
(see notes 1 and 2) -
try await eyes.test(settings:Target.window())
This method is convenient for single open-check-close operations (see note 3).
-
Additional Features
-
Set ignored regions from UIView elements:
Target.window.ignore([someView, someOtherView])
-
Other supported coded regions:
.layout()
,.strict()
,.content()
-
Device-independent baselines:
Run tests from any device (or simulator) and validate screenshots against a single baseline (see note 4).
Notes:
The new
Target.window()
API performs asynchronous screenshots on the main UI thread. Invoking test functions must be annotated with@MainActor
andasync throws
.Screenshots are full page by default.
- To force a viewport screenshot, use
Target.window().fully(false)
in the check settings of a single test.- To force viewport for all tests, set
forceFullPageScreenshot = false
on the Eyes Configuration object.The new
Eyes.test()
API method conveniently opens, checks, and closes Eyes, with default names.
- App and test names default to (respectively) the app bundle name and the test function name.
- To customize names, invoke
Eyes.test()
with optional parametersapplicationName
,testName
, and/ortag
.By default, screenshots may vary according to the source device (or simulator) that runs the test. To enable device-independent baselines from any source device, normalize the baseline on a single target device size by adding a specific target device on the Eyes Configuration object. Example:
configuration.addMultiDeviceTarget(IosMultiDeviceTarget.iPhone12())
Changed
Eyes.close()
now returns aTestResultsSummary
object. (In previous versions of this SDK, this API returned aTestResult
object).
4.15.0 (Oct 13, 2024)
Features
- The SDK now requires iOS 13 or later
4.14.2 (June 10, 2024)
Bug Fixes
- Resolved issue with empty test results.
4.14.1 (May 30, 2024)
Bug Fixes
- Resolved issue with non-integer viewport size.
4.14.0 (May 28, 2024)
Features
- You can now pass branch names from GIT in environment variables.
Bug Fixes
- Fixed time zone formatting issues in batch requests.
4.13.1 (May 13, 2024)
Bug Fixes
- Resolved issue with trailing "/" in serverURL.
4.13.0 (May 9, 2024)
Feature
- Added support for visionOS.
4.12.0 (Feb 29, 2024)
Feature
- Added support for the following APIs:
Eyes.getAllTestResults
,Eyes.closeAndGetResults
,Eyes.setMobileCapabilities
4.11.1 (Jan 30, 2024)
Bug Fixes
- Resolved issue with system fail if the system time format is set to 12-hour.