App自动化测试笔记(四):UIAutomatorViewer与元素定位API

这篇具有很好参考价值的文章主要介绍了App自动化测试笔记(四):UIAutomatorViewer与元素定位API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

UIAutomatorViewer

1、应用场景

定位元素的时候必须根据元素的相关特征来进行定位,而 UIAutomatorViewer 就是用来获取元素特征的。

如何使用UIAutomatorViewer

1、保证想要查看的元素在当前的频幕上
2、打开UIAutomatorViewer工具
3、点击左上角左数第二个按钮
4、点击想要获取特征的元素
5、查看工具右下角相关的特征信息

使用UIAutomatorViewer注意点

1、命令行窗口不要关闭
2、如果UIAutomatorViewer闪退
      更换jdk为1.8以上
3、如果点击左上角左数第二个按钮时报错
      重启adb
          先退出adb进程:adb kill-server
          再开启adb进程:adb start-server 

2、元素定位操作api

定位一个元素

1、通过id定位一个元素

id_value:元素的resource-id的属性值

driver.find_element_by_id(id_value)
2、通过class_name定位一个元素

class_name:元素的class的属性值

driver.find_element_by_id(class_name)
3、通过xpath定位一个元素

xpath:定位元素的xpath表达式
格式://*[@元素 = '元素值']

driver.find_element_by_id(xpath)

例子:进入设置界面,点击搜索,输入hello,最后返回
代码:

from appium import webdriver
import time
desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# time.sleep(10)
driver.find_element_by_id("com.android.settings:id/search").click()
time.sleep(10)
driver.find_element_by_class_name("android.widget.EditText").send_keys("hello")
time.sleep(10)
driver.find_element_by_xpath("//*[@content-desc = '收起']").click()
time.sleep(5)
driver.quit()

3、定位一组元素

1、通过id定位一组元素

id_value:元素的resource-id的属性值

driver.find_elements_by_id(id_value)
2、通过class_name定位一组元素

class_name:元素的class的属性值

driver.find_elements_by_id(class_name)
3、通过xpath定位一组元素

xpath:定位元素的xpath表达式
格式://*[@元素 = '元素值']

driver.find_elements_by_id(xpath)

概念:如果通过一组的方式进行定位,获取的返回值不再是一个元素。而是一个列表,列表中装着所有符合这个特征的元素

4、定位元素注意点

如果find_element_by_xxx("xxx")传入了一个没有的条件,会报错,NoSuchElementException
如果find_elements_by_xxx("xxx")传入了一个没有的条件,不会报错,返回一个空列表

示例:
通过 id 的形式,获取所有 resource-id 为 ”com.android.settings:id/title“ 的元素,并打印其文字内容,并进入退出
通过 class_name 的形式,获取所有class 为 ”android.widget.TextView“ 的元素,并打印其文字内容,并进入退出
通过 xpath 的形式,获取所有包含 ”设“ 的元素,并打印其文字内容
代码,并进入退出

代码:

from appium import webdriver
import time
desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 定位一组元素
# 使用id定位一组元素
# eles = driver.find_elements_by_id("com.android.settings:id/title")
# i = []
# for ele in eles:
#     print(ele.text)
#     i.append(ele)
# i[1].click()
# driver.find_element_by_xpath("//*[@content-desc = '向上导航']").click()
 
# 使用class定位一组元素
# eles = driver.find_elements_by_class_name("android.widget.TextView")
# i = []
# for ele in eles:
#     print(ele.text)
#     i.append(ele)
# i[4].click()
# driver.find_element_by_xpath("//*[@content-desc = '向上导航']").click()
 
# 使用xpath定位一组元素
eles = driver.find_elements_by_xpath("//*[contains(@text , '示')]")
i = []
for ele in eles:
    print(ele.text)
    i.append(ele)
i[1].click()
driver.find_element_by_xpath("//*[@content-desc = '向上导航']").click()
 
time.sleep(5)
driver.quit()

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

App自动化测试笔记(四):UIAutomatorViewer与元素定位API,笔记,python,自动化,软件测试

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。App自动化测试笔记(四):UIAutomatorViewer与元素定位API,笔记,python,自动化,软件测试

App自动化测试笔记(四):UIAutomatorViewer与元素定位API,笔记,python,自动化,软件测试

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。文章来源地址https://www.toymoban.com/news/detail-840852.html

到了这里,关于App自动化测试笔记(四):UIAutomatorViewer与元素定位API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化测试——APP测试

    1、安装jdk 配置环境变量 2、Android SDK 环境安装 3、Appium Server安装 4、模拟器安装 5、安装appium-python-client Python第三方库 1、设置参数 2、操作系统 3、选择版本 4、设备名称 5、包名 6、入口程序 1、连接模拟器 adb connect 127.0.0.1:62001 其他模拟器:雷神、夜神、mumu、逍遥 2、查看连

    2024年02月15日
    浏览(62)
  • python ui自动化测试元素定位常用语法

    第一部分是css样式定位方法 选择器 示例 示例说明 CSS . class .intro 选择所有class=\\\"intro\\\"的元素 1 # id #firstname 选择所有id=\\\"firstname\\\"的元素 1 * * 选择所有元素 2 element p 选择所有p元素 1 element,element div,p 选择所有div元素和p元素 1 element   element div p 选择div元素内的所有p元素 1 element

    2024年02月13日
    浏览(51)
  • 【selenium自动化测试】如何定位页面元素,及对页面元素的操作方法

    selenium元素定位 ​selenium定位元素的方式有8种。 fild_element(by,value):by表示使用的定位方式,定位方式可以参见By类。value表示值,例如:根据id定位 By.ID,value=id属性的值。该方法返回元素对象,返回值如下: 这个返回结果说明:返回值为WebElement类的对象,元素在使用方法时

    2024年02月10日
    浏览(68)
  • UI自动化测试(APP测试)

    1、什么是自动化测试 概念:由程序代替人工进行系统校验的过程 1.1自动化测试能解决的问题? 回归测试 (冒烟测试) 针对之前老的功能进行测试 通过自动化的代码来实现。 针对上一个版本的问题的回归 兼容性测试 web实例化不同的浏览器驱动相当于对不同的浏览器进行操作

    2024年02月01日
    浏览(67)
  • web自动化测试入门篇06 —— 元素定位进阶技巧

      😏 作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡 主页地址:【Austin_zhai】 🙆 目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎 声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题

    2024年02月05日
    浏览(50)
  • 【APP自动化测试必知必会】Appium之微信小程序自动化测试

    H5 是指第 5 代 HTML ,也指用 H5 语言制作的一切数字产品。 所谓 HTML 是“超文本标记语言”的英文缩写。我们上网所看到网页,多数都是由 HTML 写成的。 “超文本”是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。而“标记”指的是 这些超文本必须由包含属性

    2024年02月09日
    浏览(108)
  • app自动化测试(Android)

    Capability 是一组键值对的集合(比如:\\\"platformName\\\": \\\"Android\\\")。Capability 主要用于通知 Appium 服务端建立 Session 需要的信息。客户端使用特定语言生成 Capabilities,最终会以 JSON 对象的形式发送给 Appium 服务端。 比如下面的例子展示了几个重要的 capabilities: Python 版本 Java 版本

    2024年02月09日
    浏览(50)
  • 自动化测试(二)selenium八大获取元素方法及对象操作

    目录 webdriver API 脚本实例 元素的定位 1. 通过id定位: 2. 通过name方式定位 3. 通过tag name(标签名)定位 4. 通过class name (类名)方式定位 5. 通过CSS 方式定位 6. 通过xpath方式定位 7. link text定位 8. Partial link text 定位 操作测试对象  鼠标点击与键盘输入 submit 提交表单 text 获取

    2024年02月03日
    浏览(47)
  • web自动化测试(java+seleium)元素定位,全屏截图

    示例 根据元素的id属性来定位元素 根据元素的name属性来定位元素,但是注意name的属性值在当前文档中可以不是唯一的 通过class定位 通过tag进行定位,tag定位比较模糊,多用于标题等特殊标签 定位超链接文本(文本值) 模糊的link_text定位 能够实现路径定位(绝对路径,相对路径

    2024年02月08日
    浏览(46)
  • 自学移动端(APP)自动化测试

            国庆已经过去了,新的一周已经开始了,各地疫情又开始出现复发了,我们能做的就是做好个人防护、去哪报备、到哪扫码亮码、主动做核酸、随时做好家里存储至少一周的食物,拒绝过度防疫,拒绝过度恐慌,拒绝过度焦虑。有工作的最起码还有钱能到手,没有工

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包