我的注册过程在WebView中生成cookie,而不是在本机代码中生成cookie。我的所有测试都依赖于从Webview检索到的cookie,所以我需要一种从Robotium测试中的webview中提取数据的方法。如何才能做到这一点?这是我的WebView片段:
public class MyWebViewFragment extends Fragment {
private CookieManager cookieManager;
@ViewById
WebView myWebView;
@AfterViews
void theAfterViews() {
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setDomStorageEnabled(true);
CookieSyncManager.createInstance(getActivity());
cookieManager = CookieManager.getInstance();
myWebView.loadUrl(theURL);
myWebView.setWebViewClient(new WebViewClient()
{
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if ((url != null) && (url.equals(theURL)))
{
String theCookies = cookieManager.getCookie(url);
// ######## I need to pull these Cookies out here in the Robotium test. How do I use Solo etc to do this?
}
}
}
}
我需要知道如何编写Robotium测试,该测试将在正确的位置提取Cookie的值并将其保存以供其他测试使用。我需要工作,否则我的其他测试都不会运行。感谢
答案 0 :(得分:0)
我认为您可能知道看到其他问题的简单答案是获取片段,然后询问片段的值。您可能会考虑为您的测试模拟此功能,或允许您的测试方法能够为自己设置cookie等(不确定这是否适用于您的情况。)