- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Apple TV (tvOS) 上自动执行应用程序的 UI 测试。
在登录屏幕上,我选择“输入用户名”字段。然后出现以前使用过的登录屏幕。在屏幕上,我想选择“全部清除”单元格。
澄清一下:“以前使用过”菜单似乎内置于 tvOS 中,只要有人在登录菜单中选择用户名文本字段,它就会自动出现。我不确定,所以我仍然需要确认该信息。
所以我认为像这样的代码将是一个解决方案:
if self.app.staticTexts["Previously Used"].exists {
let clearAllCell = self.app.cells.staticTexts["Clear All"]
while clearAllCell.hasFocus == false {
XCUIRemote.sharedRemote().pressButton(.Down)
sleep(1)
}
XCUIRemote.sharedRemote().pressButton(.Select)
}
然而即使在这样的状态下:
单元格的属性 hasFocus
和 selected
似乎返回 false:
po self.app.cells.staticTexts["Clear All"].hasFocus
po self.app.cells.staticTexts["Clear All"].selected
如何找到处于“聚焦状态”的“全部清除”单元格?
更新:
我尝试了@Oletha 提出的解决方案,但没有成功。不幸的是,clearAllCell.hasFocus
似乎总是返回 false。
if self.app.staticTexts["Previously Used"].exists {
let clearAllCell = self.app.cells.staticTexts["Clear All"]
let predicateHasFocus = NSPredicate(format: "exists == true", argumentArray: nil)
expectationForPredicate(predicateHasFocus, evaluatedWithObject: clearAllCell, handler: { () -> Bool in
if clearAllCell.hasFocus {
return true
} else {
sleep(1)
XCUIRemote.sharedRemote().pressButton(.Down)
return false
}
})
waitForExpectationsWithTimeout(10, handler: nil)
XCUIRemote.sharedRemote().pressButton(.Select)
}
更新:
目前一个不优雅的解决方案是:
if self.app.staticTexts["Previously Used"].exists {
var cellsCount = self.app.cells.count
// Select Clear All menu button, hack as it was not possible to detect "Clear All" cell in another way
while cellsCount > 0 {
sleep(1)
XCUIRemote.sharedRemote().pressButton(.Down)
cellsCount -= 1
}
sleep(1)
XCUIRemote.sharedRemote().pressButton(.Up)
sleep(1)
XCUIRemote.sharedRemote().pressButton(.Select)
}
最佳答案
我的应用程序遇到了类似的问题,发现 2 个有助于编写运行 UI 测试的东西:
总是在每次按下远程按钮后延迟 1 秒,因为断言评估通常比焦点更改快,因此返回 false
XCUIRemote.sharedRemote().pressButton(.Down)
sleep(1)
查找焦点元素的确切 UI 层次结构位置。例如,print(XCUIApplication().debugDescription)
将为您提供详细的 UI 树,并使您可以轻松地正确访问您的元素。
此断言已返回 true:
XCTAssert(XCUIApplication().tabBars.buttons["Home"].hasFocus)
关于xcode - 如何找出(使用 XCTest UITest)在 tvOS AppleTV 的表格 View 中具有焦点的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466762/
我正在制作 tvOS 应用。我有一个 Collection View 单元格,它有一个 UIImageView。我在界面生成器中选中“聚焦时调整图像”,这样我就可以使用系统为图像提供的聚焦效果。问题是
我尝试使用最新版本的 XCode 和 AppleTV 加载图像,但突然有效负载始终为零,而响应的状态代码为 200。我还在控制台中识别出 SSL 错误。下载失败,但图像在我的浏览器中可用。例如。 ht
通过 AppleTV 和 Airplay 镜像连接的电视的 UIScreen 是否有固定(点)大小? 或者appletv的屏幕会根据实际的电视设备有不同的尺寸吗? 最佳答案 是,appletv的屏幕大
所以我正在 AppleTV 上的 SpriteKit 游戏中进行应用内购买,但如果出现付款错误或任何其他类型的错误,我想显示错误。 UIAlertView 是我在 iOS 上的做法,但这不是 tvOS
我正在为具有 UITableView 的 AppleTV 构建一个应用程序。我为它制作了一个自定义单元格,它有一个 UILabel 和一个 UICollectionView。有没有办法使 Collec
如何比较不同的平台? 例子:我想知道当前设备是否比 iPhone 4S 更旧。 最佳答案 将这些方法添加到某个类(例如 YourClass): +(NSString*)deviceVersion{
我听说您可以为新的 AppleTV 编写应用程序。我读到它运行一个 iOS 版本。我也读到它具有蓝牙功能。 问题很简单,我可以将我的 AppleTV 变成一个 iBeacon,尽管它非常昂贵吗? :)
这是我最基本的代码。它在 UICollectionView 中显示了五个单元格(每个单元格中都有一个简单的按钮)。所有按钮都指向单个 IBAction 方法。这是 Main.storyboard 中的
我在 tvOS 的 Swift 游戏中添加了一些按钮。 override func didMoveToView(view: SKView) { let button1=UIButton(fra
我正在努力将 TopShelf 实现添加到我的 tvOS 应用中。我还在努力创建一个 Collection View 实现,它在应用程序中具有类似的功能。两者在我的 Mac 上的模拟器中都能正常工作,
我将如何使用 Swift 和 AppleTV4 来显示 XcodeProj 中的视频?我可以稍后使用 AVPlayer 播放 Mp3 吗? 这是我的: import UIKit import AV
我正在尝试加载我使用 Xcode 8 Beta 2 磁贴集编辑器定义的磁贴集。 但是当我尝试使用这行代码加载 SKTileSet 时: tileSet = SKTileSet(named: "t
我正在 Apple tvOS 中实现 TopShelf。我已下载图像并分配给 TVContentItems 的 imageURL。下载的图像纵横比不适合 TopShelf 图像。我试图通过将宽度 +
我想知道 React Native 中是否有一个内置组件可以让我创建“ native ”系统默认按钮,就像在调试器菜单中使用的那样?我正在为 Apple TV 构建,但默认的 iOS 也很受欢迎。 我
我考虑在我的一个应用程序中扩展支持,以通过 AppleTV 处理第二个屏幕。 问题是: 如果我只是镜像我的应用程序,漂亮的 46 英寸液晶电视只会显示我的应用程序的 4:3 信箱图像。如果我更改我的应
我是 TVOS 的初学者。 我想使用 native 应用程序和 TVMLKIT 在 AppleTV 上创建一个混合应用程序。我的 native 应用程序只是一个带按钮的简单 native 应用程序(使
我正在尝试在 Apple TV (tvOS) 上自动执行应用程序的 UI 测试。 在登录屏幕上,我选择“输入用户名”字段。然后出现以前使用过的登录屏幕。在屏幕上,我想选择“全部清除”单元格。 澄清一下
当通过 UIWebView 播放电影,然后通过 Airplay 输出到 AppleTV 时,关闭 iPhone 屏幕会停止播放。为什么? 有人知道如何解决这个问题,以便在我的应用程序屏幕关闭时继续使用
AppleTV 似乎存在错误。我有一个包含所有游戏节点(和 Action )的 SKNode“worldNode”的 SpriteKit 场景。我能够检测到何时按下 Siri Remote 上的菜单按
我是一名优秀的程序员,十分优秀!