【发布时间】:2011-02-11 18:45:37
【问题描述】:
我正在尝试为 iPhone 应用程序设置自动化单元测试。我正在使用 UIWebView 并且需要模拟对不同链接的点击。我试过doing this with JavaScript,但它不会产生与我手动单击链接时相同的结果。主要问题在于设置了target 属性的链接。
当您手动单击标准“弹出”链接(例如<a href="http://example.com" target="_blank">)时,UIWebView 将忽略单击事件并且不会导航到任何内容。如果你尝试通过 JavaScript dispatchEvent() 方法自动点击这个相同的链接,UIWebView 将完全忽略 target 属性并在当前页面中正常打开链接。
我需要一个自动单元测试来产生与手动单击链接时完全相同的结果。
我相信这个自动化单元测试正常工作的唯一方法是在特定的 x/y 坐标(即链接所在的位置)模拟鼠标点击。由于单元测试只会在内部使用,所以私有 API 调用就可以了。
这似乎应该是可能的,因为 iPhone 应用程序 isimulate 似乎做了类似的事情。
有没有办法在框架中做到这一点?
我发现了一个名为Simulate mouse click to window instead of screen 的类似问题,但是我猜这个方法只对 OS X 有效,对 iPhone OS 无效。
【问题讨论】:
标签: iphone cocoa-touch automation uiwebview mouseclick-event