我一直在尝试将SwiftMonkey-Target添加到当前项目中几个小时,但似乎没有任何效果。
https://github.com/zalando/SwiftMonkey中的Example-Project正在运行。一切都以相同的方式设置/根据说明进行。
在XCode 10.1上运行
已安装Pod(至iOS 11.0基本级别)
SwiftMonkeyPaws导入到AppDelegate,启动时分配了爪子
新的UI测试部署目标,调用示例testMonkey()函数
方案仅设置为“测试”(不运行),例如在example-project中
方案部署目标设置为11.0
这是测试代码(与示例代码相同):
import XCTest
import SwiftMonkey
class AdviceAppMonkeyTests: XCTestCase {
override func setUp() {
super.setUp()
XCUIApplication().launch()
}
override func tearDown() {
super.tearDown()
}
func testMonkey() {
let application = XCUIApplication()
_ = application.descendants(matching: .any).element(boundBy: 0).frame
let monkey = Monkey(frame: application.frame)
monkey.addDefaultXCTestPrivateActions()
monkey.addDefaultUIAutomationActions()
monkey.addXCTestTapAlertAction(interval: 100, application: application)
monkey.monkeyAround(forDuration: 10)
}
}
这是我的podfile:
platform :ios, '11.0'
use_frameworks!
def advice_pods
pod 'SwiftyJSON'
pod 'Firebase/Core'
pod 'Firebase/AdMob'
pod 'SwiftLint'
end
target 'AdviceApp' do
advice_pods
pod 'SwiftMonkeyPaws', '~> 2.1.0'
end
target 'Daily Advice' do
advice_pods
end
target 'AdviceAppTests' do
advice_pods
end
target 'AdviceAppMonkeyTests' do
advice_pods
pod 'SwiftMonkey', '~> 2.1.0'
end
运行测试时,我会收到“测试失败”警告以及
2019-01-07 10:15:54.790962 + 0100 AdviceAppMonkeyTests-Runner [14731:110840]无法加载捆绑包“ AdviceAppMonkeyTests”,因为它已损坏或缺少必要的资源。尝试重新安装捆绑软件。
2019-01-07 10:15:54.791073 + 0100 AdviceAppMonkeyTests-Runner [14731:110840](dlopen_preflight(/Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/AdviceAppMonkeyTests):库未加载:@ rpath / libswiftSwiftOnoneSupport.dylib
引用自:/Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products/Debug-iphonesimulator/AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests。
原因:找不到图片)
您有什么想法可以尝试吗?
最佳答案
我与创作者合作了几天,以解决这个问题,我们发现了:)
此处的所有详细信息:https://github.com/zalando/SwiftMonkey/issues/71
TLDR:
use_frameworks仅需要进入主要目标的目标舱内
platform :ios, '11.0'
target 'AdviceApp' do
use_frameworks!
pod 'SwiftyJSON'
pod 'Firebase/Core'
pod 'Firebase/AdMob'
pod 'SwiftLint'
pod 'SwiftMonkeyPaws'
end
target 'AdviceAppMonkeyTests' do
pod 'SwiftMonkey', '~> 2.1.0'
pod 'SwiftLint'
end
另外,也可以将构建系统设置为“旧版”以使其正常运行,但是将来有很大的可能出错。
关于ios - 基本的SwiftMonkey实现失败,并显示“无法加载捆绑包”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54071733/