2
2
title : " Overview"
3
3
---
4
4
5
- Executing tests on iOS simulators requires access to Apple hardware capable of executing tests. This can be a local macOS instance or a
6
- remote instance accessible via [ secure shell] [ 2 ] . For remote access file transfers are carried out incrementally using [ rsync] [ 3 ] .
5
+ Marathon supports execution of ` macOS ` tests for desktop apps as well as apps targeting ` iOS ` , ` iPadOS ` , ` tvOS ` , ` visionOS ` (xctest only)
6
+ using simulators.
7
+
8
+ Test execution requires Apple hardware capable of executing tests. This can be a local macOS instance or a remote instance
9
+ accessible via [ secure shell] [ 2 ] . For remote access file transfers are carried out incrementally using [ rsync] [ 3 ] .
7
10
8
11
Device provider can provision simulators on-demand, reuse existing ones if they match desired configuration as well as utilize
9
12
pre-provisioned simulators. See documentation on [ workers] [ 1 ] for more information on this topic.
10
13
11
- Marathon can run both XCUITests and XCTests. Test bundle requires you to specify application under test as well as test application.
12
- After preprocessing both of these inputs are distilled into an application bundle (e.g. ` my.app ` ) and xctest bundle (e.g. ` my-tests.xctest ` )
13
- You can specify ` .ipa ` [ application archives ] [ 4 ] as well as ` .zip ` with the same content as application archive. They will be searched for
14
- the
14
+ Marathon is capable of executing both XCUITests and XCTests. Test bundle requires you to specify application under test as well as test
15
+ application. After preprocessing both of these inputs are distilled into an application bundle (e.g. ` my.app ` ) and xctest bundle (
16
+ e.g. ` my-tests.xctest ` ) or UI test runner app containing xctest bundle (e.g. ` Magic-UITests-Runner.app ` ). You can
17
+ specify ` .ipa ` [ application archives ] [ 4 ] as well as ` .zip ` with the same content as application archive. They will be searched for the
15
18
application and xctest bundles. If there are multiple entries matching description - marathon will fail.
16
19
17
20
::: tip
18
21
19
22
It is much easier to supply the ` .app ` application bundle and ` .xctest ` bundle directly instead of wasting time on packaging a signed
20
- application
21
- archive and depending on runtime discovery of your bundles
23
+ application archive and depending on runtime discovery of your bundles
24
+
25
+ An exception here is if you actually need to use signed application with certain entitlements, i.e. for ` macOS ` desktop testing
22
26
23
27
:::
24
28
@@ -37,14 +41,14 @@ settings:
37
41
### Test plans
38
42
39
43
Support for Xcode test plans is intentionally missing: fundamentally test plan is a way of filtering tests and Marathon supports universal
40
- test filtering regardless of the test platform. Having multiple layers of filtering is undesirable and leading to cumbersome user
44
+ test filtering regardless of the test platform. Having multiple layers of filtering is undesirable and leads to cumbersome user
41
45
experience. The simplest way to achieve test plans is to provide a list of tests in a file by combining [dynamic configuration][7]
42
46
and [fully-qualified-test-name filter][8] providing the external file via [values-file-filtering][9].
43
47
44
48
See [XcodeGen docs][6] for more information.
45
49
46
50
47
- [1]: ios /workers.md
51
+ [1]: apple /workers.md
48
52
49
53
[2]: https://en.wikipedia.org/wiki/Secure_Shell
50
54
0 commit comments