- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在尝试删除应用程序的类拆解,但它无法识别 app.terminate()。
class DeviceSettingsUtilities : UITestUtilities {
func removeApp(productName:String){
print("in teardown")
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
XCUIApplication().terminate() // this does nothing
XCUIApplication(bundleIdentifier: "com.xxx.xxxx").terminate()//this does nothing too, but this works when called as an instance teardown
sleep(5)
springboard.activate()
let icon = springboard.icons.matching(identifier: productName).firstMatch
// icon.exists is false when called as a class teardown
// icon.exists is true when called as an instance teardown
if icon.exists {
let iconFrame = icon.frame
let springboardFrame = springboard.frame
icon.press(forDuration:1.3)
springboard.coordinate(withNormalizedOffset: CGVector(dx: ((iconFrame.minX + 3) / springboardFrame.maxX), dy:((iconFrame.minY + 3) / springboardFrame.maxY))).tap()
sleep(5)
springboard.buttons["Delete"].firstMatch.tap()
sleep(5)
}
XCUIApplication().terminate()
}
这是在测试用例类的拆卸方法中调用的,如下所示
override class func tearDown() {
super.tearDown()
let deviceSettings = DeviceSettingsUtilities()
deviceSettings.removeApp(productName: ProductName.rawValue)
}
这不会删除应用程序,但是如果我将类 func tearDown() 更改为 func tearDown() ,它会毫无问题地删除应用程序。不知道我错过了什么。有什么建议吗?
最佳答案
这似乎是最新 Xcode 10 中的一个错误。当声明为 class
时,XCUIApplication.terminate()
在 tearDown()
中似乎不起作用。
这可以通过两种方式解决:
第一个选项是使用:
override func tearDown() {
XCUIApplication().terminate()
super.tearDown()
}
代替:
override class func tearDown() {…}
或者,以不同方式终止应用程序(按主页按钮,打开不同的应用程序...)。但是,我会使用第一种方式。
同时考虑向 Apple 报告此问题,以便他们修复。
编辑:这与应用程序状态 (XCUIApplication().state.rawValue
) 无关,因为它在测试和 tearDown()
中相同(4 = 前台运行
)。此外 - 官方文档说 .terminate()
将终止应用程序,该应用程序与 Xcode 有一个调试 session ,但调试 session 在 tearDown()
中也处于事件状态。所以它真的很可能是 Xcode 中的一个错误。
关于swift - XCUITest 类拆解不会删除应用程序。但是如果它的实例被拆解就可以工作。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53181823/
我最低限度地使用 pytest 作为针对工作中各种 API 产品的大型自动化集成测试的通用测试运行器,并且我一直在尝试寻找一个同样通用的拆卸函数示例,该函数在任何测试完成时运行,无论成功或失败。 我的
我不需要编码器,我已经有了 XML 文件。所以我在关注this guide查看如何解码 CDATA 中的内容。但是,我发现,如果我跳过 main 中的编码部分而只执行解码部分,它似乎不起作用。所以我的
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How do I stop name-mangling of my DLL's exported funct
产品岗在很多公司就是螺丝钉样的存在。不仅JAVA、UI、Axure得手到擒来,文案、手册、幻灯片还要充满情怀,连运营活动都似乎是产品的分内工作了 T_T 那么作为初级产品要怎么运营好一
我是 Python 新手。我有一个单例装饰器定义为: def singleton(cls): instances = {} def getinstance(): if
我正在努力构建基于 ggplot 对象的双轴图。根据巴蒂斯特的建议,我已将问题分解为更小的部分。目前的问题是: 如何从grobs中删除所有数据,同时保留轴、轴标签、轴刻度线和网格线?我的意思是与 ge
我有一个数据集,我在其中存储不同类/子类型的副本(不确定如何调用它),然后存储每个类/子类型的属性。本质上,有 5 个子类型/类,每个子类型/类有 4 个重复,以及测量的 100 个属性。 是否有像
我是一名优秀的程序员,十分优秀!