Xcode UI 测试 - 拆解后 swipeRight() 不起作用
Posted
技术标签:
【中文标题】Xcode UI 测试 - 拆解后 swipeRight() 不起作用【英文标题】:Xcode UI test - swipeRight() not working after tearDown 【发布时间】:2016-04-22 19:15:42 【问题描述】:我有一个在每次tearDown()
期间都会调用的注销函数,但以这种方式调用时不起作用。如果我在测试期间调用相同的注销功能,它工作正常。我想知道在拆解期间 XCUI 测试的行为是什么,有限制吗?我尝试使用 lldb 调试和调用 app.swipeRight() (espression->write code)...
-------
Navbar.swift
-------
import XCTest
import Foundation
class NavbarTest: XCTestCaseLib
override func setUp()
super.setUp()
continueAfterFailure = false
override func tearDown()
logout()
super.tearDown()
func testSideBar_STAGING()
//...<test code that executes no problem>
//...
-----
XCTestCaseLib.swift
------
import XCTest
import Foundation
class XCTestCaseLib: XCTestCase
let app = XCUIApplication()
func logout()
app.swipeRight()
...
【问题讨论】:
您确定tearDown()
函数正在执行吗?在那里添加一个日志语句以确保。另外,如果您调用self.logout()
而不是logout()
,行为会改变吗?
【参考方案1】:
从您发布的代码来看,它似乎是您的导入(我在这里假设这些类位于不同的文件中,否则您的继承是不明确的)。如果我弄错了,请更新您的问题以包含您的文件结构。玩转你的导入和继承。
我相信你只需要在你的NavbarTest
类上import XCTest
【讨论】:
您好,感谢您抽出宝贵时间查看此内容。我已经更新了答案以包括我的导入和文件名。这不是问题所在。今天看来,当测试用例提前结束(在某些时候失败)时,注销功能可以工作,但是如果测试完成,则拆解无法正确执行(我的意思是它执行,但滑动功能似乎无法工作).. .超级奇怪 您没有在setup()
中启动应用程序,这是有意的吗?
是的,我在每次测试中使用不同的启动参数启动,所以我不使用设置。以上是关于Xcode UI 测试 - 拆解后 swipeRight() 不起作用的主要内容,如果未能解决你的问题,请参考以下文章