公司的安卓 app,里面的 webview 有些是用安卓原生的 webview,有些是用了 cordova 的 webview,但 Robotium 不支持 cordova,会抛类转异常,因为 cordova 重写了 WebChromeClient,它也使用了自己的 webview。

我参照腾讯 TMQ 改造 X5 内核 h5 的方法对 robotium 改造,但在改写 cordova 遇到了困难。因为要让 RobotiumWebClient 继承自 SystemWebChromeClient,需要在 RobotiumWebClient 的构造方法里添加 super(SystemWebViewEngine),而 SystemWebViewEngine 的构造方法只有 SystemWebViewEngine(Context, CordovaPreferences) 或者 SystemWebViewEngine(SystemWebView) 两种。但这两种都不行,因为 new Solo 的时候,new 了 WebUtils,然后 new 了 RobotiumWebClient,而此时还没有 webview,app 会 crash。

请问有没有人能够帮忙解答,谢谢!


↙↙↙阅读原文可查看相关链接,并与作者交流