Swift framework containing a set of helpful XCTest extensions for writing UI automation tests

Overview
AutoMate, made by PGS Software

AutoMateAppBuddyTemplatesModelGenie

AutoMate

AutoMate is a Swift framework containing a set of helpful XCTest extensions for writing UI automation tests. It provides strongly typed, extensible wrapper around launch arguments and environment variables, which can be used for language, locale and keyboard type configuration on the device. With the AutoMate-AppBuddy it can also disable animations in the application and manage events, reminders and contacts.

Swift 5 Travis CocoaPods Compatible Documentation Carthage Compatible SwiftPM Compatible Platform License

AutoMate

Installation

There are three convinient ways to install AutoMate:

  • using CocoaPods with Podfile:

     pod 'AutoMate'
  • using Carthage and add a line to Cartfile.private:

     github "PGSSoft/AutoMate"
    

    Cartfile.private should be used because AutoMate framework will be used by UI Tests target only not by the tested application.

  • using Swift Package Manager, either via Xcode or in Package.swift:

     .package(url: "https://github.com/PGSSoft/AutoMate", from: "1.8.0"),

Usage

Full documentation is available at https://pgssoft.github.io/AutoMate/.

  1. Create a new UI test case class.

  2. Import AutoMate framework to UI tests files:

    import AutoMate
  3. Use TestLauncher in the setup() method to configure application settings and launch the application:

    let app = XCUIApplication()
    TestLauncher(options: [
        SystemLanguages([.English, .German]),
        SystemLocale(language: .English, country: .Canada),
        SoftwareKeyboards([.EnglishCanada, .GermanGermany])
    ]).configure(app).launch()
  4. Use AutoMate's extensions in your tests. For example:

    func testSomething() {
        let app = XCUIApplication()
        let button = app.button.element
    
        // helper for waiting until element is visible
        waitForVisibleElement(button, timeout: 20)
        button.tap()
    
        // isVisible - helper to check that element both exists and is hittable
        XCTAssertFalse(button.isVisible)
    }

Features (or ToDo)

  • Set keyboards
  • Set locale
  • Set languages
  • Custom arguments
  • Custom keyboards, locales and languages
  • XCTest extensions
  • Added CoreData launch arguments
  • Disable UIView animations (with AutoMate-AppBuddy)
  • Strong-typed helpers: locators, page object templates (with AutoMate-Templates)
  • Base XCTestCase template (with AutoMate-Templates)
  • Most permissions alerts (like: LocationWhenInUseAlert, CalendarAlert, PhotosAlert) (with AutoMate-ModelGenie)
  • Managing events, reminders and contacts (with AutoMate-AppBuddy)
  • Companion library for the application (AutoMate-AppBuddy)
  • Improve launch options type safety
  • Smart coordinates
  • Check if application is running in UI test environment (with AutoMate-AppBuddy)
  • Stubbing network requests
  • Stubbing contacts, events and reminders
  • Taking screenshots
  • Clearing application data
  • Stubbing notifications

Example application

Repository contains example application under AutoMateExample directory. Structure of the application is simple, but the project contains extensive suite of UI tests to showcase capabilities of the library.

Development

Full documentation is available at https://pgssoft.github.io/AutoMate/.

If you want to provide your custom launch argument or launch environment you have to implement LaunchOption protocol or one of its extensions, such as LaunchArgumentWithSingleValue:

enum CustomParameter: String, LaunchArgumentWithSingleValue, LaunchArgumentValue {
    var key: String {
        return "AppParameter"
    }
    case value1
    case value2
}

Then, you can pass it to the TestBuilder:

let launcher = TestLauncher(options: [
    CustomParameter.value1
])

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/PGSSoft/AutoMate.

License

The project is available as open source under the terms of the MIT License.

About

The project maintained by software development agency PGS Software. See our other open-source projects or contact us to develop your product.

Follow us

Twitter URL
Twitter Follow

Comments
  • Bump addressable from 2.6.0 to 2.8.0

    Bump addressable from 2.6.0 to 2.8.0

    Bumps addressable from 2.6.0 to 2.8.0.

    Changelog

    Sourced from addressable's changelog.

    Addressable 2.8.0

    • fixes ReDoS vulnerability in Addressable::Template#match
    • no longer replaces + with spaces in queries for non-http(s) schemes
    • fixed encoding ipv6 literals
    • the :compacted flag for normalized_query now dedupes parameters
    • fix broken escape_component alias
    • dropping support for Ruby 2.0 and 2.1
    • adding Ruby 3.0 compatibility for development tasks
    • drop support for rack-mount and remove Addressable::Template#generate
    • performance improvements
    • switch CI/CD to GitHub Actions

    Addressable 2.7.0

    • added :compacted flag to normalized_query
    • heuristic_parse handles mailto: more intuitively
    • dropped explicit support for JRuby 9.0.5.0
    • compatibility w/ public_suffix 4.x
    • performance improvements
    Commits
    • 6469a23 Updating gemspec again
    • 2433638 Merge branch 'main' of github.com:sporkmonger/addressable into main
    • e9c76b8 Merge pull request #378 from ashmaroli/flat-map
    • 56c5cf7 Update the gemspec
    • c1fed1c Require a non-vulnerable rake
    • 0d8a312 Adding note about ReDoS vulnerability
    • 89c7613 Merge branch 'template-regexp' into main
    • cf8884f Note about alias fix
    • bb03f71 Merge pull request #371 from charleystran/add_missing_encode_component_doc_entry
    • 6d1d809 Adding note about :compacted normalization
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Fixed some swiftlint issues

    Fixed some swiftlint issues

    Fixed some swiftlint issues being caught by using version 0.23.1 and disabled swiftlint from being run on the Pods directory in the AutoMateExample directory.

    Most of the issues were due to the superfluous_disable_command. I removed the rules which did not need to be disabled.

    opened by jorge-ramirez 2
  • The current version of swiftlint is failing the build.

    The current version of swiftlint is failing the build.

    When I try to build via Carthage, I get the following errors in the log while it is running swiftlint:

    Loading configuration from '.swiftlint.yml'
    Linting Swift files in current working directory
    Linting 'AppUITestCase.swift' (1/121)
    Linting 'AutoMateLaunchEnvironmentKeys.swift' (2/121)
    Linting 'AutoMateLaunchEnvironments.swift' (3/121)
    Linting 'Array.swift' (4/121)
    Linting 'Bundle.swift' (5/121)
    Linting 'CoreGraphics.swift' (6/121)
    Linting 'Dictionary.swift' (7/121)
    Linting 'Sequence.swift' (8/121)
    Linting 'String.swift' (9/121)
    Linting 'HealthAlert.swift' (10/121)
    Linting 'KeyboardLocator.swift' (11/121)
    Linting 'LaunchArguments.swift' (12/121)
    Linting 'LaunchArgumentProtocols.swift' (13/121)
    Linting 'LaunchArgumentValue.swift' (14/121)
    Linting 'LaunchEnvironmentProtocols.swift' (15/121)
    Linting 'LaunchEnvironments.swift' (16/121)
    Linting 'LaunchEnvironmentValue.swift' (17/121)
    Linting 'LaunchOptionProtocol.swift' (18/121)
    Linting 'LaunchOptionsSet.swift' (19/121)
    Linting 'LocationAlert.swift' (20/121)
    Linting 'Locator.swift' (21/121)
    Linting 'HardwareKeyboard.swift' (22/121)
    Linting 'HealthAlerts.swift' (23/121)
    Linting 'LocationAlerts.swift' (24/121)
    Linting 'ServiceRequestAlerts.swift' (25/121)
    Linting 'SoftwareKeyboard.swift' (26/121)
    Linting 'SystemCountry.swift' (27/121)
    Linting 'SystemLanguage.swift' (28/121)
    Linting 'BaseAppPage.swift' (29/121)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HealthAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'type_body_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HealthAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HealthAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HealthAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'file_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/LocationAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'type_body_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/LocationAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/LocationAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/LocationAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'file_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    Linting 'HealthPermissionPage.swift' (30/121)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HardwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'type_body_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HardwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HardwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/HardwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'file_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    Linting 'ModalPage.swift' (31/121)
    Linting 'PushedPage.swift' (32/121)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/ServiceRequestAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/ServiceRequestAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'type_body_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/ServiceRequestAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/ServiceRequestAlerts.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SoftwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'type_body_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SoftwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SoftwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SoftwareKeyboard.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'file_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    Linting 'SmartXCUICoordinate.swift' (33/121)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SystemCountry.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SystemCountry.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    Linting 'SystemAlert.swift' (34/121)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SystemLanguage.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'trailing_comma' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMate/Models/SystemLanguage.swift:1:93: error: Superfluous Disable Command Violation: SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)
    Linting 'SystemLaunchArguments.swift' (35/121)
    Linting 'TestLauncher.swift' (36/121)
    Linting 'XCTestCase+Identifiable.swift' (37/121)
    Linting 'XCTestCase.swift' (38/121)
    Linting 'XCUIApplication.swift' (39/121)
    Linting 'XCUIElement+Swipe.swift' (40/121)
    Linting 'XCUIElement.swift' (41/121)
    Linting 'XCUIElementQuery+Locator.swift' (42/121)
    Linting 'XCUIElementQuery+Predicate.swift' (43/121)
    Linting 'XCUIElementQuery.swift' (44/121)
    Linting 'XCUIElementTypeQueryProvider+Any.swift' (45/121)
    Linting 'AppDelegate.swift' (46/121)
    Linting 'AppearingViewController.swift' (47/121)
    Linting 'BluetoothViewController.swift' (48/121)
    Linting 'CalendarViewController.swift' (49/121)
    Linting 'CallsViewController.swift' (50/121)
    Linting 'CameraViewController.swift' (51/121)
    Linting 'CollectionViewController.swift' (52/121)
    Linting 'ContactsDataStore.swift' (53/121)
    Linting 'ContactsViewController.swift' (54/121)
    Linting 'ContactTableViewCell.swift' (55/121)
    Linting 'Date+Helpers.swift' (56/121)
    Linting 'EventsDataStore.swift' (57/121)
    Linting 'EventTableViewCell.swift' (58/121)
    Linting 'EventViewModel.swift' (59/121)
    Linting 'HealthKitViewController.swift' (60/121)
    Linting 'HomeKitViewController.swift' (61/121)
    Linting 'LaunchEnvironmentsDataViewController.swift' (62/121)
    Linting 'LaunchEnvironmentsTableViewController.swift' (63/121)
    Linting 'LaunchEnvironmentTableDataSource.swift' (64/121)
    Linting 'LaunchOptionsHandler.swift' (65/121)
    Linting 'LocationAlwaysViewController.swift' (66/121)
    Linting 'LocationWhenInUseViewController.swift' (67/121)
    Linting 'LongTableViewController.swift' (68/121)
    Linting 'MainViewController.swift' (69/121)
    Linting 'MediaLibraryViewController.swift' (70/121)
    Linting 'MicrophoneViewController.swift' (71/121)
    Linting 'MiddleButtonViewController.swift' (72/121)
    Linting 'MotionViewController.swift' (73/121)
    Linting 'PermissionsViewController.swift' (74/121)
    Linting 'PermissionTableViewCell.swift' (75/121)
    Linting 'PhotoViewController.swift' (76/121)
    Linting 'RemindersDataStore.swift' (77/121)
    Linting 'RemindersViewController.swift' (78/121)
    Linting 'ReminderTableViewCell.swift' (79/121)
    Linting 'ReminderViewModel.swift' (80/121)
    Linting 'RotationViewController.swift' (81/121)
    Linting 'ScrollingHorizontallyViewController.swift' (82/121)
    Linting 'ScrollingViewController.swift' (83/121)
    Linting 'SiriViewController.swift' (84/121)
    Linting 'SpeechRecognitionViewController.swift' (85/121)
    Linting 'TableViewDataProtocols.swift' (86/121)
    Linting 'UIKit+Extensions.swift' (87/121)
    Linting 'ContactsSavedDataTests.swift' (88/121)
    Linting 'ContactsData.swift' (89/121)
    Linting 'EventKitData.swift' (90/121)
    Linting 'EventKitSavedDataTests.swift' (91/121)
    Linting 'AdditionalExtensionsTests.swift' (92/121)
    Linting 'XCUIElementExtensionTests.swift' (93/121)
    Linting 'XCUIElementQueryTests.swift' (94/121)
    Linting 'ForMovieTests.swift' (95/121)
    Linting 'LaunchArgumentsWithAutoMateTests.swift' (96/121)
    Linting 'LaunchArgumentsWithoutAutoMateTests.swift' (97/121)
    Linting 'AppearingPage.swift' (98/121)
    Linting 'AutoMateLaunchEnvironmentsPage.swift' (99/121)
    Linting 'CollectionPage.swift' (100/121)
    Linting 'ContactsListPage.swift' (101/121)
    Linting 'EventsListPage.swift' (102/121)
    Linting 'MainPage.swift' (103/121)
    Linting 'MiddleButtonPage.swift' (104/121)
    Linting 'PermissionsPage.swift' (105/121)
    Linting 'PermissionsSubPages.swift' (106/121)
    Linting 'PushedPage.swift' (107/121)
    Linting 'RemindersListPage.swift' (108/121)
    Linting 'RotatePage.swift' (109/121)
    Linting 'ScrollPage.swift' (110/121)
    Linting 'ScrollVerticallyPage.swift' (111/121)
    Linting 'TablePage.swift' (112/121)
    Linting 'TextInputPage.swift' (113/121)
    Linting 'PermissionsTests.swift' (114/121)
    Linting 'TestLauncher.swift' (115/121)
    Linting 'ApplicationsFactory.swift' (116/121)
    Linting 'LaunchOptionsFactory.swift' (117/121)
    Linting 'LaunchOptionsSetTests.swift' (118/121)
    Linting 'SystemLaunchArgumentsTests.swift' (119/121)
    Linting 'SystemLaunchEnvironmentsTests.swift' (120/121)
    Linting 'TestLauncherTests.swift' (121/121)
    /Users/ramij286/Documents/Development/wdpr-dine-opp/Carthage/Checkouts/AutoMate/AutoMateTests/LaunchOptionsSetTests.swift:77:28: warning: Is Disjoint Violation: Prefer using `Set.isDisjoint(with:)` over `Set.intersection(_:).isEmpty`. (is_disjoint)
    Done linting! Found 25 violations, 24 serious in 121 files.
    
    opened by jorge-ramirez 2
  • Bump json from 2.2.0 to 2.3.1

    Bump json from 2.2.0 to 2.3.1

    Bumps json from 2.2.0 to 2.3.1.

    Changelog

    Sourced from json's changelog.

    2020-06-30 (2.3.1)

    • Spelling and grammar fixes for comments. Pull request #191 by Josh Kline.
    • Enhance generic JSON and #generate docs. Pull request #347 by Victor Shepelev.
    • Add :nodoc: for GeneratorMethods. Pull request #349 by Victor Shepelev.
    • Baseline changes to help (JRuby) development. Pull request #371 by Karol Bucek.
    • Add metadata for rubygems.org. Pull request #379 by Alexandre ZANNI.
    • Remove invalid JSON.generate description from JSON module rdoc. Pull request #384 by Jeremy Evans.
    • Test with TruffleRuby in CI. Pull request #402 by Benoit Daloze.
    • Rdoc enhancements. Pull request #413 by Burdette Lamar.
    • Fixtures/ are not being tested... Pull request #416 by Marc-André Lafortune.
    • Use frozen string for hash key. Pull request #420 by Marc-André Lafortune.
    • Added :call-seq: to RDoc for some methods. Pull request #422 by Burdette Lamar.
    • Small typo fix. Pull request #423 by Marc-André Lafortune.

    2019-12-11 (2.3.0)

    • Fix default of create_additions to always be false for JSON(user_input) and JSON.parse(user_input, nil). Note that JSON.load remains with default true and is meant for internal serialization of trusted data. [CVE-2020-10663]
    • Fix passing args all #to_json in json/add/*.
    • Fix encoding issues
    • Fix issues of keyword vs positional parameter
    • Fix JSON::Parser against bigdecimal updates
    • Bug fixes to JRuby port
    Commits
    • 0951d77 Bump version to 2.3.1
    • ddc29e2 Merge pull request #429 from flori/remove-generate-task-for-gemspec
    • cee8020 Removed gemspec task from default task on Rakefile
    • 9fd6371 Use VERSION file instead of hard-coded value
    • dc90bcf Removed explicitly date field in gemspec, it will assign by rubygems.org
    • 4c11a40 Removed task for json_pure.gemspec
    • e794ec9 Merge pull request #426 from marcandre/indent
    • 7cc9301 Merge pull request #428 from marcandre/change_fix
    • 9e2a1fb Make changes more precise #424
    • f8fa987 Merge pull request #424 from marcandre/update_changes
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Add SPM support

    Add SPM support

    The changeset contains minimal adjustments needed to allow installing AutoMate with Swift Package Manager.

    I suggest we add the same support for AppBuddy and make the example app use Swift Package Manager in future pull requests.

    opened by dzoanb 1
  • Bump rake from 12.3.2 to 13.0.1

    Bump rake from 12.3.2 to 13.0.1

    Bumps rake from 12.3.2 to 13.0.1.

    Changelog

    Sourced from rake's changelog.

    === 13.0.1

    ==== Bug fixes

    • Fixed bug: Reenabled task raises previous exception on second invokation Pull Request #271 by thorsteneckel
    • Fix an incorrectly resolved arg pattern Pull Request #327 by mjbellantoni

    === 13.0.0

    ==== Enhancements

    • Follows recent changes on keyword arguments in ruby 2.7. Pull Request #326 by nobu
    • Make PackageTask be able to omit parent directory while packing files Pull Request #310 by tonytonyjan
    • Add order only dependency Pull Request #269 by take-cheeze

    ==== Compatibility changes

    • Drop old ruby versions(< 2.2)

    === 12.3.3

    ==== Bug fixes

    • Use the application's name in error message if a task is not found. Pull Request #303 by tmatilai

    ==== Enhancements:

    • Use File.open explicitly.
    Commits
    • c8251e2 Bump version to 13.0.1
    • 8edd860 Fixed build failure of the latest GitHub Actions
    • b6e2a66 Merge pull request #271 from thorsteneckel/bugfix-reenable_invocation_exception
    • 985abff Merge pull request #327 from mjbellantoni/mjb-order-only-arg-fix
    • 4a90acb Merge pull request #329 from jeremyevans/skip-taint-test-on-2.7
    • 4dc6282 Skip a taint test on Ruby 2.7
    • a08b697 Merge pull request #328 from orien/gem-metadata
    • c3953d4 Add project metadata to the gemspec
    • 46a8f7c Update comments to reflect the current state
    • 00aacdc Fix an incorrectly resolved arg pattern
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump rubyzip from 1.2.3 to 1.3.0

    Bump rubyzip from 1.2.3 to 1.3.0

    Bumps rubyzip from 1.2.3 to 1.3.0.

    Release notes

    Sourced from rubyzip's releases.

    v1.3.0

    Security

    • Add validate_entry_sizes option so that callers can trust an entry's reported size when using extract #403
      • This option defaults to false for backward compatibility in this release, but you are strongly encouraged to set it to true. It will default to true in rubyzip 2.0.

    New Feature

    • Add add_stored method to simplify adding entries without compression #366

    Tooling / Documentation

    • Add more gem metadata links #402

    v1.2.4

    • Do not rewrite zip files opened with open_buffer that have not changed #360

    Tooling / Documentation

    • Update example_recursive.rb in README #397
    • Hold CI at trusty for now, automatically pick the latest ruby patch version, use rbx-4 and hold jruby at 9.1 #399
    Changelog

    Sourced from rubyzip's changelog.

    1.3.0 (2019-09-25)

    Security

    • Add validate_entry_sizes option so that callers can trust an entry's reported size when using extract #403
      • This option defaults to false for backward compatibility in this release, but you are strongly encouraged to set it to true. It will default to true in rubyzip 2.0.

    New Feature

    • Add add_stored method to simplify adding entries without compression #366

    Tooling / Documentation

    • Add more gem metadata links #402

    1.2.4 (2019-09-06)

    • Do not rewrite zip files opened with open_buffer that have not changed #360

    Tooling / Documentation

    • Update example_recursive.rb in README #397
    • Hold CI at trusty for now, automatically pick the latest ruby patch version, use rbx-4 and hold jruby at 9.1 #399
    Commits
    • e79d9ea Merge pull request #407 from rubyzip/v1-3-0
    • 7c65e1e Bump version to 1.3.0
    • d65fe7b Merge pull request #403 from rubyzip/check-size
    • 97cb6ae Warn when an entry size is invalid
    • 7849f73 Default validate_entry_sizes to false for 1.3 release
    • 4167f0c Validate entry sizes when extracting
    • 94b7fa2 [ci skip] Update changelog
    • 93505ca Check expected entry size in add_stored test
    • 6619bf3 Merge pull request #366 from hainesr/add-stored
    • ecb2776 Zip::File.add_stored() to add uncompressed files.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Project fails to build in carthage for version 1.4.3

    Project fails to build in carthage for version 1.4.3

    Starting from a simple carthage.private file that contains github "PGSSoft/AutoMate", running carthage update leads to the following output:

    Building scheme "AutoMate iOS" in AutoMate.xcworkspace Build Failed Task failed with exit code 65:

    Looking in the log file, I see the following error

    extensions/XCUIElementTypeQueryProvider+Any.swift:19:49: error: 'Type' is not a member type of 'XCUIElement' func descendants(matching type: XCUIElement.Type) -> XCUIElementQuery ~~~~~~~~~~~ ^

    ** ARCHIVE FAILED **

    The Type field above has single quote around it in the output file.

    Everything works great for version 1.4.2

    Is there something that needs to be set differently for 1.4.3?

    opened by robowen5mac 1
  • Build fails on Xcode 9.0.1

    Build fails on Xcode 9.0.1

    I am receiving the following warning while trying to build in Xcode 9.0.1 about a redundant protocol conformance, which is causing a segmentation fault in the build process.

    /Users/ramij286/Documents/Development/AutoMate-jorge/AutoMate/HealthAlert.swift:15:47: warning: redundant conformance constraint 'Self': 'SystemMessages'
    public protocol HealthAlertOk: SystemAlertOk, SystemMessages { }
                                                  ^
    /Users/ramij286/Documents/Development/AutoMate-jorge/AutoMate/HealthAlert.swift:15:32: note: conformance constraint 'Self': 'SystemMessages' implied here
    public protocol HealthAlertOk: SystemAlertOk, SystemMessages { }
                                   ^
    0  swift                    0x000000011106edba PrintStackTraceSignalHandler(void*) + 42
    1  swift                    0x000000011106e1f6 SignalHandler(int) + 662
    2  libsystem_platform.dylib 0x00007fff92267b3a _sigtramp + 26
    3  libsystem_platform.dylib 0x00007fff5228f9d0 _sigtramp + 3221388976
    4  swift                    0x000000010db2598f swift::irgen::MetadataPath::follow(swift::irgen::IRGenFunction&, swift::irgen::LocalTypeDataKey, llvm::Value*, swift::EncodedSequence<swift::irgen::MetadataPath::Component>::iterator, swift::EncodedSequence<swift::irgen::MetadataPath::Component>::iterator, swift::EncodedSequence<swift::irgen::MetadataPath::Component>::Map<llvm::Value*>*) + 399
    5  swift                    0x000000010da27c20 swift::irgen::emitArchetypeWitnessTableRef(swift::irgen::IRGenFunction&, swift::CanTypeWrapper<swift::ArchetypeType>, swift::ProtocolDecl*) + 1264
    6  swift                    0x000000010db28b23 swift::irgen::emitWitnessTableRef(swift::irgen::IRGenFunction&, swift::CanType, llvm::Value**, swift::ProtocolConformanceRef) + 83
    7  swift                    0x000000010db29a70 swift::irgen::emitWitnessMethodValue(swift::irgen::IRGenFunction&, swift::CanType, llvm::Value**, swift::SILDeclRef, swift::ProtocolConformanceRef, swift::irgen::Explosion&) + 192
    8  swift                    0x000000010db7da81 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 6401
    9  swift                    0x000000010db799b0 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 9152
    10 swift                    0x000000010da843ee swift::irgen::IRGenerator::emitGlobalTopLevel() + 1022
    11 swift                    0x000000010db5bb7b performIRGeneration(swift::IRGenOptions&, swift::ModuleDecl*, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, llvm::GlobalVariable**, unsigned int) + 1243
    12 swift                    0x000000010d9e20aa performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 16778
    13 swift                    0x000000010d9dc6b4 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 7716
    14 swift                    0x000000010d9915d8 main + 12248
    15 libdyld.dylib            0x00007fff92058235 start + 1
    
    opened by jorge-ramirez 1
  • Bump excon from 0.64.0 to 0.71.0

    Bump excon from 0.64.0 to 0.71.0

    Bumps excon from 0.64.0 to 0.71.0.

    Changelog

    Sourced from excon's changelog.

    0.71.0 2019-12-12

    fix for leftover data with interrupted persistent connections

    0.70.0 2019-12-02

    Update bundled certificates

    0.69.1 2019-11-21

    Fix mistake in proxy connection error handling

    0.69.0 2019-11-21

    Raise better proxy connection errors

    0.68.0 2019-10-25

    Updated bundled certs

    0.67.0 2019-09-24

    Properly redact user/pass info from proxy credentials Update bundled certs

    0.66.0 2019-08-06

    Add remote_ip to datum, enabling usage in middleware redirect follower now raises after following too many redirects (default 10) fixed stub clearing in tests to avoid race conditions

    0.65.0 2019-07-22

    fix yardoc formatting fix creating Proc without a block reduce/refine gem file contents update bundled certs readd bundled certs to gem file contents

    Commits
    • 1149d44 v0.71.0
    • ccb57d7 fix for leftover data with interrupted persistent connections
    • f8de8cf v0.70.0
    • 93f4a21 v0.69.1
    • e89bbb7 Merge pull request #709 from jasquat/fix_response_status_check
    • 5647437 fixed response status check when making a request with a valid proxy is set
    • f769176 v0.69.0
    • 20c0748 define ProxyConnectionError
    • f44106a raise on failed proxy connect
    • d7ed5fe be thorough in unsubscribing to notifications in instrumentation tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Feature/more generic wait

    Feature/more generic wait

    Added more generic wait(forFulfillmentOf...) method. Existing wait(...) methods are using this new method now. Added wait(forInvisibilityOf...) method for waiting until the element disappear.

    opened by mmysliwiec 0
  • Bump addressable from 2.6.0 to 2.8.1

    Bump addressable from 2.6.0 to 2.8.1

    Bumps addressable from 2.6.0 to 2.8.1.

    Changelog

    Sourced from addressable's changelog.

    Addressable 2.8.1

    • refactor Addressable::URI.normalize_path to address linter offenses (#430)
    • remove redundant colon in Addressable::URI::CharacterClasses::AUTHORITY regex (#438)
    • update gemspec to reflect supported Ruby versions (#466, #464, #463)
    • compatibility w/ public_suffix 5.x (#466, #465, #460)
    • fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters (#459)
    • Ractor compatibility (#449)
    • use the whole string instead of a single line for template match (#431)
    • force UTF-8 encoding only if needed (#341)

    #460: sporkmonger/addressable#460 #463: sporkmonger/addressable#463 #464: sporkmonger/addressable#464 #465: sporkmonger/addressable#465 #466: sporkmonger/addressable#466

    Addressable 2.8.0

    • fixes ReDoS vulnerability in Addressable::Template#match
    • no longer replaces + with spaces in queries for non-http(s) schemes
    • fixed encoding ipv6 literals
    • the :compacted flag for normalized_query now dedupes parameters
    • fix broken escape_component alias
    • dropping support for Ruby 2.0 and 2.1
    • adding Ruby 3.0 compatibility for development tasks
    • drop support for rack-mount and remove Addressable::Template#generate
    • performance improvements
    • switch CI/CD to GitHub Actions

    Addressable 2.7.0

    • added :compacted flag to normalized_query
    • heuristic_parse handles mailto: more intuitively
    • dropped explicit support for JRuby 9.0.5.0
    • compatibility w/ public_suffix 4.x
    • performance improvements
    Commits
    • 8657465 Update version, gemspec, and CHANGELOG for 2.8.1 (#474)
    • 4fc5bb6 CI: remove Ubuntu 18.04 job (#473)
    • 860fede Force UTF-8 encoding only if needed (#341)
    • 99810af Merge pull request #431 from ojab/ct-_do_not_parse_multiline_strings
    • 7ce0f48 Merge branch 'main' into ct-_do_not_parse_multiline_strings
    • 7ecf751 Merge pull request #449 from okeeblow/freeze_concatenated_strings
    • 41f12dd Merge branch 'main' into freeze_concatenated_strings
    • 068f673 Merge pull request #459 from jarthod/iso-encoding-problem
    • b4c9882 Merge branch 'main' into iso-encoding-problem
    • 08d27e8 Merge pull request #471 from sporkmonger/sporkmonger-enable-codeql
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump tzinfo from 1.2.5 to 1.2.10

    Bump tzinfo from 1.2.5 to 1.2.10

    Bumps tzinfo from 1.2.5 to 1.2.10.

    Release notes

    Sourced from tzinfo's releases.

    v1.2.10

    TZInfo v1.2.10 on RubyGems.org

    v1.2.9

    • Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). #123.

    TZInfo v1.2.9 on RubyGems.org

    v1.2.8

    • Added support for handling "slim" format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. #120.
    • Rubinius is no longer supported.

    TZInfo v1.2.8 on RubyGems.org

    v1.2.7

    • Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
    • Fixed warnings when running on Ruby 2.8. #112.

    TZInfo v1.2.7 on RubyGems.org

    v1.2.6

    • Timezone#strftime('%s', time) will now return the correct number of seconds since the epoch. #91.
    • Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
    • Fixed "SecurityError: Insecure operation - require" exceptions when loading data with recent Ruby releases in safe mode.
    • Fixed warnings when running on Ruby 2.7. #106 and #111.

    TZInfo v1.2.6 on RubyGems.org

    Changelog

    Sourced from tzinfo's changelog.

    Version 1.2.10 - 19-Jul-2022

    Version 1.2.9 - 16-Dec-2020

    • Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). #123.

    Version 1.2.8 - 8-Nov-2020

    • Added support for handling "slim" format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. #120.
    • Rubinius is no longer supported.

    Version 1.2.7 - 2-Apr-2020

    • Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
    • Fixed warnings when running on Ruby 2.8. #112.

    Version 1.2.6 - 24-Dec-2019

    • Timezone#strftime('%s', time) will now return the correct number of seconds since the epoch. #91.
    • Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
    • Fixed "SecurityError: Insecure operation - require" exceptions when loading data with recent Ruby releases in safe mode.
    • Fixed warnings when running on Ruby 2.7. #106 and #111.
    Commits
    • 0814dcd Fix the release date.
    • fd05e2a Preparing v1.2.10.
    • b98c32e Merge branch 'fix-directory-traversal-1.2' into 1.2
    • ac3ee68 Remove unnecessary escaping of + within regex character classes.
    • 9d49bf9 Fix relative path loading tests.
    • 394c381 Remove private_constant for consistency and compatibility.
    • 5e9f990 Exclude Arch Linux's SECURITY file from the time zone index.
    • 17fc9e1 Workaround for 'Permission denied - NUL' errors with JRuby on Windows.
    • 6bd7a51 Update copyright years.
    • 9905ca9 Fix directory traversal in Timezone.get when using Ruby data source
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump cocoapods-downloader from 1.2.2 to 1.6.3

    Bump cocoapods-downloader from 1.2.2 to 1.6.3

    Bumps cocoapods-downloader from 1.2.2 to 1.6.3.

    Release notes

    Sourced from cocoapods-downloader's releases.

    1.6.3

    Enhancements
    • None.
    Bug Fixes
    • None.

    1.6.2

    Enhancements
    • None.
    Bug Fixes
    • None.

    1.6.1

    Enhancements
    • None.
    Bug Fixes
    • None.

    1.6.0

    Enhancements
    • None.
    Bug Fixes
    • Adds a check for command injections in the input for hg and git.
      orta #124

    1.5.1

    Enhancements
    • None.
    Bug Fixes
    • Fix "can't modify frozen string" errors when pods are integrated using the branch option
      buju77 #10920

    1.5.0

    ... (truncated)

    Changelog

    Sourced from cocoapods-downloader's changelog.

    1.6.3 (2022-04-01)

    Enhancements
    • None.
    Bug Fixes
    • None.

    1.6.2 (2022-03-28)

    Enhancements
    • None.
    Bug Fixes
    • None.

    1.6.1 (2022-03-23)

    Enhancements
    • None.
    Bug Fixes
    • None.

    1.6.0 (2022-03-22)

    Enhancements
    • None.
    Bug Fixes
    • Adds a check for command injections in the input for hg and git.
      orta #124

    1.5.1 (2021-09-07)

    Enhancements
    • None.

    ... (truncated)

    Commits
    • c03e2ed Release 1.6.3
    • f75bccc Disable Bazaar tests due to macOS 12.3 not including python2
    • 52a0d54 Merge pull request #128 from CocoaPods/validate_before_dl
    • d27c983 Ensure that the git pre-processor doesn't accidentally bail also
    • 3adfe1f [CHANGELOG] Add empty Master section
    • 591167a Release 1.6.2
    • d2564c3 Merge pull request #127 from CocoaPods/validate_before_dl
    • 99fec61 Switches where we check for invalid input, to move it inside the download fun...
    • 96679f2 [CHANGELOG] Add empty Master section
    • 3a7c54b Release 1.6.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump redcarpet from 3.4.0 to 3.5.1

    Bump redcarpet from 3.4.0 to 3.5.1

    Bumps redcarpet from 3.4.0 to 3.5.1.

    Release notes

    Sourced from redcarpet's releases.

    Redcarpet v3.5.1

    Fix a security vulnerability using :quote in combination with the :escape_html option.

    Reported by Johan Smits.

    v3.5.0

    This release mostly ships with bug fixes and tiny improvements.

    Improvements

    • Avoid mutating the options hash passed to a render object (See #663).

    • Automatically enable the fenced_code_blocks option passing a HTML_TOC object to the Markdown object's constructor since some languages rely on the sharp to comment code (See #451).

    • Remove the rel and rev attributes from the output generated for footnotes as they don't pass the HTML 5 validation (See #536).

    • Allow passing Range objects to the nesting_level option to have a higher level of customization for table of contents (See #519):

      Redcarpet::Render::HTML_TOC.new(nesting_level: 2..5)
      

    Bug fixes

    • Fix a segfault rendering quotes using StripDown and the :quote option.

    • Fix SmartyPants single quotes right after a link. For example:

      [John](http://john.doe)'s cat
      

      Will now properly converts ' to a right single quote (i.e. ).

    Changelog

    Sourced from redcarpet's changelog.

    Version 3.5.1 (Security)

    • Fix a security vulnerability using :quote in combination with the :escape_html option.

      Reported by Johan Smits.

    Version 3.5.0

    • Avoid mutating the options hash passed to a render object.

      Refs #663.

      Max Schwenk

    • Fix a segfault rendering quotes using StripDown and the :quote option.

      Fixes #639.

    • Fix warning: instance variable @options not initialized when running under verbose mode (-w, $VERBOSE = true).

    • Fix SmartyPants single quotes right after a link. For example:

      [John](http://john.doe)'s cat
      

      Will now properly converts ' to a right single quote (i.e. ).

      Fixes #624.

    • Remove the rel and rev attributes from the output generated for footnotes as they don't pass the HTML 5 validation.

      Fixes #536.

    • Automatically enable the fenced_code_blocks option passing a HTML_TOC object to the Markdown object's constructor since some languages rely on the sharp to comment code.

      Fixes #451.

    • Allow passing Range objects to the nesting_level option to have a higher level of customization for table of contents:

      Redcarpet::Render::HTML_TOC.new(nesting_level: 2..5)
      

    ... (truncated)

    Commits
    • a699c82 Fix a security issue using :quote with :escape_html
    • 6270d6b Redcarpet v3.5.0
    • 94f6e27 Tiny follow-up to #663
    • 3100f65 Merge pull request #663 from maschwenk/dont-mutate-options
    • fc52d9c Add regression test
    • 03e7997 Don't mutated passed options
    • 92a7b3a Fix a segfault with StripDown and the :quote option
    • 7352162 Merge pull request #649 from rbalint/master
    • e23383e Merge pull request #650 from kolen/fix-warning-options-not-initialized
    • 6b86656 Fix "instance variable @options not initialized" warning
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • After changing swift optimization level, the compile still failed

    After changing swift optimization level, the compile still failed

    Hello, My carthage update doesn't work at the compiling. I followed tips online to change the optimization level to "fast single" and rerun, but got below errors. Please help out. I'm interested in the framework and would like to have a try in our UI testing. Thanks.

    warning: redundant conformance constraint 'Self': 'SystemMessages'
    public protocol HealthAlertOk: SystemAlertOk, SystemMessages { }
                                                  ^
    /Users/QArt/AB/SVNCode/iOS/Pay/branches/GatewayServiceNewUI/AnBangPay_ios/HisunPayUITests/CarthageBuild/Carthage/Checkouts/AutoMate/AutoMate/HealthAlert.swift:15:32: note: conformance constraint 'Self': 'SystemMessages' implied here
    public protocol HealthAlertOk: SystemAlertOk, SystemMessages { }
                                   ^
    
    <unknown>:0: error: unable to execute command: Segmentation fault: 11
    <unknown>:0: error: compile command failed due to signal 11 (use -v to see invocation)
    ** ARCHIVE FAILED **
    
    
    The following build commands failed:
    	CompileSwift normal arm64 /Users/QArt/AB/SVNCode/iOS/Pay/branches/GatewayServiceNewUI/AnBangPay_ios/HisunPayUITests/CarthageBuild/Carthage/Checkouts/AutoMate/AutoMate/Models/HealthAlerts.swift
    	CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
    (2 failures)
    
    opened by havenqi 1
Releases(1.8.0)
  • 1.8.0(Jul 18, 2020)

  • 1.7.1(Jul 21, 2019)

  • 1.7.0(May 12, 2019)

  • 1.6.0(Oct 27, 2018)

  • 1.5.0(Jan 11, 2018)

  • 1.4.4(Jan 1, 2018)

  • 1.4.3(Nov 14, 2017)

    Released on 2017-11-14.

    Added

    • Compatibility with Xcode 9.1, Swift 4 and iOS 11

    Updated

    • Deployment target of AutoMate and AutoMateExample is now 10.3
    Source code(tar.gz)
    Source code(zip)
  • 1.4.2(Nov 14, 2017)

  • 1.4.1(Oct 20, 2017)

  • 1.4.0(Jul 3, 2017)

  • 1.3.1(Apr 11, 2017)

    Released on 2017-04-11.

    Added

    • Smart coordinates SmartXCUICoordinate.

    Updated

    • Disabled Bitcode for Cocoapods.
    • Adjusted swipe and tap methods to use smart coordinates.
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Apr 10, 2017)

    Released on 2017-04-10.

    Added

    • Added element(withIdentifier:labels:labelComparisonOperator:)
    • Added swipe(to:times:avoid:from:until:), swipe(to:untilExist:times:avoid:from:) and swipe(to:untilVisible:times:avoid:from:) to use with collection views.
    • Improve launch options type safety
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Mar 29, 2017)

    Released on 2017-03-29.

    Added

    • A more generic version of wait(...) methods: wait(forFulfillmentOf predicate:...).
    • wait(forInvisibilityOf...) method which is waiting for the element to disappear.
    • Compatibility with Xcode 8.3 and Swift 3.1.
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Mar 15, 2017)

    Released on 2017-03-15.

    Added

    • Page Objects: BaseAppPageProtocol, BaseAppPage, ModalPage, PushedPage, HealthPermissionView
    • IdentifiableByElement protocol
    • Locator protocol
    • AppUITestCase as base XCTestCase template
    • Disable UIView animations (with AutoMate-AppBuddy)
    • Improve handling of system alerts (with AutoMate-ModelGenie)
    • Most permissions alerts (like: LocationWhenInUseAlert, CalendarAlert, PhotosAlert) (with AutoMate-Templates)
    • Managing events, reminders and contacts (with AutoMate-AppBuddy)

    Updated

    • Documentation
    Source code(tar.gz)
    Source code(zip)
  • 1.0(Sep 23, 2016)

    Released on 2016-09-23.

    Added

    • CoreData debug launch options.
    • String localization debug options.
    • Extensions for UI Testing.

    Updated

    • Improved documentation.
    Source code(tar.gz)
    Source code(zip)
Owner
PGS Software
PGS Software
Detailed explanations and implementations of various maths concepts for writing high performance code/algorithms backed with Unit tests.

Detailed explanations and implementations of various maths concepts which can help software Engineers write high performance code/algorithms backed with Unit tests.

Mussa Charles 2 Sep 25, 2022
Gauntlet is a collection of testing utility methods that aims to make writing great tests easier.

Gauntlet What is Gauntlet? Gauntlet is a collection of testing utility methods that aims to make writing great tests easier and with more helpful and

null 11 Dec 17, 2022
iOS UI Automation Test Framework

Deprecation: EarlGrey 1.0 is deprecated in favor of EarlGrey 2.0 which integrates it with XCUITest. Please look at the earlgrey2 branch. EarlGrey 1.0

Google 5.5k Dec 30, 2022
A simple and lightweight matching library for XCTest framework.

Match A simple and lightweight matching library for XCTest framework. Getting started Swift Package Manager You can add Match to your project by addin

Michał Tynior 6 Oct 23, 2022
The XCTest Project, A Swift core library for providing unit test support

XCTest The XCTest library is designed to provide a common framework for writing unit tests in Swift, for Swift packages and applications. This version

Apple 1k Jan 4, 2023
This repository accompanies Test-Driven Development in Swift: Compile Better Code with XCTest and TDD

Apress Source Code This repository accompanies Test-Driven Development in Swift: Compile Better Code with XCTest and TDD by Gio Lodi (Apress, 2021). D

Apress 57 Jan 1, 2023
XCTestCrashDemo - XCTest Crash Demo with swift

XCTest Crash Demo This repo intends to centralize XCTest crash errors and the wa

Omar Zúñiga 0 Jan 3, 2022
Assertions for XCTest which prevent fatal errors causing the process to die.

Hela Assertions for XCTest which prevent fatal errors causing the process to die. The following assertions are supported. These functions are built on

Brennan Stehling 3 Nov 7, 2022
Mockit is a Tasty mocking framework for unit tests in Swift 5.0

Mockit Introduction Mockit is a Tasty mocking framework for unit tests in Swift 5.0. It's at an early stage of development, but its current features a

Syed Sabir Salman-Al-Musawi 118 Oct 17, 2022
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.

XCTestExtensions Features XCTAssertEventually (that convenient assertions for writing Unit Test). Use "XCTAssertEventually", you can write asynchronou

shindyu 22 Dec 1, 2022
Swift Package with examples of how to tests iOS apps

GimmeTheCodeTDD A swift package with examples of unit tests in iOS development. Requirements Xcode 13 Content Dependency Injection Constructor Injecti

Dominik Hauser 8 Oct 11, 2021
Freezer is a library that allows your Swift tests to travel through time by mocking NSDate class.

Freezer Freezer is a library that allows your Swift tests to travel through time by mocking NSDate class. Usage Once Freezer.start() has been invoked,

Sergey Petrov 8 Sep 24, 2022
Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript.

Erik Erik is a headless browser based on WebKit and HTML parser Kanna. An headless browser allow to run functional tests, to access and manipulate web

Eric Marchand 544 Dec 30, 2022
Trying to implement Unit Tests for @Binding properties in a ViewModel

BindingTester Trying to implement Unit Tests for @Binding properties in a ViewModel ViewModel to be tested class SheetViewModel: ObservableObject {

Raphael Guye 0 Oct 22, 2021
Library for unifying the approach to network mocking in iOS unit- & UI-tests.

TinkoffMockStrapping Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements Installati

Online financial ecosystem 22 Jan 3, 2023
Catching fatal errors in unit tests

Precondition Catching When running tests which hit fatal errors, often preconditions the built-in support with XCTest. One package which supports cach

Brennan Stehling 0 Nov 28, 2021
Small library to easily run your tests directly within a Playground

[] (https://developer.apple.com/swift/) Build Status Branch Status master develop About PlaygroundTDD enables you to use TDD directly on Xcode Playgro

Whiskerz AB 317 Nov 22, 2022
Write unit tests which test the layout of a view in multiple configurations

Overview This library enables you to write unit tests which test the layout of a view in multiple configurations. It tests the view with different dat

LinkedIn 565 Nov 16, 2022
Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine

Bluepill is a tool to run iOS tests in parallel using multiple simulators. Motivation LinkedIn created Bluepill to run its large iOS test suite in a r

Mobile Native Foundation 3.1k Jan 3, 2023