android toast 获取主要方式是在出现toast的时候查找元素:xpath=//*[contains(@text,'记同步')]  ,该xpath 表示为toast信息含有  "记同步",如toast弹出”笔记同步成功” 就能获取到这个toast,获取到toast 元素,就能获取完整文字,如图

robotframework + appium  获取android  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信息成功

robotframework + appium  获取android  toast_编程_02