0
点赞
收藏
分享

微信扫一扫

软件测试学习笔记丨高级定位-css定位与原生定位

原生定位

  • 官网地址:

https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html

  • ID定位

WebElement element =driver.findElement(
AppiumBy.androidUIAutomator("new UiSelector().resourceId("com.xueqiu.android:id/stock_layout")")
)

  • 组合定位

driver.findElement(
AppiumBy.androidUIAutomator("new UiSelector().resourceId("com.xueqiu.android:id/tab_name").text("股票")"))

css selector 定位

  • 官网说明:
    https://github.com/appium/appium/releases/tag/v1.19.0
  • Android: Appium Server 版本 >= 1.19.0
  • iOS:Appium Server>= 1.21.0
  • css selector 会转化为 Android/iOS 原生定位的定位策略
  • Android 转为 Android Uiautomator 定位方式
  • iOS 转为 class chain 定位方式
  • css selector 用法

# id 定位转化:
elementsById("someResourceID") --> elementsByCss("#someResourceID")

# class name 定位转化:
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']")

  • 代码转化实例:

# 代码:
driver.findElement(
AppiumBy.cssSelector("#com\.xueqiu\.android\:id\/home_search"));

# 解析前:
{"using":"css selector",
"value":"#com\.xueqiu\.android\:id\/home_search"}

# 解析后:
{"strategy":"-android uiautomator",
"selector":"new UiSelector()
.resourceId("com.xueqiu.android:id/home_search")",...}


举报

相关推荐

0 条评论