python_元素定位

一。appuim 元素定位辅助工具

1)启动

点击搜索按钮,等待

等待完毕:

启动会话:

页面页面介绍:

 2)元素定位:

 -搜索

 搜索结果:

 

补充:

1.selenium中

webdriver.Chrome()运行原理:

-先启动一个服务端,再启动一个客户端 使用客户端给服务端发送请求

   -start

  -运行Chromedriver服务

  

 -ChromeRemoteConnection 远程连接:

  -向远程服务器发送命令。

  

 2.appium

-服务端是appuim

-客户端也是初始化一个

  -

-selenium与appium公用一个类:WebDriver

  -selenium,只是使用了 Chrome()子类

  

   -appium则使用了 Remote() 子类

  

3.MobileBy:继承了selenium中的By,自动有封装了一部分方法 与selenium相比定位方式少了些:比如 :css定位

二。元素定位

1.与selenium相比appium

-app 当中属性名是固定的,所有的元素都具备这些属性,

  -id, class, content-desc, clickable, checkable, 都在辅助工具会显示的。

-id 可以不唯一, web 当中 id 是唯一

-app中class 是表示组件的名称,类似于 web 当中 tagname

  -app 自动化测试当中,很少用单独的 class 定位

2.app中常用元素定位方式

- id, 确认什么时候唯一, inpect 查找元素。

- content-desc 元素标识, 经常没有。

- uiautomator 原生定位方式

- xpath (相对路径,一般用。手机解析页面素速度比较慢)

3.元素定位:

from appium import webdriver

caps={
"platformName": "Android",#平台名称
"deviceName": "emulator-5554",#设备名字
"appPackage":"包名",
"appActivity":"页面",
}

driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities=caps,
)
-方式一:
# 通过 ID
# el = driver.find_element("id", "值")
# el.click()
-方式二:
# 通过 content-desc 属性查找
# el = driver.find_element_by_accessibility_id("值")

-方式三:uiautomator
  -单个元素操作
    # 值,value: Java 代码

    # TODO: Java 代码表示字符串是用双引号,单引号不行,

    # TODO:若有多个引号,可以在里面的引号之前打
    

       selector = 'new UiSelector().resourceId("id值")'
    el = driver.find_element_by_android_uiautomator(selector)

    #另外一种调用方法
    # # el = driver.find_element(MobileBy.ANDROID_UIAUTOMATOR, "")
    el.click()

 

  -组合元素操作
    参考地址:https://www.cnblogs.com/jianXu/p/5158396.html
      

      # 和xpath 一样,可以进行条件的组合。
      # 组合查询比 xpath 更快
      # new UiSelector().resourceId("组合值1").text("组合值2") #等等通过链式调用生效
      # new UiSelector().resourceId())

  -父子元素
    

    # 父元素, (子元素) ==》 通过子元素的特征找到父元素
    # new UiSelector().checkable(false).childSelector(
    # new UiSelector().checkable()
    # )





-方式四:xpath
# el = driver.find_element(MobileBy.XPATH, "")

time.sleep(2)
driver.quit()

4.元素定位其他辅助工具

uiautomatorviewer: android 调试工具 手动刷新
weditor #网易的工具 优点:xpath 是相对路径;鼠标可显示

三。等待

元素等待
强制
隐式等待
显示等待

原文地址:https://www.cnblogs.com/newsss/p/13472423.html