博客
关于我
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/

你可能感兴趣的文章
php输出数据到csv文件
查看>>
php输出语句
查看>>
php运行原理详细说明
查看>>
php运行环境出现Undefined index 或variable时解决方法
查看>>
php进程通信
查看>>
R&Python Data Science 系列:数据处理(2)
查看>>
php递归算法总结
查看>>
PHP递归遍历文件夹
查看>>
R&Python Data Science 系列:数据处理(1)
查看>>
php错误日志文件
查看>>
PHP错误解决:Array and string offset access syntax with curly braces is deprecated
查看>>
php隐藏手机号中间4位方法总结
查看>>
php面向对象三大特征封装、多态、继承
查看>>
php面向对象全攻略
查看>>
php面向对象的基础题
查看>>
php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)...
查看>>
php页面增加自选项,php-在Woocommerce中添加新的自定义默认订购目录选项
查看>>
php页面静态化技术;学习笔记
查看>>
php项目心得以及总结
查看>>
R&Python Data Science 系列:数据处理(4)长宽格式数据转换
查看>>