写点什么

自动化测试定位方式那么多,应该选哪个?

  • 2024-04-28
    江西
  • 本文字数:1814 字

    阅读完需:约 6 分钟

简介

定位策略是用于在自动化测试中定位移动应用界面元素的方法和策略。通过选择合适的定位策略,测试人员可以定位和操作应用程序的各种控件,如按钮、文本框、下拉列表等。常见的定位策略包括 ID 定位、XPath 定位、Class Name 定位、AccessibilityID 定位、Name 定位、XPath 模糊定位、Android UI Automator 定位以及 iOS Predicate 定位。通过灵活运用不同的定位策略,可以提高自动化测试的稳定性和可靠性。

获取更多技术资料,请点击!

App 定位方式

Web 定位方式

选择定位器通用原则

  • 与研发约定的属性优先 。

  • web 推荐 class。

  • android 推荐 content-description。

  • ios 推荐 label。

  • 身份属性 id,name(web 定位)。

  • 组合定位 xpath,css。

  • 其它定位。

元素定位不到

导致 Appium 元素定位不到的原因可能包括定位信息错误、元素未加载完成、元素隐藏或不可见、元素定位策略不准确、Appium 和应用程序版本不兼容以及设备连接或设置问题。要解决这些问题,需要确保定位信息正确、等待元素加载完成、使元素可见、选择合适的定位策略、确保版本兼容性以及正确配置和设置设备。


混合定位的应用场景

  • 场景:

  • 属性动态变化(id,text)。

  • 重复元素属性(id,text,class)。

  • 解决:

  • 根据相对位置关系进行定位(css、xpath)(父级,子级,兄弟,索引)。

  • 使用 find_elements 遍历查找。

  • 参考高级定位技巧章节(xpath,css)。

使用等待机制的场景

  • 场景

  • 控件动态出现

  • 控件出现特定特征

  • 解决

  • 元素定位结合隐式等待与显式等待

特殊控件定位

Web 弹框定位

  • 场景

  • web 页面 alert 弹框

  • 解决:

  • web 需要使用 driver.switchTo().alert() 处理

App toast 提示框定位

  • 场景:

  • app Toast 提示框。

  • 解决:

  • 使用 driver.page_source 拿到页面布局结构文件,分析 Toast/弹框组件的标签内容。

  • 然后通过 id/text/class 等属性,使用 xpath 完成元素定位。

  • 结合隐式等待。

下拉框/日期控件定位

  • 场景:

  • <input>标签组合的下拉框无法定位。

  • <input>标签组合的日期控件无法定位。

  • 解决:

  • 面对这些元素,可以引入 JS 注入技术来解决问题。

文件上传定位

  • 场景:

  • input 标签文件上传。

  • 解决:

  • input 标签直接使用 send_keys() 方法。

总结

在选择定位策略时,需要考虑元素的属性、上下文以及应用的特定情况。有时候需要结合多个属性或使用相对定位,以确保定位的准确性和稳定性。此外,使用隐式等待或显式等待是确保元素加载完成的重要步骤,以避免定位超时的问题。

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战


【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)


【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)


【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)


【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)


【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试


【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff


【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享


【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装


【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?


【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!


【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我


【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化


【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试


【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !


【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置


【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)


【霍格沃兹测试开发】6 小时轻松上手功能测试/ 软件测试工作流程/ 测试用例设计/Bug 管理


【霍格沃兹测试开发】零基础小白如何使用Postman ,从零到一做接口自动化测试/ 从零基础到进阶到实战


【霍格沃兹测试开发】建议收藏全国CCF 测试开发大赛Python 接口自动化测试赛前辅导 / 项目实战

更多软件测试开发视频教程点此



用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
自动化测试定位方式那么多,应该选哪个?_霍格沃兹测试开发学社_InfoQ写作社区