博客
关于我
10-appium-toast定位
阅读量:341 次
发布时间:2019-03-04

本文共 2251 字,大约阅读时间需要 7 分钟。

前言

toast在Android开发中是一个常用的UI提示组件,通过Appium框架可以进行自动化操作。本文将介绍toast的样式设置以及如何封装定位判断toast的实现方法。

toast样式

toast的样式设置可以通过代码实现,例如背景颜色、字体大小、显示位置等属性。通过配置 toastLayout.xml 文件,可以自定义toast的显示效果。以下是通过代码实现的样式设置示例:
# -*- coding: utf-8 -*-from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECdesired_capabilities = {      "platformName": "Android",      "deviceName": "127.0.0.1:62001",      "platformVersion": "7.1.2",      "appPackage": "com.jingdong.app.mall",      "appActivity": ".main.MainActivity"  }  driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities)  driver.implicitly_wait(10)  # 点击同意  driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click()  time.sleep(5)  # 返回  driver.back()  text = '再次返回退出京东'

封装toast定位判断

为了方便定位和判断toast的存在,可以通过编写自定义函数来实现。以下是一个封装定位toast的实现示例:
# -*- coding: utf-8 -*-from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECdef is_toast_exist(driver, text, timeout=30, interval=0.5):      """      :param driver: 驱动      :param text: toast文案      :param timeout: 超时时长,单位s      :param interval: 刷新间隔时长,单位s      :return: True/False      """      try:          toast_loc = ("xpath", f".//*[contains(@text,'{text}')]")          WebDriverWait(driver, timeout, interval).until(EC.presence_of_element_located(toast_loc))          return True      except Exception as e:          print(e)          return False  if __name__ == '__main__':      driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities)      driver.implicitly_wait(10)      # 等待Activity      flag = driver.wait_activity('.main.MainActivity', 10)      print(flag)      # 点击同意      driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click()      time.sleep(5)      # 返回      driver.back()      text = '再次返回退出京东'      if is_toast_exist(driver, text):          toast_text = driver.find_element_by_xpath(f"//*[contains(@text,'{text}')]").text          print("toast_text:", toast_text)      else:          print('未定位到toast')

以上代码展示了如何通过Appium框架对toast进行定位和判断操作。通过封装函数的方式,可以更方便地在测试用例中使用,减少代码的复杂度。

转载地址:http://eyle.baihongyu.com/

你可能感兴趣的文章
Python You are using pip version 10.0.1, however version 19.3.1 is available.
查看>>
python zipfile模块学习笔记(一)
查看>>
Python zip函数 详解(全)
查看>>
Python \r\n与\n的转换
查看>>
python __new__中单例的作用
查看>>
python | aiofiles,一个超酷的 Python 库!
查看>>
python | akshare,一个超强的 开源Python 金融数据接口库!
查看>>
python | alabaster,一个强大的 关于alabaster 主题 Python 库!
查看>>
python | algorithms,一个超赞的 集合常用算法的Python 库!
查看>>
python调用jpype 报错:OSError JVM is already started和JVM cannot be restarted
查看>>
python | authlib,一个强大的 Python 库!
查看>>
python | awswrangler,一个高效的 Python 库!
查看>>
python | bashplotlib,一个有趣的Python库!
查看>>
python | bentoml,一个超级厉害的 模型部署 Python 库!
查看>>
python调用jar包的模块_python调用jar包
查看>>
python | black,一个神奇的 代码格式化工具 Python 库!
查看>>
python | bleach,一个超强的 Python 库!
查看>>
python | cartopy,一个有趣的 Python 库!
查看>>
python | cloud-init,一个实用的 云计算 Python 库!
查看>>
python | code2flow,一个神奇的 Python 库!
查看>>