robotframework + appium 获取android toast
android toast 获取主要方式是在出现toast的时候查找元素:xpath=//*[contains(@text,'记同步')] ,该xpath 表示为toast信息含有 "记同步",如toast弹出”笔记同步成功” 就能获取到这个toast,获取到toast 元素,就能获取完整文字,如图
robot frame work ride 中的代码如下,示例代码为有道云添加笔记用例。
*** Settings *** Library AppiumLibrary *** Test Cases *** 添加笔记 [Timeout] 30 seconds Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=5.1 automationName=Uiautomator2 deviceName=192.168.116.101:5555 appPackage=com.youdao.note ... appActivity=com.youdao.note.activity2.SplashActivity Wait Until Page Contains Element id=com.youdao.note:id/add_note 20 click element id=com.youdao.note:id/add_note Wait Until Page Contains Element id=com.youdao.note:id/add_note_floater_add_note 20 click element id=com.youdao.note:id/add_note_floater_add_note Wait Until Page Contains Element id=com.youdao.note:id/note_title 20 input text id=com.youdao.note:id/note_title robot title中文 input text xpath=//android.widget.LinearLayout[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText[1] robot content中文 click element id=com.youdao.note:id/actionbar_complete_text Wait Until Page Contains Element xpath=//*[contains(@text,'同步')] 20 ${toast_text} get text xpath=//*[contains(@text,'记同步')] Should Be Equal ${toast_text} 笔记同步成功
执行能获取完整toast信息,日志文件中“${toast_text} = 笔记同步成功”表示获取toast信息成功