我目前正在尝试使iOs应用程序自动化,该应用程序中包含SFSafariViewController,我想在其中单击文本字段,该文本字段具有HTML的ID,并且还具有来自该应用程序的AccessibilityIdentifier。
我的问题现在是如何编写正确的uia命令,因为正常的tap_mark或touch都无济于事,因为SFSafariViewController找不到AccessibilityIdentifier。
我的uia命令现在看起来像这样:uia("UIATarget.localTarget().frontMostApp().document.getElementById('Identifier').click()")
这是我执行命令时遇到的错误:
RuntimeError: uia action failed because: Input:
UIATarget.localTarget().frontMostApp().document.getElementById('Identifier').click().
Error: TypeError: undefined is not an object (evaluating 'UIATarget.localTarget().
frontMostApp().document.getElementById') eval code
最佳答案
您可以将UIWebView
用于Web元素,但Calabash see this尚不支持SFSafariViewController
:
touch "UIWebView css:'#Identifier'"
然后Xamarin suggests替换为WKWebKit或UIWebView
由于SFSafariViewController类是为显示单个网页内容而定制的,因此您应该考虑使用它来替换现有Xamarin.iOS应用程序中的任何WKWebKit或UIWebView控件。
关于javascript - UIA使用纯JavaScript进行调用,不知道如何访问DOM-Tree,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38697378/