当前位置: 首页 > 面试题库 >

如何使用Xcode UITests点击特定的点

阎志义
2023-03-14
问题内容

我想在Fastlane快照中使用Xcode
UI测试来制作Cordova应用程序的屏幕截图。基本上,由于我的整个应用程序只是一个Web视图,因此所有Xcode
UI测试帮助程序方法都变得无关紧要,我只想点击特定的点,例如tap(x: 10, y: 10)应该在该点处进行点击{10px; 10px}

那可能很简单,但是我不知道该怎么做。

谢谢。


问题答案:

您可以使用XCUICoordinateAPI轻击特定点。不幸的是,您不能只说出“ tap
10,10”以引用像素坐标。您将需要创建一个相对于实际视图有相对偏移的坐标。

我们可以使用提到的Web视图与相对坐标进行交互。

let app = XCUIApplication()
let webView = app.webViews.element
let coordinate = webView.coordinateWithNormalizedOffset(CGVector(dx: 10, dy: 10))
coordinate.tap()

旁注,但是您是否尝试过直接与Web视图进行交互?使用app.links["Link title"].tap()or
获得了很多成功app.staticTexts["A different link title"].tap()。我放在一起的一个演示应用程序演示了与Web视图的交互。

更新 :正如Michal W.在评论中指出的那样,您现在可以 直接 点击坐标,而不必担心标准化偏移量。

let normalized = webView.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
let coordinate = normalized.withOffset(CGVector(dx: 10, dy: 10))
coordinate.tap()

注意,我将0,0传递给归一化向量,然后将实际点10,10传递给第二个调用。



 类似资料:
  • 我试图在selenium IDE上运行一个测试,以进入我的Gmail,从我的所有电子邮件中选择特定的新电子邮件,然后单击该电子邮件的特定链接。 我绕了一圈又一圈,找不到答案! 我读过另一篇有此帮助的帖子: //div[@class='y6']/spans[包含(.,'subject this')] 这无济于事,因为同一封电子邮件已发送多次。 此案例具有以下特殊性:1.由于是一个会运行多次的案例,因

  • 我有一个XML文件,我正试图解析它以获得名为的标记。 使用xpath和,我可以看到有10个子节点,每个节点都被命名为。但如果我使用以下任何一种XPath,就没有匹配项: 我所做的一切都不是返回任何标记。但是我知道有10个。我可以通过获得,所以我知道我正在连接到这个文件。我如何生成一个xpath来到达每个? XML结构(缩写):

  • 这是我的应用程序,当我点击标记时,会出现相应的infowindow: 因此,当我单击infowindow时,我希望调用一个新的布局, 我明白你在说什么,但我知道当你有很多不同的信息应该调用不同的类时,应该什么时候申请。 还有一个hashmap来组织infowindow的内容,不知道这是否会使方法setOnInfoWindowClickListener变得复杂

  • 问题内容: 我只是想知道如何使用JavaScript模拟元素的点击。 目前我有: 但这不起作用:( 有任何想法吗? 问题答案: 这是我煮的 这很简单,但是有效: 用法:

  • 问题内容: 我想使UILabel可点击。 我已经尝试过了,但是没有用: 问题答案: 你有没有尝试设置到上标签?这应该工作。

  • 我将一些数据存储为neo4j节点。此节点具有一些关联的C#类未描述的属性,因此在neo4jclient查询返回时不会自动映射回该类。 例如,这个C类: 存储在neo4j中,然后使用以下neo4jclient fluent代码检索: 将用名称和编号填充Node对象,但保留对CustomClass对象的空引用。 为了解决这个问题,我将CustomClass序列化为JSON字符串,并将其作为字符串属性存