【问题标题】:Xcode UI Test - how to tap() link in WKWebView?Xcode UI 测试 - 如何在 WKWebView 中点击()链接?
【发布时间】:2015-11-24 22:01:10
【问题描述】:

我正在尝试使用 UI 测试点击 WKWebView 中的链接。链接定义如下:

<a data-toggle="tab" href="#haloLogin">
<img src=/Images/Halo_small.png">
</a>

我可以像这样找到链接:

let haloLink = app.links.elementBoundByIndex(1) 

(索引 0 处还有另一个链接)

这是我打印出 haloLink.debugDescription 时得到的:

haloLink: Attributes: Link 0x1257094e0: traits: 146029019138, {{143.0, -392.0}, {32.0, 32.0}}

Element subtree:
→Link 0x1257094e0: traits: 146029019138, {{143.0, -392.0}, {32.0, 32.0}}
Image 0x125709cf0: traits: 146029019142, {{143.0, -392.0}, {32.0, 32.0}}

我尝试过使用

app.links["#haloLogin"] 

没有成功。

我的问题是我没有得到

haloLink.tap() 

上班。

欢迎提出任何建议!

【问题讨论】:

    标签: ios xcode wkwebview xcode-ui-testing


    【解决方案1】:

    如果wkwebviw中的元素是这样的。

    <a href="#">your link text</a>
    

    那么下面是测试代码

    app.links["your link text"].tap()
    

    在文章中查看更多内容。 UI Testing Cheat Sheet and Examples

    【讨论】:

      【解决方案2】:

      通过包含的图像访问链接。在您的问题中,您的图像文件名是Halo_small.png,因此您可以使用tap()它:

      let app = XCUIApplication()
      app.images["Halo_small.png"].tap()
      

      【讨论】:

      • 我刚试了下还是认不出来:(
      • @Joe Masilotti - 我遇到了 标签没有任何文本或属性的问题。例如,这是我尝试使用 UI 测试找到并点击的内容:
        。有没有办法找到 div id?
      【解决方案3】:

      由于某种原因,我现在实际上得到了

      let haloLink = app.links.elementBoundByIndex(1)
      haloLink.tap()
      

      工作!之前可能错过了什么。

      【讨论】:

        【解决方案4】:

        在带有属性文本链接的 UITextView 中,这对我有用:

        XCUIApplication().links["your link text"].press(forDuration: 0.1)
        

        tap() 没有触发链接。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多