appium===常用方法介绍,元素定位
2023-09-14 09:12:07 时间
https://testerhome.com/topics/3711
元素定位方法:
find_element_by_android_uiautomator ,使用uiautomator定位,后面参数更改即可:
-
UiSelector().text 根据text属性进行定位
self.driver.find_element_by_android_uiautomator('new UiSelector().text("33001122")')
-
UISelector.textContains 根据text属性模糊定位
e6 = self.driver.find_element_by_android_uiautomator('new UiSelector().textContains("1122")')
-
UISelector.textStartsWith 根据text的前面几位是否与text一致来定位
e7 = self.driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("33")')
-
UISelector.textMatches 通过正则表达式和text来进行定位,正则不怎么会,先不扩展了
-
UISelector.className 通过class来进行定位,合理利用层级定位,例如找到所有的Edittext然后根据text定位
e8 = self.driver.find_element_by_android_uiautomator('new UiSelector()' '.className("android.widget.EditText")' '.textContains("33")')
-
UISelector.classNameMatches 通过正则表达式和class来进行定位
还有UiSelector.descriptionMatches 、 UiSelector.descriptionStartWith 、UiSelector.description
from appium import webdriver from time import sleep s_time = 3 desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '7' desired_caps['deviceName'] = 'ssssssssssssssssss' desired_caps['appPackage'] = 'com.android.calculator2' desired_caps['appActivity'] = '.Calculator' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # by_id driver.find_element_by_id("digit_1").click() # by_xpath driver.find_element_by_xpath("//android.widget.Button[@text='5']").click() driver.find_element_by_id("digit_9").click() # by_accessibility_id driver.find_element_by_accessibility_id("删除").click() # by_class_name driver.find_elements_by_class_name("android.widget.Button")[10].click() print("pass") driver.find_element_by_id("digit_5").click() # by_android_uiautomator driver.find_element_by_android_uiautomator('new UiSelector().text("9")').click() driver.find_element_by_id("digit_6").click() driver.find_element_by_id("eq").click() sleep(s_time) driver.quit()
相关文章
- java实现遍历树形菜单方法——OpenSessionView实现
- ORA-14452的出现原因解析及解决方法
- Linux - 快速进入目录的方法
- Array对象的方法实现(2)----Array.prototype.every和Array.prototype.fill(实现常规参数的功能)
- 3种Javascript图片预加载的方法详解
- 计及碳捕集电厂低碳特性的含风电电力系统源–荷多时间尺度调度方法(Matlab代码实现)
- python方法的分类(实例方法、类方法、静态方法)
- CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法
- window.location.href的使用方法
- 无法定位序数XX于动态链接库XX.dll的解决的方法
- 为joomla加入下拉菜单的方法
- 机器学习——评估方法
- 新辰:十种外链终极方法 让SEOer外链之路不再孤独!
- Win11右键菜单反应慢有延迟解决方法分享
- 死锁产生的条件+排除死锁的方法
- WEB自动化(2)常用的元素定位方法之xpath详解