我一直在使用 Robotium 来测试几个开源 phonegap 应用程序。最近,当我测试Wikipedia和TeamToy-Pocket时。我发现 Robotium 会点击 webElement 但不会重定向屏幕(而手动点击 webElement 就可以了)。我尝试了两种点击方式:
solo.clickOnWebElement(By.id(id), 1, true);
和
solo.enterTextInWebElement(By.id(id), text);
我观察到单击指定的 webElement(在开发人员选项中使用“显示指针位置”),但没有发生预期的页面传输。
这是我单击 Robotium 的元素时的 logcat 日志:
08-08 12:15:46.044: I/click(16334): Lactarius indigo: uptime: 5003094 realtime: 8755078
08-08 12:15:46.234: D/webview(16334): blockWebkitViewMessage= false
08-08 12:15:56.165: D/DroidGap(16334): Paused the application!
08-08 12:15:56.165: D/CordovaWebView(16334): Handle the pause
08-08 12:15:56.165: D/CordovaWebView(16334): >>> loadUrlNow()
08-08 12:15:56.165: D/WebView(16334): loadUrlImpl: called
08-08 12:15:56.385: W/IInputConnectionWrapper(16334): showStatusIcon on inactive InputConnection
08-08 12:15:56.885: D/DroidGap(16334): onDestroy()
08-08 12:15:56.885: D/CordovaWebView(16334): >>> loadUrlNow()
08-08 12:15:56.885: D/WebView(16334): loadUrlImpl: called
08-08 12:15:56.885: D/CordovaWebView(16334): >>> loadUrlNow()
08-08 12:15:56.885: D/WebView(16334): loadUrlImpl: called
然后我求助于 MonkeyRunner 希望解决这个问题,我使用以下语句单击超链接
device.touch(347,322,MonkeyDevice.DOWN_AND_UP)
还是一样,在指定区域点击,但没有页面转换。
这是我单击 MonkeyRunner 时的日志:
08-08 12:18:32.652: V/webview(16574): singleCursorHandlerTouchEvent -getEditableSupport FASLE
我使用的是 Galaxy Sumsung S3,我的 SDK 工具版本是 22.0.5。欢迎任何建议。
PS我也试过猴子使用
adb shell monkey -p org.wikipedia -v 500 --throttle 500
似乎可以单击某个链接并触发重定向到指定页面。不知道为什么会这样。谢谢!