在应用程序中自动化iOS webkit

时间:2018-04-06 19:43:47

标签: ios swift selenium automation webkit

我目前正在开发一款ios应用。应用程序中的一项功能需要一些WebKit自动化。我期待做类似于硒的事情;我想使用其ID或Xpath将文本输入到文本字段中,然后使用其ID或Xpath按下按钮。

示例:在google.com上输入文本到谷歌搜索栏,然后以编程方式单击搜索。

我在selenium(Java)中完成了上述操作。虽然我正在寻找一种方法在ios上使用(使用swift)。无论如何我可以原生这样做吗?或者有一个我可以用来做这个的cocoapod?如果没有,使用swift运行javascript文件来执行此操作是否可行?

我也知道一个名为WKZombie的cocoapod,它完全符合我的需要,虽然它的文档相当令人困惑,它是一个无头浏览器(我希望用户看到发生了什么,所以这不起作用,虽然我可以抓住HTML并显示它,如果没有其他方法可以做到这一点)。另外我认为appium不会起作用,因为我希望它能在独立应用程序中运行。

(另外,这是我的第一篇文章,所以我为任何不正确的不正确格式或其他类似事件道歉)

2 个答案:

答案 0 :(得分:1)

您可以通过JavaScript与WKWebView视图中加载的页面进行通信:

  • 最简单的方法是使用evaluateJavaScript(_, completionHandler),它允许您注入代码,例如改变DOM,触发动作等。

  • 或者,您可以在创建Web视图时注入用户脚本(WKUserScript),该视图可以回调您的Swift代码,这需要更多设置但功能更强大。

    < / LI>

答案 1 :(得分:0)

要在您的应用程序中托管浏览器,您需要使用的类是WKWebView(替换旧的UIWebView)。可以使用WKWebView的evaluateJavaScript方法将JS注入WKWebView实例。您可以在正在注入的JS中包含Textbox填充,按钮单击魔法。