博客
关于我
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判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
查看>>
Python切片对象和__getitem__
查看>>
python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
查看>>