Appium APP 显示的 toast 多个图片 和 接口返回的 toast 不一致。求助大牛,如何对比?

皆非 · 2017年09月03日 · 最后由 皆非 回复于 2017年10月23日 · 1985 次阅读

这个是 客户端显示的 toast

{
    "ret": -40051,
    "msg": "密码错误",
    "_time_": 0.0017533
}

这个是 接口返回的 json 串

def toast(self, message, driver):

    message = '//*[@text=\'{}\']'.format(message)
    element = WebDriverWait(driver, 10, 0.5).until(
        expected_conditions.presence_of_element_located((By.XPATH, message)))
    return element

message = ‘密码错误’ 这样对比一直报错,客户端的 toast 提示多个 ' ! ' ,问了开发,这个感叹号是个图片,调用封装的方法实现的。
求助大牛,这种 toast 改怎么做对比?

共收到 9 条回复 时间 点赞

没去试带图片的,查找的时候不需要文本完全一致,.//*[contains(@text, "toast")]

2楼 已删除

你知道这两个的区别吗
.//*[@text='toast']
.//*[contains(@text, "toast")]

皆非 #10 · 2017年09月04日 Author
黑水 回复

判断包含的字符?

黑水 回复

请问,这个封装的方法应该怎么改。 我刚升级了 appium1.6 这个方法还是在网上找的。

该问题已经搞定了,不需要匹配前面的图片也可以实现。

楼主请问下为什么我到获取不到 toast,appium 1.65 版本

  1. 这样设置:desired_caps['automationName'] = "uiautomator2" 就会报错 ``` selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate. Original error Command '/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java -jar /usr/local/lib/node_modules/appium/node_modules/_appium-adb\@2.28.0\@appium-adb/jars/sign.jar /usr/local/lib/node_modules/appium/node_modules/_appium-uiautomator2-driver\@0.6.1\@appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-v0.1.8.apk --override' exited with code 1

我手动下载来这个appium-uiautomator2-server-v0.1.8.ap到@appium-uiautomator2-driver/uiautomator2目录,依然还是报错

我也想问,楼主是怎么获取 toast 的呢?求分享~

def find_toast(self, message, driver):
    message = '//*[@text=\'{}\']'.format(message)
    element = WebDriverWait(driver, 20, 0.5).until(
        expected_conditions.presence_of_element_located((By.XPATH, message)))
    # print(element)
    return element

用的以上方法,这也是在网上找的 appium 1.6.5

我之前用命令安装这几个文件时也提示出错 多试几次就 OK 了 不清楚为啥。。。

皆非 关闭了讨论 11月11日 23:19
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册