首页 > 其他分享 >10.自动化测试定位策略

10.自动化测试定位策略

时间:2023-12-19 16:56:55浏览次数:34  
标签:xpath 10 定位 text 元素 测试 自动化 id 属性

App 定位方式

 
定位策略描述
Accessibility ID 识别一个唯一的 UI 元素,对于 XCUITest 引擎,它对应的的属性名是 accessibility-id,对于 Android 系统的页面元素,对应的属性名是 content-desc
Class name 对于 iOS 系统,它的 class 属性对应的属性值会以XCUIElementType开头,对于 Android 系统,它对应的是 UIAutomator2 的 class 属性(e.g.: android.widget.TextView)
ID 原生元素的标识符,Android 系统对应的属性名为resource-id,iOS 为name
Name 元素的名称
XPath 使用 xpath 表达式查找页面所对应的 xml 的路径(不推荐,存在性能问题)

App 定位方式进阶

 
定位策略描述
Image 通过匹配 base 64 编码的图像文件定位元素
Android UiAutomator (UiAutomator2 only) 使用 UI Automator 提供的 API, 尤其是 UiSelector 类来定位元素,在 Appium 中,会发送 Java 代码作为字符串发送到服务器,服务器在应用程序的环境中执行这段代码,并返回一个或多个元素
Android View Tag (Espresso only) 使用 view tag 定位元素
Android Data Matcher (Espresso only) 使用 Espresso 数据匹配器定位元素
IOS UIAutomation 在 iOS 应用程序自动化时,可以使用苹果的 instruments 框架查找元素

Web 定位方式

 
定位策略描述
class name 通过 class 属性定位元素
css selector 通过匹配css selector 定位元素
id 通过 id 属性匹配元素
name 通过 name 属性定位元素
link text 通过 text 标签中间的text文本定位元素
partial link text 通过 text 标签中间的text文本的部分内容定位元素
tag name 通过 tag 名称定位元素
xpath

通过 xpath 表达式匹配元素

选择定位器通用原则

  • 与研发约定的属性优先
    • web 推荐 class
    • android 推荐 content-description
    • ios 推荐 label
  • 身份属性 id,name(web 定位)
  • 组合定位 xpath,css
  • 其它定位

元素定位不到

原因解决方案
定位不正确 在定位工具中先测试定位表达式是否正确
存在动态 ID 定位方式使用 css 或者 xpath 的相对定位
页面还没有加载完成 添加死等验证,使用显示等待或隐式等待进行优化
页面有 iframe 切换到 iframe 后定位
页面切换 window 切换到对应窗口后定位
要定位元素为隐藏元素

使用 js 操作该

混合定位的应用场景

 
  • 场景:
    • 属性动态变化(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()方法

 

标签:xpath,10,定位,text,元素,测试,自动化,id,属性
From: https://www.cnblogs.com/csfsz/p/17914155.html

相关文章

  • 自动化代码规范
    准备测试数据#一般是把测试用例放到excel中,格式如下数据数据期望lisi123456"个人理财系统"admin123456"后台管理系统"lisi001123456"用户名不存在"admin001123456"用户名不存在"用例执行模块#将数据与页面逻辑代码结合编写测试用例#如defte......
  • cpu亲和性测试
    CmakeList.txt 1cmake_minimum_required(VERSION3.25)2project(_01_pthread_setaffinityC)34set(CMAKE_C_STANDARD11)56add_executable(_01_pthread_setaffinitymain.c)78target_link_libraries(${PROJECT_NAME}pthread)main1#define_GNU_SOURCE......
  • 【2023潇湘夜雨】WIN11_Pro_Canary_26016.1000软件选装纯净版12.19
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro_Canary_26016.1000。2.增加部分优化方案,手工精简部分较多,干掉右下角水印。3.OS版本号为26016.1000。精简系统只是为部分用户安装,个别要求高的去MSDN下。4.集成《DrvCeo-2.1......
  • 面试遇到了接口分析和测试用例分析题,该如何下手?
    只要有软件产品的公司百分之九十以上都会做接口测试,要做接口测试的公司那是少不了接口测试工程师的,接口测试工程师相对于其他的职位又比较轻松并且容易胜任。如果你想从事接口测试的工作那就少不了对接口进行分析,同时也会对测试用例进行研究。当然要从事接口测试工作,必需得先过面......
  • 最新软件测试面试题(带答案)
    ​1.请自我介绍一下(需简单清楚的表述自已的基本情况,在这过程中要展现出自信,对工作有激情,上进,好学)面试官您好,我叫###,今年26岁,来自江西九江,就读专业是电子商务,毕业后就来深圳工作,有三年的软件测试工程师的经验,我性格比较开朗,能和同事小伙伴友好相处。2.平时工作中是怎么去测......
  • Owasp Top10 漏洞解析 之注入
    一、注入漏洞是什么?注入漏洞,即将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命今或访问数据。几乎任何数据源都能成为注入载体,包括环境变量......
  • #P1052. 乘法逆元
    #include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intn,p;intgcd(inta,intb,int&x,int&y){ if(b==0){ x=1; y=0; returna; } intd=gcd(b,a%b,y,x); y-=a/b*x; returnd;}intinv(inta,intm){ intx,y; gcd(a,m,x......
  • GBJ2510-ASEMI逆变器专用整流桥GBJ2510
    编辑:llGBJ2510-ASEMI逆变器专用整流桥GBJ2510型号:GBJ2510品牌:ASEMI封装:GBJ-4最大平均正向电流:25A最大重复峰值反向电压:1000V产品引线数量:4产品内部芯片个数:4产品内部芯片尺寸:140MIL峰值正向漏电流:<10ua恢复时间:>2000ns浪涌电流:350A芯片材质:光阻GPP最大正向电压:1.90V工作结温:-55℃~15......
  • 10 个免费的 AI 图片生成工具分享
    原文:https://openaigptguide.com/ai-picture-generator/在人工智能(AI)图像生成技术的推动下,各类AI图片生成网站如雨后春笋般涌现,为我们的日常生活提供了丰富多彩的视觉体验。AI图片生成技术原理人工智能(AI)图片生成技术原理是通过计算机程序使用深度学习算法从大量的数据中学习......
  • 1038:苹果和虫子 in、out完善
    时间限制:1000ms      内存限制:65536KB提交数:215194   通过数:62609【题目描述】你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?【输......