Skip to content

Commit

Permalink
SPM support
Browse files Browse the repository at this point in the history
  • Loading branch information
A161717 committed Sep 6, 2023
1 parent 46fb455 commit 4bf2a3c
Show file tree
Hide file tree
Showing 34 changed files with 133 additions and 18 deletions.
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ jobs:
run: bundle exec fastlane ui_test

- name: Uploading Artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: tests Artifacts
Expand Down
32 changes: 24 additions & 8 deletions Example/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,22 @@ GEM
json (>= 1.5.1)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.795.0)
aws-sdk-core (3.180.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.132.0)
aws-sdk-core (~> 3, >= 3.179.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
cocoapods (1.12.0)
Expand Down Expand Up @@ -60,7 +76,7 @@ GEM
highline (~> 2.0.0)
concurrent-ruby (1.2.2)
declarative (0.0.20)
digest-crc (0.6.4)
digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
Expand All @@ -69,7 +85,7 @@ GEM
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
excon (0.99.0)
excon (0.100.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
Expand Down Expand Up @@ -99,7 +115,7 @@ GEM
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.7)
fastlane (2.213.0)
fastlane (2.214.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
Expand Down Expand Up @@ -142,9 +158,9 @@ GEM
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.42.0)
google-apis-androidpublisher_v3 (0.46.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.0)
google-apis-core (0.11.1)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
Expand Down Expand Up @@ -173,7 +189,7 @@ GEM
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.5.2)
googleauth (1.7.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
Expand All @@ -188,7 +204,7 @@ GEM
concurrent-ruby (~> 1.0)
jmespath (1.6.2)
json (2.6.3)
jwt (2.7.0)
jwt (2.7.1)
memoist (0.16.2)
mini_magick (4.12.0)
mini_mime (1.1.2)
Expand Down Expand Up @@ -260,7 +276,7 @@ PLATFORMS

DEPENDENCIES
cocoapods (= 1.12)
fastlane (= 2.213.0)
fastlane (= 2.214.0)

BUNDLED WITH
2.4.3
3 changes: 3 additions & 0 deletions Example/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ post_install do |installer|
end
end
end



6 changes: 3 additions & 3 deletions Example/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ PODS:
- Nimble-Snapshots/Core (8.3.0):
- iOSSnapshotTestCase (~> 6.0)
- Nimble
- Swerkin (0.0.1):
- Swerkin (0.0.2):
- KIF
- KIF/IdentifierTests

Expand All @@ -42,8 +42,8 @@ SPEC CHECKSUMS:
KIF: 779cdbca106633b94ecee7b036537490ebdbd9de
Nimble: e7e615c0335ee4bf5b0d786685451e62746117d5
Nimble-Snapshots: e4a2f67f05e3a22f71fb9d89801af93eb91df6de
Swerkin: 74bafb1e803b9a3ac70f1cd9478b73655efd11c8
Swerkin: 33a99f25b195fb8c76651abfcc7fb411ccbd2cf0

PODFILE CHECKSUM: 7d74d8bbd439ef78be59aa3d435ff04712a1764c
PODFILE CHECKSUM: 6d45652046ab32a4c231573edf09261c28090c77

COCOAPODS: 1.12.1
13 changes: 7 additions & 6 deletions Example/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ if (installed_xcodes.empty? || !installed_xcodes.include?(requested_xcode))
end
end

simulator = "iPhone 14 Pro"
simulator = "iPhone 14 Pro (16.4)"

# Select Xcode Defined in ENV or Fastfile
xcode_select requested_xcode
Expand All @@ -66,21 +66,22 @@ default_platform(:ios)
platform :ios do
lane :ui_test do
scan(
workspace: "Swerkin.xcworkspace",
scheme: "Swerkin-UITests",
only_testing: "Swerkin-UITests",
test_without_building: true,
devices: [simulator],
configuration: "Debug",
sdk: "iphonesimulator",
workspace: "Swerkin.xcworkspace",
devices: [simulator],
output_types: "junit,html",
output_files: "swerkin_app.junit",
result_bundle: true,
buildlog_path: "./fastlane/test_output"
)
)
end

lane :unit_test do
scan(
scan(
workspace: "Swerkin.xcworkspace",
scheme: "Swerkin-UnitTests",
only_testing: "Swerkin-UnitTests",
Expand All @@ -90,7 +91,7 @@ platform :ios do
output_files: "swerkin_app.junit",
result_bundle: true,
buildlog_path: "./fastlane/test_output"
)
)
end

lane :build_for_testing do
Expand Down
39 changes: 39 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// swift-tools-version:5.3

import PackageDescription

let package = Package(
name: "Swerkin",
defaultLocalization: "en",
platforms: [.iOS(.v12)],
products: [
// Products define the executables and libraries a package produces, making them visible to other packages.
.library(
name: "Swerkin",
targets: ["Swerkin", "SwerkinAdditions"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
.package(url: "https://github.com/kif-framework/KIF.git", .upToNextMajor(from: "3.8.9"))],
targets: [
// Targets are the basic building blocks of a package, defining a module or a test suite.
// Targets can depend on other targets in this package and products from dependencies.
.target(
name: "SwerkinAdditions",
dependencies: [],
path: "Sources",
exclude: ["Swerkin", "../Example"],
publicHeadersPath: ".",
cSettings: [
.headerSearchPath(".")
]
),
.target(
name: "Swerkin",
dependencies: ["KIF","SwerkinAdditions"],
path: "Sources",
exclude: ["SwerkinAdditions", "../Example"])
],
swiftLanguageVersions: [.v5]
)
2 changes: 2 additions & 0 deletions Sources/Swerkin/Classes/Extensions/UIView+Accessibility.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit

public typealias AccessibilityPair = (label: String, identifier: String)

public extension UIView {
Expand Down
2 changes: 2 additions & 0 deletions Sources/Swerkin/Classes/Extensions/XCTestCase+KIF.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ import Foundation
import XCTest
import KIF


#if SWIFT_PACKAGE
@_exported import SwerkinAdditions
#endif


extension XCTestCase {

var tester: KIFUIViewTestActor { return viewTester() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit
import XCTest

public extension Assertable where Self: Screen {

func elementExists(withIdentifier identifier: String) -> Bool {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit
import XCTest

extension Steps: Assertable {

public func elementExists(withIdentifier identifier: String) -> Bool {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit

public protocol Assertable: ElementAssertable, WaitAssertable, TextFieldAssertable, ButtonAssertable, ImageAssertable, LabelAssertable, TableCellAssertable { }

public protocol ElementAssertable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import KIF

public extension Touchable where Self: Screen {

func touchView(withIdentifier id: String? = nil, withLabel label: String? = nil,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import KIF


extension Steps: Touchable {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import KIF

public protocol Touchable: ElementTouchable, SwitchTouchable, TextFieldTouchable, ButtonTouchable, DropDownTouchable, TableCellTouchable { }

public protocol ElementTouchable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit

public protocol Viewable {
func element(withIdentifier identifier: String) -> UIView?
func element(withLabel label: String) -> UIView?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit

public extension Viewable where Self: Screen {
func element(withIdentifier identifier: String) -> UIView? {
return self.viewTester.view(withIdentifier: identifier)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import UIKit

extension Steps: Viewable {
public func element(withIdentifier identifier: String) -> UIView? {
return self.viewTester.view(withIdentifier: identifier)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import KIF

extension Steps {

/// Swipe in the given direction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/
import XCTest

extension Steps {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import CoreFoundation
import CoreGraphics

extension Steps {

/// Touch text box with a given accessibility identifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import CoreFoundation
import CoreGraphics
import XCTest

extension Steps {

/// Touch element with given accessibility label
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/

import XCTest
import UIKit

extension Steps {

/// Wait for trait defined by the given screen object displays otherwise fail step
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/
import XCTest

extension Steps {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/
import XCTest

extension Steps {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/
import XCTest

extension Steps {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
All Rights Reserved.Use of this source code is governed by an MIT license that can be found in the LICENSE file at https://github.com/Progressive/Swerkin/LICENSE.md
*/
import XCTest

extension Steps {

Expand Down
Loading

0 comments on commit 4bf2a3c

Please sign in to comment.