等峰也等你

博客园 首页 新随笔 联系 订阅 管理
  308 随笔 :: 0 文章 :: 0 评论 :: 15140 阅读

目录

  • 原生定位
  • css selector 定位

原生定位

# ID 定位
driver.find_element_by_android_uiautomator('\
new UiSelector().resourceId("<element-ID>")')
# 组合定位
driver.find_element_by_android_uiautomator('\
new UiSelector().resourceId("com.xueqiu.android:id/tab_name").\
text("我的")')

CSS Selector 定位

css selector 定位介绍

  • 官网说明
  • Android: Appium Server 版本 >= 1.19.0
  • iOS:Appium Server>= 1.21.0
代码:
driver.find_element(AppiumBy.CSS_SELECTOR,\
"#com\.xueqiu\.android\:id\/tv_search")
解析前:
{"using":"css selector",\
"value":"#com\\.xueqiu\\.android\\:id\\/tv_search"}
解析后:
{"strategy":"-android uiautomator",\
"selector":"new UiSelector().resourceId
(\"com.xueqiu.android:id/tv_search\")",...}

css selector 用法

# 通过 id
elementById("someResourceID")`
-> `elementsByCss("#someResourceID")
# 通过 class
elementsByClassName("android.widget.TextView")`
-> `elementsByCss("android.widget.TextView")
# 通过 accessibility id
elementsByAccessibilityId("Some Content Description")`
-> `elementsByCss('*[description="Some Content Description"]')
# 通过 xpath
elementsByXpath("//android.widget.TextView[@description='Accessibility']")`
-> `elementsByCss("android.widget.TextView[description='Accessibility']")

示例

  • 打开【雪球】应用首页
  • 点击搜索框
  • 向搜索框输入:alibaba
  • 判断【阿里巴巴】可见
def test_search1(self):
# 点击搜索框
element = self.driver.find_element(\
AppiumBy.CSS_SELECTOR,"#com\.xueqiu\.android\:id\/tv_search")
element.click()
# 向搜索框输入:alibaba
self.driver.find_element(AppiumBy.CSS_SELECTOR,
"#com\.xueqiu\.android\:id\/search_input_text"). \
send_keys("alibaba")
alibaba_element = self.driver.find_element(\
AppiumBy.CSS_SELECTOR, "*[text='阿里巴巴']")
displayed = alibaba_element.get_attribute("displayed")
print(displayed)
# 判断【阿里巴巴】可见
assert displayed == "true"
print(f"结束时间:{self.get_time()}")

iOS css selector 定位

  • Appium Server 版本>=1.21.0
  • 官网:https://github.com/appium/appium/releases/tag/v1.21.0

总结

  • Appium Server 版本>=1.21.0
  • css selector 会转化为 Android/iOS 原生定位的定位策略
  • Android 转为 Android Uiautomator 定位方式
  • iOS 转为 class chain 定位方式
posted on   等峰也等你  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示