标签: xcode-ui-testing

Fastlane/Scanfile 上的 Skip_build 和 test_without_building 有什么区别

Fastlane/Scanfile 上的 Skip_build 和 test_without_building 有什么区别?

我真的会执行我的测试用例,而不需要每次都构建,我有几个在循环的 shell 脚本上执行的方案。我不想为每次迭代进行构建。

有人之前尝试过这些参数吗?

xcode-ui-testing fastlane

1
推荐指数
1
解决办法
2237
查看次数

iOS UI 测试:获取图像文件名 (Swift)

我的问题是有关获取的图像的文件名UIImage是在使用UIImageView

这是我的示例代码:

// Using image from UIImageObject
imageView1.image = myUIImage
// Using image from XAssets
imageView2.image = UIImage(named: "myImageName")
Run Code Online (Sandbox Code Playgroud)

在 UI 测试中,如何获取图像文件的名称?预期的结果是:

"myUImageObject" // For imageView1 
"myImageName" // For imageView2
Run Code Online (Sandbox Code Playgroud)

有没有办法获得这个值?

谢谢大家!

xcode uiimage ios swift xcode-ui-testing

1
推荐指数
1
解决办法
2735
查看次数

Xcode UI 测试发现多个按钮

我遇到了一个问题,我的 UI 测试显示在使用以下代码时找到了多个按钮。

app.buttons["Upgrade"].tap()
Run Code Online (Sandbox Code Playgroud)

所以我重新运行我的单元测试并在运行该行之前设置一个断点并点击记录按钮并单击该按钮并生成以下代码。

app.children(matching: .window).element(boundBy: 0).children(matching: .other).element(boundBy: 1).buttons["Upgrade"].tap()
Run Code Online (Sandbox Code Playgroud)

当然在测试的顶部我有let app = XCUIApplication()

知道为什么会发生这种情况吗?

有时p UIApplication.shared.windows在调试器中运行时,数组中有 2 个值。我不知道为什么,因为我从来没有多个窗口。我与 Windows 的唯一交互UIApplication.shared.keyWindow?.rootViewController有时是设置为不同的视图控制器,以下代码在didFinishLaunchingWithOptions.

// Get view controllers ready
self.window = UIWindow(frame: UIScreen.main.bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let mainViewController: ViewController = mainStoryboard.instantiateViewController(withIdentifier: "FirstView") as! ViewController
// Show view controller
self.window?.rootViewController = mainViewController
self.window?.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)

那是在 if 语句和 else 语句中,我有几乎相同的代码,除了FirstView它是SecondView.

xcode ios swift xcode-ui-testing

1
推荐指数
1
解决办法
4049
查看次数

XCUITest 获取 URL 值

我正在使用 XCUITest 和 XCode 版本 8.3.3。该应用程序有一个登录按钮,可启动浏览器窗口。想知道是否有人可以告诉我如何访问打开的 URL 的值。我想验证我们在选择“登录”按钮时启动了正确的 URL。

let app = XCUIApplication()
let loginButton = app.buttons["Login"]
loginButton.tap()
Run Code Online (Sandbox Code Playgroud)

此时浏览器窗口打开:在此输入图像描述

如何获取 xyz.com 的价值?

使用辅助功能检查器,我可以看到: 在此输入图像描述

ios ios-ui-automation xctest xcode-ui-testing xcode8

1
推荐指数
1
解决办法
4266
查看次数

如何运行一次 swift XCTest 拆解

我正在使用 xcode 8.3.3,swift,并且我试图让tearDown 方法仅运行一次。

我使用此处提供的解决方案启动 应用程序一次:XCTestCase not launch application in setUp class method

在tearDown 方法中,我想注销应用程序。我只想做一次。

XCTest文档有一个类tearDown()方法,但是当我尝试使用它时 - 它不再能够访问应用程序?:https: //developer.apple.com/documentation/xctest/xctestcase/understand_setup_and_teardown_for_test_methods

这就是我在tearDown方法中得到的所有内容,因此它无法再访问应用程序上的任何元素:

在此输入图像描述

如何在所有测试结束时仅运行一次tearDown 中的代码?

ios-ui-automation xctest swift xcode-ui-testing xctestcase

1
推荐指数
1
解决办法
2265
查看次数

Xcode:为什么我的启动参数在记录 UI 测试时不起作用?

当我计划在我的应用程序中设置 UI 测试,并使用启动参数来模拟一些数据时,我在构建一个简单的测试项目时意识到了一些事情:

在应用程序目标中:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let uiTesting = ProcessInfo.processInfo.arguments.contains("ui-testing")
        view.backgroundColor = uiTesting ? .yellow : .white
    }
}
Run Code Online (Sandbox Code Playgroud)

在 UI 测试目标中:

class UITestWithLaunchArgumentsProjectUITests: XCTestCase {

    override func setUp() {
        let app = XCUIApplication()
        app.launchArguments.append("ui-testing")
        app.launch()
    }


    func testExample() {
        sleep(20)
    }
}
Run Code Online (Sandbox Code Playgroud)

多亏了这一点,我意识到,如果我运行,testExample()背景颜色会按预期变成黄色。但是,当我使用记录UI测试工具时,却没有。

有谁知道为什么,以及最终如何在记录 UI 测试时使用启动参数?

感谢您的帮助。

xcode ios xcode-ui-testing

1
推荐指数
1
解决办法
1064
查看次数

单独的 xcode 性能测试方案

是否有创建单独的任何优势Performance Test scheme在Xcode(类似于像计划Unit TestUI Test),除了一个事实,即测试代码更分开?是否值得为单个 Xcode 项目保留 3 个测试方案?

我的意思是,即使我self.measure{ }在同一个单元测试包(方案)中编写所有的性能测试用例,一旦项目增长并在 Jenkins 中持续集成,它会有什么不同吗?

执行的行业标准是Performance testing in Xcode什么?每个人都在同一个单元测试包中进行性能测试吗?为什么和为什么不?

unit-testing ios jenkins swift xcode-ui-testing

1
推荐指数
1
解决办法
687
查看次数

在UITesting Xcode 7中获取表的每个部分中的行数

我有一个包含3个部分的tableview,每个部分有3行.在使用Xcode 7的UITesting中,我可以使用app.tables.cells.elementBoundByIndex(index)访问单元格.

如果我想访问第三部分的第一行,我该怎么办?

请帮忙.这三天我很震惊.

xcode ios swift xcode-ui-testing

0
推荐指数
1
解决办法
2041
查看次数

Xcode UI测试:有条件地执行测试

使用Xcode UI Testing,我想实现在应用程序中存在的特定UI元素时运行的代码.我的应用程序已登录状态,如果用户当前已登录,我想将用户注销.我一直无法找到文档来建议退出此文件包.

我读过的所有内容都显示了两条可能的路径:使用XCTAssert(如果元素不存在,将导致我的测试立即失败)和使用XCTExpectation(如果元素不存在,这将导致我的测试超时).如果应用程序处于给定状态,我需要一种更简单的方法来运行不同的代码.

把它放在代码中,我正在寻找这样的东西:

if let signOutElement = app.collectionViews.staticTexts["Sign Out"] {
    signOutElement.tap()
}
Run Code Online (Sandbox Code Playgroud)

唉,这不起作用.

xcode ios swift xcode-ui-testing

0
推荐指数
1
解决办法
870
查看次数

iOS XCUITest模拟指纹

我正在使用本机工具编写自动UI测试。在一个流上,弹出指纹认证。我如何通过它才能前进到下一个屏幕?

fingerprint ios swift xcode-ui-testing xcuitest

0
推荐指数
1
解决办法
1112
查看次数