【Python+Appium】开展自动化测试(十三)toast定位

目录:导读

一,前言

二,环境

三,toast定位准备与定位方法

1,准备

2,定位方法

四,示例代码

五,结语


一,前言

在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断言今日头条登录用例是否通过。但toast区别于控件元素,无法获取焦点,不能通过uiautomatorviewer.bat、appium、weditor等工具定位,因此我们就需要通过别的方法来定位。

二,环境

  • windows 10
  • Android 10
  • appium 1.18.0 (desktop)
  • selenium 3.141.0
  • jdk 1.8

三,toast定位准备与定位方法

1,准备

注意:网上大量的博客都说定位toast需要使用uiautomator2,且需要安装appium-uiautomator2-driver。但我在以上环境定位toast时是不需要uiautomator2,也无需安装appium-uiautomator2-driver,且能定位成功!!!大家可以尝试,如果报错的话就老实按照下面步骤进行吧。

1.1,在Capablity里新增参数使用uiautomator2:

desired_caps['automationName'] = 'uiautomator2',

1.2,再安装appium-uiautomator2-driver,命令如下:

cnpm install appium-uiautomator2-driver

安装成功后在C:\Users\xxx\node_modules会出现如下文件:

_appium-uiautomator2-driver@1.12.0@appium-uiautomator2-driver
_appium-uiautomator2-server@1.10.0@appium-uiautomator2-server

2,定位方法

toast需使用xpath的方式进行定位

2.1,根据toast的文本内容定位toast

driver.find_element_by_xpath('//*[@text="xxxxxx"]')

这种方式一般用于判断或断言是否出现文本为"xxxxxx"的toast,因此我们可以封装如下:

<
<think>好的,我现在需要帮助用户寻找关于Python Selenium和Appium进行自动化测试的教程、示例和用法。首先,我应该回忆用户提供的引用内容,看看是否有相关的资料可以推荐。 用户提到了引用[2]和引用[5],其中引用[2]详细介绍了Python+Appium的使用步骤,包括环境准备和示例代码,这可能是一个好的起点。引用[5]提到了安装Appium-Python-Client依赖包,这也是使用Appium的必要步骤。另外,引用[3]和引用[4]涉及到了Toast信息的获取和滑动操作,这些可能是实际测试中的常见需求,应该包含在教程或示例中。 接下来,我需要组织这些信息,按照用户的要求结构清晰,分步骤说明。可能需要分为环境搭建、基础用法、进阶操作和示例代码几个部分。同时,要确保所有数学公式和独立公式符合格式要求,不过在这个问题中可能涉及的不多,但代码块需要正确展示。 用户可能需要具体的代码示例,比如如何启动Appium驱动,定位元素,以及执行滑动操作。引用[4]中的滑动示例可以直接用代码展示。此外,引用[3]提到的Toast信息获取需要安装uiautomator2,这也需要特别说明。 还要注意引用标识的正确添加,比如在提到环境准备时引用[2],在安装依赖时引用[5],滑动操作引用[4],Toast部分引用[3]。同时,用户可能对Selenium和Appium的区别以及如何结合使用有疑问,需要简要说明两者的应用场景。 最后,生成相关问题,确保问题与用户查询的主题相关,涵盖教程推荐、环境配置、元素定位、区别对比、常见问题等。检查所有链接是否有效,但根据用户提供的引用,可能不需要外部链接,而是引用已有的站内引用。 需要确保回答使用中文,结构清晰,代码示例正确,并且自然融入引用标识。现在整理这些思路,形成连贯的回答。</think>### Python Selenium与Appium自动化测试指南 #### 一、环境搭建 1. **Selenium环境** - 安装Python的Selenium库:`pip install selenium` - 下载浏览器驱动(如ChromeDriver),并配置环境变量[^2]。 2. **Appium环境** - 安装Node.js和Appium:`npm install -g appium` - 安装Appium客户端库:`pip install Appium-Python-Client`[^5] - 配置Android SDK和模拟器/真机调试环境[^2]。 --- #### 二、基础用法 **1. Selenium示例(Web自动化)** ```python from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") search_box = driver.find_element("id", "kw") search_box.send_keys("自动化测试") driver.quit() ``` **2. Appium示例(移动端自动化)** ```python from appium import webdriver desired_caps = { "platformName": "Android", "deviceName": "emulator-5554", "appPackage": "com.android.calculator2", "appActivity": ".Calculator" } driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps) driver.find_element("id", "digit_5").click() driver.quit() ``` --- #### 三、进阶操作 1. **元素定位策略** - 使用ID、XPath、ClassName等定位方式,如Appium中`driver.find_element("xpath", "//Button[@text='OK']")`。 2. **滑动操作** ```python # 向上滑动屏幕(引用Appium扩展命令) driver.execute_script('mobile: swipe', {'direction': 'up'}) [^4] ``` 3. **Toast信息捕获** - 需安装uiautomator2驱动:`cnpm install appium-uiautomator2-driver` [^3] - 使用XPath定位Toast:`driver.find_element("xpath", "//*[@text='登录成功']")` --- #### 四、核心区别与应用场景 | 工具 | 适用平台 | 典型场景 | |---------|-----------|-------------------------| | Selenium| Web浏览器 | 网页功能测试、表单提交 | | Appium | 移动端APP | 移动应用UI测试、手势操作 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值