我正在尝试使用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()
上班。
欢迎任何建议!
通过包含的图像访问链接。在你的问题中你的图像的文件名是Halo_small.png
,所以你可以tap()
它:
let app = XCUIApplication()
app.images["Halo_small.png"].tap()
出于某种原因,我现在真的得到了
let haloLink = app.links.elementBoundByIndex(1)
haloLink.tap()
上班!可能之前错过了什么。
如果wkwebview中的元素是这样的。
<a href="#">your link text</a>
然后测试代码如下
app.links["your link text"].tap()
在文章中查看更多内容。 UI Testing Cheat Sheet and Examples
在带有属性文本链接的UITextView中,这对我有用:
XCUIApplication().links["your link text"].press(forDuration: 0.1)
tap()
没有触发链接。