在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('')
# 打印切换玩的app类型
print(driver.current_context)

uiautomatorviewer.bat使用方法的更多相关文章

  1. Unable to find vcvarsall.bat解决方法

    今天在安装scikit-learn时出现了 error: Unable to find vcvarsall.bat 在安装一些Python模块时,大部分是cpython写的模块时会发生如下错误 err ...

  2. bat使用方法汇总

    前言 由于日常科研工作中使用C/C++比较多,在进行大规模运行时涉及到的批量处理操作较多,遂将目前遇到的情况记录如下,以便查看: 1.for循环 最基本的for循环操作为在一些数中遍历,如下例子.se ...

  3. C# 执行批处理文件(*.bat)的方法代码

    代码如下: static void Main(string[] args){    Process proc = null;    try    {                        st ...

  4. C#: 执行批处理文件(*.bat)的方法

    static void Main(string[] args) { Process proc = null; try { proc = new Process(); proc.StartInfo.Fi ...

  5. pip install scrapy报错:error: Unable to find vcvarsall.bat解决方法

    今天在使用pip install scrapy 命令安装Scrapy爬虫框架时,出现了很让人头疼的错误,错误截图如下: 在网上查找解决方法时,大致知道了问题的原因.是因为缺少C语言的编译环境,其中一种 ...

  6. Android 10不能使用uiautomatorviewer定位元素的终极解决方法

    Android app 元素定位除了使用Appium Inspector 外,还可以使用Android SDK 里tools中的uiautomatorviewer 工具.但今天打算使用 uiautom ...

  7. 6个可以隐藏运行bat,浏览器等程序的方法

    在电脑启动时或者设置时间时运行指定的程序很容易实现.但是有时候还需要运行时不显示主界面,隐藏到后台运行.比如:开机时一段Bat批处理执行删除默认共享; 开机自动运行浏览器隐藏到后代打开指定网页等,希望 ...

  8. uiautomatorviewer提示Unable to connect to adb. Check if adb is installed correctly解决方法

    转自:https://www.jianshu.com/p/c8581a70d1bc 解决方案: 1.打开  "E:\android-sdk_r24.4.1-windows\android-s ...

  9. app控件获取之uiautomatorviewer

    初探 在Android的SDk提供了以下的工具来支持我们进行UI自动化测试: uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具. uiautomator:一个包 ...

随机推荐

  1. H5 Canvas | 画布中变量作用域与setInterval方法同步执行探究

    Demo - 随机绘制圆环 实现思路: 将一个圆环的绘制分成100份,setInterval()方法定义每隔时间n绘制一段新的,每份的开始路径都是上一次的结束路径,实现步进绘制. 通过Math.ran ...

  2. intellij中常用的快捷键

    intellij快捷键

  3. NGUI的一个bug记录

    在当前帧内触发按钮事件,然后把click事件的list删去,再添加,这时候会再次触发. 不确定,先记一下

  4. [svc][bg]phabricator-zh_CN汉化包

    汉化phabricator审计系统 主要是用来审计一些开发bug的,客服会提交一些bug,测试也会提交一些bug给开发. https://github.com/wanthings/phabricato ...

  5. C# 执行多条SQL更新语句,实现数据库事务

    class Program { class Result<T> { public T data; public string Message; public bool Success; p ...

  6. C# 版 防止 DNS 污染,获取域名真实 IP 地址

    using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net. ...

  7. windows下控制台程序更改图标和加载资源文件

    1.在空项目的Resouce FIles中右击创建一个新的.rc文件. 2.选中这个.rc文件右击在界面中选择导入icon 3.选中icon,将icon的ID更改为IDC_MAINFRAME. 4.重 ...

  8. 自定义Django的admin界面

    第6章介绍了Django的admin界面,现在是回过头来仔细看看这个的时候了 我们前面讲的几次admin是Django的"杀手级特性",并且大多数Django开发人员很快爱上了它节 ...

  9. 如何用手机访问电脑上的html文件

    如何用手机访问电脑上的html文件 梦唪 | 浏览 3876 次 推荐于2016-03-26 08:08:58   最佳答案   1,你得搭建服务器,用Apache或者IIS.2,把HTML文件放到服 ...

  10. SIGBUS 和 SIGSEGV

    一.导致SIGSEGV      1.试图对仅仅读映射区域进行写操作 . 2.訪问的内存已经被释放,也就是已经不存在或者越界. 3.官方说法是: SIGSEGV --- Segment Fault. ...