阅读 97

appium 定位

uiautomatorviewer 定位

appium 在虚拟机中并不好定位,前提是adb可以连接, 这时候,我们就可以借助一个ui定位,搜索

uiautomatorviewer.bat (这个软件是安装sdk的时候安装下来的)

使用完成之后的,就可以点击左上角的更新

从左往右四个按钮分别是

1、打开已保存的布局
2、获取详细布局
3、获取精简布局
4、保存当前布局

每当虚拟机的页面发生变化的时候,就可以点击第二或者第三个(必须更新,不会自动同步)

成功。

Appium Desktop的Inspector定位

前提也是adb连上,appium可以正常使用,才会出现

Inspector 可以模拟用户动作, 或者可以 录制一系列操作,然后转换成代码, 减少我们一大部分代码量

使用demo可以参考:

顶部区域解析

从左往右的按钮依次是

  • Select Element:选择元素
  • Swipe By Coordinates:选择滑动的起始和结束位置
  • Tap By Coordinates:使得手机界面变换可操作状态,可以点击界面的元素
  • Back:模拟Android的返回键
  • Refresh Source & Screenshot:刷新页面,用来重新获取手机当前界面
  • Start Recording:录制操作
  • Search for element:校验定位表达式
  • Copy XML Source to Clipboard:复制XML树
  • Quit Session & Close Inspector:退出当前Session

侧面顶级区域解析

  • tap:点击该元素
  • send keys:输入 针对输入框的操作
  • clear:清空

实战

1、打开手机的设置
2、点击输入框,搜索
3、输入"WLAN"
4、点击只是出现WLAN的页面
5、输出页面出现的wifi名称和连接状态

from appium import webdriver
import time
desired_caps = {}
desired_caps[‘platformName‘] = ‘Android‘
desired_caps[‘platformVersion‘] = ‘5.1.1‘
desired_caps[‘deviceName‘] = ‘127.0.0.1:21503‘
# com.android.settings/com.android.settings.Settings
desired_caps[‘appPackage‘] = ‘com.android.settings‘
desired_caps[‘appActivity‘] = ‘com.android.settings.Settings‘

driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)
driver.implicitly_wait(5)  # 稳定元素

click_input = driver.find_element_by_id(‘com.android.settings:id/search‘).click()  # 启动放大镜


# 搜索 WLAN
search_input = driver.find_element_by_id(‘android:id/search_src_text‘)
search_input.send_keys(‘WLAN‘)  # 输入参数

# 点击 WLAN
search_button = driver.find_element_by_xpath("//android.widget.TextView[@text=‘WLAN‘]")  # class 下的一个文本名字
# print(search_button.text)
search_button.click()

# 点击wlan信息
wl_msg = driver.find_elements_by_id(‘android:id/list‘)
for wl in wl_msg:
    # 输出wifi名称
    name = wl.find_element_by_id(‘android:id/title‘)
    print(name.text)  # wifi名字
    wifi_style = wl.find_element_by_id(‘android:id/summary‘)
    print(wifi_style.text)  # wifi状态

原文:https://www.cnblogs.com/c-keke/p/14983320.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐