其他分享
首页 > 其他分享> > appium 定位

appium 定位

作者:互联网

uiautomatorviewer 定位

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

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

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

从左往右四个按钮分别是

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

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

成功。

Appium Desktop的Inspector定位

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

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

使用demo可以参考: https://www.cnblogs.com/c-keke/p/14981257.html

顶部区域解析

从左往右的按钮依次是

侧面顶级区域解析

实战

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状态

标签:定位,appium,find,search,caps,desired,android,id
来源: https://www.cnblogs.com/c-keke/p/14983320.html