appium万能定位法

# coding:utf-8
from appium import webdriver
import time

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0.1'

# desired_caps['deviceName'] = 'EQAU49V899999999'   #vivo
# desired_caps['deviceName'] = '127.0.0.1:62001'    #模拟器
desired_caps['deviceName'] = '186c3498'     #alcatel

# desired_caps['appPackage'] = 'com.android.settings'
# desired_caps['appActivity'] = '.Settings'

desired_caps['appPackage'] = 'com.oecommunity.oeshop'
desired_caps['appActivity'] = '.component.intro.activity.WelcomeActivity'

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

time.sleep(5)
# driver.wait_activity()
print(driver.current_context)
#多属性定位元素
driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.RelativeLayout").index(7)').click()
print(driver.current_activity)
# print(driver.page_source)
# with open('d:/app.txt','w') as f:
#     f.write(driver.page_source)
# driver.find_element_by_android_uiautomator('new UiDevice().waitForIdle()')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Appium 是一个开源的自动化测试工具,用于移动应用的UI测试,它支持多种平台和多种编程语言,包括 Java。在 Appium 中,定位元素是测试脚本的核心部分,Java API 提供了多种方来查找 UI 元素。以下是一些常见的元素定位: 1. By.id (根据ID定位):这是最常用的定位方式,通过元素的唯一 ID 来找到元素。 ```java WebElement element = driver.findElement(By.id("your_element_id")); ``` 2. By.name (根据名称定位):如果元素的name属性是唯一的,可以使用此方。 ```java WebElement element = driver.findElement(By.name("element_name")); ``` 3. By.className (根据class名称定位):定位具有特定CSS类名的元素。 ```java WebElement element = driver.findElement(By.className("your_class_name")); ``` 4. By.tagName (根据标签名定位):如定位所有的`<div>`元素。 ```java List<WebElement> elements = driver.findElements(By.tagName("div")); ``` 5. By.xpath (根据XPath表达式定位):提供强大的路径选择能力,适用于复杂结构的页面。 ```java WebElement element = driver.findElement(By.xpath("//element[@attribute='value']")); ``` 6. By.linkText (根据链接文字定位):找到匹配链接文本的元素。 ```java WebElement element = driver.findElement(By.linkText("link_text")); ``` 7. By.partialLinkText (根据链接文本的部分匹配):对链接文本进行模糊匹配。 每个定位器的使用取决于实际的UI元素结构,可能需要尝试多种方才能找到正确的元素。定位元素后,可以执行点击、输入等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值