TestLauncher
public struct TestLauncher
Configures given application with provided launch options and variables.
TestLauncher is a wrapper around XCUIApplication.launchArguments and XCUIApplication.launchEnvironment.
By using abstract type, LaunchOption, it is possible to pass parameters to the testing application.
AutoMate provides set of options which can set system locale, language, keyboard languages,
or advanced options like CoreData SQL debug verbosity level.
Example:
let app = XCUIApplication()
TestLauncher(options: [
SystemLanguages([.English, .German]),
SystemLocale(language: .English, country: .Canada),
SoftwareKeyboards([.EnglishCanada, .GermanGermany])
]).configure(app).launch()
Default options:
It is not known which options should be added to TestLauncher by default. It depends on the application.
That is why TestLauncher doesn’t provide any default set of options.
In your application you can create an extension to TestLauncher with default list of options.
Example:
extension TestLauncher {
static let defaultLaunchOptions: [LaunchOption] = [AnimationLaunchEnvironment()]
public static func configureWithDefaultOptions<T: Application>(_ application: T, additionalOptions options: [LaunchOption] = []) -> T {
return TestLauncher(options: defaultLaunchOptions + options).configure(application)
}
}
With such extensions the XCUIApplication can be configured with default options of your choice.
Example:
let app = XCUIApplication()
TestLauncher.configureWithDefaultOptions(app).launch()
-
Initializes
TestLauncherwith given options.Declaration
Swift
public init(options: [LaunchOption] = [])Parameters
optionsOptions to initialize with.
-
Passes stored settings to the provided application.
Declaration
Swift
public func configure<T>(_ application: T) -> T where T : ApplicationParameters
applicationObject implementing
Applicationprotocol that will receive the settings, eg.XCUIApplication.Return Value
Application with passed settings.
-
Initializes
TestLauncherwith given options and configure application object with launch arguments and launch environments.Declaration
Swift
public static func configure<T>(_ application: T, withOptions options: [LaunchOption] = []) -> T where T : ApplicationParameters
applicationObject implementing Application protocol that will receive the settings, eg.
XCUIApplication.optionsOptions to initialize
TestLauncherand application.Return Value
Application with passed settings.
TestLauncher Structure Reference