霍格沃兹测试开发学社

《Python测试开发进阶训练营》(随到随学!)
2023年第2期《Python全栈开发与自动化测试班》(开班在即)
报名联系weixin/qq:2314507862

app自动化测试(iOS)元素定位(新手篇)

本文节选自霍格沃兹测试学院内部教材

除了通用定位方式外,iOS 还有其他特殊的定位方式,本章节仅介绍 iOS 特有定位。

PredicateString定位

样本元素截图:

使用 PredicateString,基本定位方式是由元素属性名、运算符、目标值组成。

元素属性

  • type: 元素类型,等同于 className
  • name: 当前元素的文本信息,一般等于 label
  • label: 与 name 一致
  • enabled: 当前元素是否可点击,一般为 true 或 false
  • visible: 当前元素是否可见,一般为 true 或 false

比较运算符

==>=<=><!=<>,可用来比较数值或字符串

例如:

label == "SYSTEM (TEXT)"

逻辑运算符

ANDORNOTAND等同于&&OR等同于||NOT等同于!

例如:


label == "SYSTEM (TEXT)" AND enabled == truelabel == "SYSTEM (TEXT)" OR name == "SYSTEM (TEXT)"label == "SYSTEM (TEXT)" && NOT enabled != true

模糊匹配LIKE

? 和 * 都可以作为通配符,?匹配一个字符,*匹配多个字符。

例如:


label LIKE "SYSTEM (TEXT)"label LIKE "?YSTEM (TEXT)"label LIKE "SYSTEM??TEXT)"label LIKE "* (TEXT)"label LIKE "SYSTEM*"

其他

BEGINSWITHENDSWITHCONTAINS

例如:


# 匹配属性为 label ,value为 SYSTEM 开头的元素label BEGINSWITH "SYSTEM"# 匹配属性为 label ,value为 (TEXT) 结尾的元素label ENDSWITH "(TEXT)"# 匹配属性为 label ,value包含 TEXT 结尾的元素label CONTAINS "TEXT"

其他定位请参考 App 控件定位章节哦,如果大家有其他想了解的知识点也可以在下方留言哦!小编尽量满足大家的需求哈~

** _
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
点击获取更多信息

posted @ 2021-12-28 09:54  霍格沃兹测试开发学社  阅读(44)  评论(0编辑  收藏  举报