Xcode UI测试 - 如何在WKWebView中点击()链接?

问题描述 投票:2回答:4

我正在尝试使用UI Test在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
4个回答
2
投票

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

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

1
投票

出于某种原因,我现在真的得到了

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

上班!可能之前错过了什么。


1
投票

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

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

然后测试代码如下

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

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


0
投票

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

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

tap()没有触发链接。

© www.soinside.com 2019 - 2024. All rights reserved.