标签: xcode-ui-testing

使用Xcode7的UI测试为App Store创建应用程序截图

每次我们在UI中更改内容时,我们都必须手动准备并获取iTunes Connect列表的375(= 5个屏幕截图*5种设备类型*15种语言)屏幕截图.

我正在尝试"利用"iOS 9的新UI测试来自动准备并为每种语言拍摄这些屏幕截图.这应该可以节省大量时间并为我们的用户提供更好的体验,因为我们没有经常更新屏幕截图,因为所涉及的工作很繁琐.

我在互联网上找不到多少帮助,可能是因为这个功能太新鲜了.所以这里有两个基本问题,希望我们能找到一种方法来实现它.

  1. 是否可以通过UI测试API将屏幕截图保存到磁盘?

  2. 是否可以为XCTestCase进行全新安装?

ios xctest swift ios9 xcode-ui-testing

10
推荐指数
2
解决办法
4705
查看次数

如何在Xcode 7上模拟UITest中的数据?

有人试图在新的Xcode 7 UI测试中包含模拟数据吗?

  • 你使用过特定的框架吗?
  • 你是如何管理目标的?

mocking ui-testing ios xcode7 xcode-ui-testing

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

如何在Xcode 7中的UI测试中获取对TextField的引用

我正在尝试在xcode 7 beta中使用UI测试.我有一个带有两个文本字段的故事板.两个文本字段都有出口和不同的恢复ID.我记录了测试,但生成的代码是不可读的,它不起作用:

        app.otherElements.containingType(.TextField, identifier:"y").childrenMatchingType(.TextField).elementBoundByIndex(0).typeText("hello")
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下内容,并将根据占位符文本工作?!?

app.textFields["PlaceholderText"].typeText("hello")
Run Code Online (Sandbox Code Playgroud)

在UI测试中获取TextField引用的正确方法是什么?

xcode swift xcode7 xcode-ui-testing uitest

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

UI测试iOS,选择安全文本输入textField

我有密码和密码conf textFields,我已应用"安全文本输入",以掩盖密码.但是,当我运行UI测试时,无法找到这些字段

UI测试失败 - 找不到"密码"TextField的匹配项

我试图选择这样的字段:

let passwordTextField = app.textFields["password"]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试点击时失败:

passwordTextField.tap()
Run Code Online (Sandbox Code Playgroud)

关于如何进入该领域的任何想法?

uitextfield ios xcode-ui-testing

10
推荐指数
2
解决办法
3600
查看次数

Xcode 7 UI测试失败,"等待键事件完成超时"

我和我的团队一直在设置Jenkins服务器,以便在我们用作构建服务器的Mac Mini上自动运行单元和ui测试.Mac Mini没有连接外围设备,我们可以访问它的唯一方法是远程登录.

当我使用Mac内置的屏幕共享应用程序远程登录计算机时,使用iOS模拟器可以很好地运行测试.但是,如果我在测试运行时关闭了远程连接,那么在尝试键入时(包括所有其他测试/ ui测试通过飞行颜色),涉及键入文本的ui测试将失败并出现以下错误:

断言失败:等待键事件完成超时

当Jenkins自动为我们运行测试时,这显然会导致一些问题,因为我们并不总是希望远程登录到计算机.

我觉得这与模拟器的软件键盘有关,但我不明白为什么会出现这个问题.为了软件键盘存在或者某些这样的事情,mac是否需要连接某种显示输出?将显示器连接到机器(即使它没有真正使用)会导致测试通过吗?为什么会这样呢?

automated-tests build-server ios-simulator xcode-ui-testing

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

如何在iOS Xcode UI测试用例中启动系统应用程序

我有一个应用程序,其主要目的是将数据输入HealthKit.我想写一些Xcode UI测试来验证它是否成功编写了这些数据,但是我在Health应用程序中验证数据时遇到了一些困难.

当我最初录制我的测试时,它跳过我的模拟主页按钮按下,但它正在录制,当我滑到第一个主屏幕并导航到Health应用程序以显示数据点.

我搜索了如何按Home键,发现这个(有效):

XCUIDevice.shared.press(.home)
Run Code Online (Sandbox Code Playgroud)

但是,它记录的其他调用实际上都不适用于应用程序之外的导航.在主屏幕上滑动的录制代码显然看起来不对,当我tap()用a swipeRight()或者替换时也不起作用swipeLeft():

app.childrenMatchingType(.Window).elementBoundByIndex(1).childrenMatchingType(.Other).elementBoundByIndex(1).childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).elementBoundByIndex(0).childrenMatchingType(.ScrollView).element.tap()
Run Code Online (Sandbox Code Playgroud)

接下来几行,用于在主屏幕上启动应用程序,甚至不适用于当前可见页面上的应用程序图标:

let elementsQuery = app.scrollViews.otherElements
elementsQuery.icons["Health"].tap()
Run Code Online (Sandbox Code Playgroud)

有没有办法实现我正在尝试做的事情,或者我需要等待验证端到端测试,直到我添加从HealthKit读取到我的应用程序的能力?

xcode ios healthkit xcode-ui-testing

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

如何在UI测试(Xcode)上关闭自动截图

我正在通过Jenkins运行Xcode的UI测试.每个步骤都会截取屏幕截图,因此在运行套件一段时间后,Mac会占用其所有硬盘空间.有谁知道你是否可以关闭Xcode UI Testing的自动截图,所以使用的空间更少?

iphone xcode screenshot xcode-ui-testing

10
推荐指数
3
解决办法
1937
查看次数

标签的UITest颜色(不是UI标签)

这是我正在使用的表的图片.

在此输入图像描述

我只想尝试"请求"(灰色)或"草稿"(橙色)的颜色.我能够得到"请求"或"草稿"的实际字符串

var timeSheetStatus = 
    app.tables.element.cells.elementBoundByIndex(0).staticTexts.elementBoundByIndex(1).label
Run Code Online (Sandbox Code Playgroud)

但这只是一个字符串,而不是UIlabel(如果它是UILabel我可以做label.textColor我相信).如何获得此字符串的颜色,以便我可以断言它确实是灰色或橙色?

user-interface ui-testing ios swift xcode-ui-testing

10
推荐指数
2
解决办法
1646
查看次数

让XCUIElement为Automate UITest执行3D触摸?

我正在创建Automate UITest测试用例,我想在用户与元素进行3D Touch交互时测试场景,然后显示Peek和Pop视图.

我似乎找不到任何可能的方法来模拟元素上的3D Touch并继续.

任何人对此有任何想法,或3D Touch仍无法测试?

谢谢

ios swift xcode-ui-testing 3dtouch

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

SwiftUI 切换在 UI 测试中未切换

我无法进行 UI 测试来切换 SwiftUI 表单中的 Toggle。似乎app.switches[*name*].tap()没有什么作用。还有其他人经历过吗?有想法吗?

下面的代码是该问题的演示。这是一个带有四个开关的简单形式,可根据开关位置生成一个 int 值。

我有以下 SwiftUI 视图:

struct ContentView: View {
    
    @State var sw1: Bool = false
    @State var sw2: Bool = false
    @State var sw3: Bool = false
    @State var sw4: Bool = false
    
    
    var valueString: String {
        var ret: Int = 0
        if sw1 {
            ret = ret + 1
        }
        if sw2 {
            ret = ret + 2
        }
        if sw3 {
            ret = ret + 4
        }
        if sw4 …
Run Code Online (Sandbox Code Playgroud)

xcode swift xcode-ui-testing swiftui

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