javascript - Android 上的 MonkeyTalk 和 WebChromeClient/onJsScript 冲突

标签 javascript android automation automated-tests monkeytalk

我已将“Monkey Talk”配置为与我的 Android 应用程序一起使用。除 Activity 外一切正常它使用 Webview自定义 WebChromeClient ,它利用了 onJsScript(...) WebChromeClient的方法| .基本上,回调永远不会发生,而是在应用程序中弹出对话框提示。这看起来类似于人们用 phonegap 报告的问题。 “猴子说话”是否自设WebChromeClient ,这可能与我使用的冲突? 任何人遇到类似的问题有什么解决办法吗? (安装最新版本的 cordova.jar 的 phonegap 解决方案对我没有帮助,因为我既不使用 phonegap 也不使用 cordova)

如果没有人解决这个问题,请推荐另一种免费的测试自动化工具,它允许简单的测试脚本创建(例如记录)。谢谢。

最佳答案

发现导致此问题的 Monkey Talk 代码(当前版本为 1.0.53)中的错误。

在 MonkeyTalk 的 WebCrhomeClientWrapper 中覆盖 onJsPrompt,调用 client.onJsConfirm 而不是 client.onJsPrompt:

@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue,
                          final JsPromptResult result) {
    if (client.onJsConfirm(view, url, message, result)) { ...

已将信息发送给 Monkey Talk 团队,希望他们能尽快解决这个问题。

关于javascript - Android 上的 MonkeyTalk 和 WebChromeClient/onJsScript 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001712/

相关文章:

javascript - 使用控制台更改主体的背景颜色

javascript - Bootstrap 轮播事件指示器 onclick 不会暂停

javascript - 我的 Closure 编译的源映射有什么问题?

android - 后台持久服务的Activity不会被kill掉

android - Android 应用程序中的 Google 帐户

deployment - Ansible 与 Jenkins

javascript - 如何在点击外部时用Jquery关闭下拉框

android - 适用于 Android 的 Cordova : HTML5 video tag plays video without image

linux - 如何使用 shell 在 rc.local 中添加一行

javascript - TestCafe - 如何同时使用用户角色和 HTTP 身份验证?