0
是否可以使用ios中的自動測試來測試用戶操作的結果?例如,如何檢查應用程序是否創建了一個文件,如果用戶點擊了保存按鈕。我曾嘗試過Appium和蘋果公司製造的XCUITesting,但我無法弄清楚。用戶界面結果測試
是否可以使用ios中的自動測試來測試用戶操作的結果?例如,如何檢查應用程序是否創建了一個文件,如果用戶點擊了保存按鈕。我曾嘗試過Appium和蘋果公司製造的XCUITesting,但我無法弄清楚。用戶界面結果測試
使用Apple的XCUITesting測試應用程序位於單獨的進程中,並且無法直接訪問應用程序的沙箱,因此,除非您的應用程序的UI提供了某種形式的視覺反饋來創建該文件,否則無法檢查使用官方工具。
您可以使用SBTUITestTunnel(免責聲明,我是庫的作者),它擴展了UI測試功能,允許編寫這樣的測試。另外,在假設前,你的應用程序節省了在應用程序文件夾的文件test_file.txt你可以寫下面的測試:
func testThatFileExistsAfterTap() {
// launch app
app = SBTUITunneledApplication()
app.launchTunnelWithOptions([SBTUITunneledApplicationLaunchOptionResetFilesystem]) {
// do additional setup before the app launches, if needed
}
app.buttons["action"].tap() // button that triggers file save
// add some expectation on the UI to wait for the write to complete (UIActivity indicator, etc)
let fileData = app.downloadItemFromPath("test_file.txt", relativeTo: .DocumentDirectory)
// XCTAssert() that fileData contains the expected data
}
注意你如何通過其在重置應用程序的文件系統中的SBTUITunneledApplicationLaunchOptionResetFilesystem
啓動。該選項允許您編寫獨立於以前會話的測試。
請幫我解決這個問題,我已經將這些文件添加到項目手冊中,並且在每個文件中選擇了目標,但是大樓總是失敗並顯示錯誤:鏈接器命令失敗,因爲架構arm64沒有找到符號,所以我無法在應用中啓動隧道。 –
你嘗試過使用CocoaPods嗎?這是迄今爲止添加庫的最簡單方法。 –
對不起,這樣的白癡,但我不能讓它工作。我嘗試了CocoaPods,安裝了pod文件(我使用了示例項目中的一個,但是重寫了目標文件),然後使用了CocoaPods生成的工作空間,並且我在這裏停留了。 –