Python3+Appium学习笔记03-启动app
这个是appium相关的官方api地址:http://appium.io/docs/en/about-appium/api/
如同selenium进行自动化测试时,需要先创建一个浏览器实例一样。在使用appium进行自动化测试时,需要先创建一个被测app的实例。下图是官网给的示例,emmm貌似开头重复了。
所以创建一个app实例是通过Remote()方法来的,其中第一个参数是appium服务端的地址,第二个参数是具体的请求内容
看文档好像是一个post请求,这个请求内容是一个json格式的请求实体
官网的示例只给了一些必须的参数。很多其他的参数我也没在官网看到。如果有需要可以百度一下。感觉知道几个必须的暂时够用了
platformName 被测试设备的系统
platformVersion 被测试设备系统版本号
deviceName 被测试设备的设备名
上面三个字段应该是必传字段
autoLaunch 是否自动安装并启动应用
app apk安装路径
appPackage apk包名
appActivity apk入口
对于安卓机器来说,app这个参数就是重新装apk并启动。appPackage和appActivity就是从手机已有的应用启动。官方建议将这三个参数都传。app参数的优先级貌似高于另外两个。
接下来看下怎么获取相关参数的数据
deviceName可以通过cmd命令行输入adb devices命令来获得

appPackage和appActivity获取的方式很多。网上有很多方式介绍。推荐较多的是通过aapt去从apk包里找出相应信息。但是返回的信息较多。
我使用的方式是手机连接电脑,然后打开你想要测试的应用。cmd中输入命令adb shell "dumpsys activity | grep mFocusedActivity" 比如打开淘宝

第一个com.taobao.taobao是包名。第二个com.taobao.tao.TBMainActivity就是入口
接下来看下代码效果
1.首先打开appium

2.点击启动服务器

3.如果是通过代码的话,到这一步就可以了。如果想通过appium desktop去启用的话可以点启动会话按钮,把相应参数添加进去就可以了

4.代码需要请求的服务器地址

5.具体代码
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'platformVersion': '7.1.2',
'deviceName': '1b6ca8f',
'appPackage': 'com.taobao.taobao',
'appActivity': 'com.taobao.tao.TBMainActivity'
}
webdriver.Remote('127.0.0.1:4723/wd/hub', desired_caps)
我这边是启动成功了,第一次使用时,应该会在手机上请求安装一个Appium settings的app。另外就是启动app时会有一些授权提示,比如定位信息等。这些只能手动点下。貌似还没有办法代码通过。
也可以试下app参数去安装
Python3+Appium学习笔记03-启动app的更多相关文章
- Python3+Appium学习笔记07-元素定位工具UI Automator Viewer
这篇主要说下如何使用UI Automator Viewer这个工具来定位元素.这个工具是sdk自带的.在sdk安装目录Tools目录下找到uiautomatorviewer.bat并启动它 如果启 ...
- Python3+Appium学习笔记01-环境配置(上)
公司可能也有关于对app自动化的一些想法,让我去研究下.当然以移动互联网的热度.对于app自动化测试技术听闻已久.也一直想要去学习.正好.这次可以在工作时间中学习.emmm.希望自己能坚持把这个系列更 ...
- Python3+Appium学习笔记05-报错及解决方法
记录一下使用期间各种报错和解决方法,毕竟搜了半天才找到解决方法.另外提示一下.优先看官方文档. 报错前面都是一样,就是说在处理的时候,服务器发生了一个未知的错误.然后才是具体报错信息 1)seleni ...
- Python3+Appium学习笔记09-元素定位android_uiautomator
appium是使用了uiautomator的框架的,所以uiautomator所带的定位方式.appium也是支持的 需要使用appium中find_element_by_android_uiauto ...
- Python3+Appium学习笔记08-元素定位
appium整合了不同的自动化测试驱动程序.而新版本appium desktop 中安卓是使用UI Automator2来作为驱动程序的.以前版本是使用UI Automator1或 Selendroi ...
- Python3+Appium学习笔记06-noReset参数
百度很多文章说noReset这个参数是用来防止重复安装app的.可能这是以前的用法.目前最新版本appium默认是清除session信息,并且不会删除应用的. noReset这个参数,根据appi ...
- Python3+Appium学习笔记04-自动下载apk
在项目中,app更新后,都会发布新的apk版本,然后去蒲公英对应的网站上扫码下载对应的apk进行测试.所以就在想,通过app参数进行安装时,是否可以先通过代码去拉取一遍最新的apk安装包. 因为学 ...
- Python3+Appium学习笔记02-环境配置(下)
配置所需软件及我当前使用的版本: 1)java jdk 1.8.0 2)android sdk 24.4.1 3)Python3 3.7.3 4)Appium-Python-Client 5)n ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
随机推荐
- 鸟哥私房菜基础篇:程序管理与 SELinux 初探习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0440processcontrol.php 1-简单说明什么是程序 (program) 而什么是程序 ( ...
- hi cnblogs
hi cnblogs 前言: 作为一个工作好些年的it男,还没正经写过技术博客,真是太羞愧了... 正文: 先扯点儿虚的,无论从事什么行业,最重要的都是自我认知和自我定位.至今,我也有工作了小五年了, ...
- K/3 Cloud 单据关联查询
销售出库单 下推 销售退货单,如何获知他们的关联关系?T_SAL_OUTSTOCKENTRY 是销售出库单分录T_SAL_RETURNSTOCKENTRY 是销售退货单分录T_SAL_RETURNST ...
- FTP服务器搭建基础工具:Serv-U 14.0.2使用教程
安装教程 1.在本站下载好压缩包,将文件解压,双击运行“ServUSetup官方原版程序.exe”程序,弹出语言选择框,选择“中文(简体)”,点击“确定”开始安装 2.点击“下一步”进行安装 ...
- Linux系统下GDB调试
GDB 一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 in ...
- nginx 开启gzip压缩
Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度,! Web网站上的图片,视频等其它多媒体文件以及大文件,因为压缩效果不好,所以对于 ...
- HBase的简单介绍,寻址过程,读写过程
HBase是列族数据库,主要由,表,行键,列族,列标识,值,时间戳 组成, 表 其中HBase 主要底层存储依赖与hdfs,可以在HDFS中看到每个表名都作为一个独立的目录结构 ...
- [CF1010D]Mars Over_位运算性质
Mars rover 题目链接:http://codeforces.com/problemset/problem/1010/D 数据范围:略. 题解: 因为每次只改一个,改完之后改回去,这个性质很重要 ...
- Docker 安装 Tomcat
查找Docker Hub上的tomcat镜像 docker search tomcat 取官方的镜像 docker pull tomcat 使用tomcat镜像 创建目录tomcat,用于存放后面的相 ...
- JDBC 资源绑定器 ,处理查询结果集
使用资源绑定器绑定属性配置 实际开发中不建议把连接数据库的信息写死到Java程序中 //使用资源绑定器绑定属性配置 ResourceBundle bundle = ResourceBundle.get ...