操作时这样的,我点击屏幕后会弹出一个 Toast。然后通过 toast 上面的 Text 提示来判断操作有没有成功。 但我尝试了 solo.waitForText 和 solo.searchText 都失败了,想请问有什么解决思路么?
我之前用过 waitForText,是可以识别纯文本的 toast 的。 其他的思路我暂时能想到的是 waitForView,但是 Toast 并没有 id 啊,所以我觉得应该很难吧。
两种方法,你试下哪种 ok? boolean ToastFind(String str1){ /* * 登陆后,通过提示来判定登陆是否成功 */ TextView toastTextView=solo.getText(0); if(toastTextView!=null){ String toastText=toastTextView.getText().toString(); solo.sleep(1000); assertEquals(toastText, str1); Log.d(TAG, toastText); } solo.waitForDialogToClose(2000); Log.d(TAG, str1); return true; }
public void searchToast(String str){ /* * 弹出提示框,点击确定 */ if(solo.searchText(str)){ Log.d(TAG2, str); solo.clickOnText("确定"); gotwoback(); } else{ Log.d(TAG2, "ok"); solo.goBack(); solo.sleep(500); solo.goBack(); } }
#2 楼 @keen_lau 我的情况类似于你第一种方法,点击后弹出 toast 的,但好像还是抓不到 toast 上的 text
贴个图看下
#3 楼 @75281920 toast 是底层的东西 好像是抓不到的。
#5 楼 @lihuazhang appium 在 api18 上貌似实现了
@seveniruby appium 如何获取 Toast 内容?
同问