WebView
のインスタンスを取得しようとしていますので、evaluateJavascript()
と呼ぶことができます。私は、カスタム照合を書いた後、以下のような静的変数にWebView
を割り当てようとしました :エスプレッソ:WebViewでevaluateJavascript()を呼び出す方法
public static WebView view1;
public static Matcher<View> isJavascriptEnabled1() {
return new BoundedMatcher<View, WebView>(WebView.class) {
@Override
public void describeTo(Description description) {
description.appendText("WebView with JS enabled");
}
@Override
public boolean matchesSafely(WebView webView) {
view1 =webView;
return webView.getSettings().getJavaScriptEnabled();
}
};
}
そして、私のテストクラスで私が呼ぶ:
CustomMatcher.isJavascriptEnabled1();
CustomMatcher.view1.evaluateJavascript("$('.status dl dd').get(0).innerText.replace('pts.', '').replace(',', '').trim()\"]",new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
Log.d("LogName", s); // Prints asd
}
});
私はエラーを取得する:java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.evaluateJavascript(java.lang.String, android.webkit.ValueCallback)' on a null object reference
は本当にこの質問に答えるために、あなたの時間、本当にhelpful.Thanksを感謝しています。 –