文档章节

uiautomatorviewer.bat使用方法

o
 osc_4nmshwhm
发布于 2018/08/06 23:54
字数 342
阅读 11
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

在android目录下找到uiautomatorviewer.bat,然后双击,页面的第二个按钮连接设备

D:\Program Files\android-sdk-windows\tools\uiautomatorviewer.bat

from appium import webdriver

caps = {}
caps["appPackage"] = "com.tencent.mobileqq"
# caps["appPackage"] = "com.android.settings"
caps["appActivity"] = "com.tencent.mobileqq.activity.SplashActivity"
# caps["appActivity"] = ".Settings"
caps["platformName"] = "Android"
caps["platformVersion"] = '4.4.2'
caps["deviceName"] = '127.0.0.1:62001'
caps["unicodeKeyboard"] = True
caps["resetKeyboard"] = True
caps["noReset"] = True

driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

#获取手机大小 {'width': 720, 'height': 1280}
size = driver.get_window_size()
print(size)

#如果安装了返回True
print(driver.is_app_installed("com.tencent.mobileqq"))
#关闭app
driver.close_app()
import time
time.sleep(3)
#启动app,启动是初始化的app
driver.launch_app()


#1、除默认的初始化app之外 还可以在启动其他app
driver.close_app()
driver.start_activity('com.android.settings', '.Settings')
#2、他可以跳过某些场景,达到某个页面
# element = driver.find_element_by_android_uiautomator('new UiSelector().text("新用户")')
# element.click()
print(driver.current_activity)
ele = driver.start_activity('com.tencent.mobileqq', '.activity.RegisterPhoneNumActivity')
print(driver.current_activity)

#如果send_keys 报错的话使用set_value
driver.set_value(ele, '123456')

 

# 返回当前session中的app类型

driver.current_context
 
# 返回当前app的类型
# WEBVIEW 或 WEBVIEW
# 底层实际调用current_context
driver.context
 
# 获取app所有的类型
# 有WEBVIEW的则以list的形式展示两个
driver.contexts
 
# app类型切换 参数接收app类型
# appium对selenium的switch_to的扩展
# 增加了MobileSwitchTo,继承了selenium的switch_to
driver.switch_to.context('context')
element = driver.find_element_by_id('com.android.browser:id/url')
element.send_keys('http://ui.imdsx.cn/uitester/')
time.sleep(5)
# key code Android按键码
driver.press_keycode(66)
time.sleep(2)

# 打印当前的app类型
print(driver.current_context)
# 从原生切换到H5
driver.switch_to.context(driver.contexts[1])
# 定位id为i1的元素
driver.find_element_by_css_selector('#i1').send_keys('11111')
# 打印切换玩的app类型
print(driver.current_context)

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

如何在Pandas的DataFrame中的行上进行迭代? - How to iterate over rows in a DataFrame in Pandas?

问题: I have a DataFrame from pandas: 我有一个来自熊猫的DataFrame : import pandas as pdinp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]df = pd.DataFrame(......

富含淀粉
35分钟前
20
0
与电商节伴生,平台销量榜单背后还有被低估的营销价值

文 | 曾响铃 来源 | 科技向令说(xiangling0815) 时至今日,电商节已经成为各巨头零售平台例行的活动,花样在不断创新,玩法也在不断涌现。 在这个过程中,伴随电商节的各种品牌、产品销量榜...

曾响铃
36分钟前
22
0
volatile关键字详解

前言 提到JAVA的并发编程,就不得不提volatile关键字,不管是在面试还是实际开发中,volatile关键字的使用都是一个应该掌握的技能。它之所以重要,是因为它和JAVA并发编程中会遇到三种重要问...

ls_cherish
今天
10
0
比继承更偏爱组成? - Prefer composition over inheritance?

问题: Why prefer composition over inheritance? 为什么更喜欢使用组合而不是继承? What trade-offs are there for each approach? 每种方法都有哪些取舍? When should you choose inher...

javail
今天
17
0
2020软件测试工程师史上最全面试题(内含答案)-看完BATJ面试官对你竖起大拇指!

以下是软件测试相关的面试题及答案,欢迎大家参考! 我不是至尊宝,也不是孙悟空,我只是那城墙下的一猿。  1、你的测试职业发展是什么?  测试经验越多,测试能力越高。所以我的职业发展是需...

程序员一凡
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部