我正在尝试为 iPhone 应用程序设置自动化单元测试。我正在使用 UIWebView 并需要模拟对不同链接的点击。我试过doing this with JavaScript ,但它不会产生与我手动单击链接时相同的结果。主要问题是具有 target
的链接属性集。
当您手动单击标准“弹出”链接(例如 <a href="http://example.com" target="_blank">
)时,UIWebView 将忽略单击事件并且不会导航到任何内容。如果您随后尝试通过 JavaScript 自动单击此链接 dispatchEvent()
方法,UIWebView将完全忽略target
属性,将在当前页面正常打开链接。
我需要自动单元测试来生成与手动单击链接时完全相同相同的结果。
我相信此自动化单元测试正确工作的唯一方法是在特定的 x/y 坐标(即链接所在的位置)模拟鼠标单击。由于单元测试仅在内部使用,因此私有(private) API 调用就可以了。
看来这应该是可能的,因为 iPhone 应用程序 isimulate似乎做了类似的事情。
有没有办法在框架中做到这一点?
我发现了一个类似的问题,标题为Simulate mouse click to window instead of screen ,不过我猜这个方法只对 OS X 有效,对 iPhone OS 无效。
最佳答案
我想您可以通过直接在 UIView
上调用 touchesBegan
/touchesEnded
方法来模拟触摸(检查 UIResponder
类) .
关于iphone - 如何在 Cocoa for iPhone 中模拟鼠标点击 UIWebView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703045/