我在iOS应用中进行了一些UI测试,但我发现了一些奇怪的行为。
在我的setUp()
方法中,我向XCUIApplication().launchArguments
添加了一些值,但当我查询启动参数时,我正在获取并清空数组。
这就是我的setUp()
方法的样子:
override func setUp() {
super.setUp()
let application = XCUIApplication()
application.launchArguments = ["USE_SERVER_DEBUG"]
application.launch()
}
这是调用Process.arguments
来检索参数的函数
func checkArguments(){
let launchArguments = Process.arguments
for index in 0 ..< launchArguments.count {
let argument = launchArguments[index] as String
if argument.compare("USE_DEBUG_SERVER") == NSComparisonResult.OrderedSame {
// Do something
}
}
return true
}
答案 0 :(得分:0)
我不确定Exception in thread "Thread-1" java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at com.swa.rm.common.util.SingleBlockingQueue.take(SingleBlockingQueue.java:29)
at RxOperatorTest$testSingleBlockingQueue$2.invoke(RxOperatorTest.kt:33)
at RxOperatorTest$testSingleBlockingQueue$2.invoke(RxOperatorTest.kt:8)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:18)
是您自己的班级还是拼写错误,但您应该使用Process
。
NSProcessInfo
另外,我通常建议不要设置启动参数。相反,您应追加给他们。但这比任何事情都更符合最佳做法。
if NSProcessInfo.processInfo().arguments.contains("USE_SERVER_DEBUG") {
// Do something
}