我正在尝试为 iPhone 应用程序设置自动化单元测试。我正在使用 UIWebView 并且需要模拟对不同链接的点击。我已经尝试使用 JavaScript 执行此操作,但它不会产生与手动单击链接时相同的结果。主要问题在于target
设置了属性的链接。
当您手动单击标准“弹出”链接(例如<a href="http://example.com" target="_blank">
)时,UIWebView 将忽略单击事件并且不会导航到任何内容。如果您随后尝试通过 JavaScript 方法自动单击这个相同的链接dispatchEvent()
,UIWebView 将完全忽略该target
属性并在当前页面中正常打开该链接。
我需要一个自动单元测试来产生与手动单击链接时完全相同的结果。
我相信这个自动化单元测试正常工作的唯一方法是在特定的 x/y 坐标(即链接所在的位置)模拟鼠标点击。由于单元测试将仅在内部使用,因此私有 API 调用很好。
看起来这应该是可能的,因为 iPhone 应用程序isimulate似乎做了类似的事情。
有没有办法在框架中做到这一点?
我发现了一个类似的题为Simulate mouse click to window 而不是 screen 的问题,但是我猜这种方法只对 OS X 有效,对 iPhone OS 无效。