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 ...
随机推荐
- zabbix监控LAMP全教程
一.安装前准备 A.下载yum源 1.备份/etc/yum.repos.d/CentOS-Base.repo ,在备份之前,要先安装wget 插件 #mv /etc/yum.repos.d/CentO ...
- 【FFMPEG】FFMPEG介绍
FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它包括了目前领先的音/视频编码库libavcodec. FFmpeg是在Linux下开发出来的,但它可以在包括Wi ...
- python进程池 使用Queue实现计数功能
多进程中各个进程间相互隔离,进程间通信需要使用到通道. 多进程中使用Queue实现进程中通信 from multiprocessing import Process,Queue import time ...
- [转帖]四个修改Docker默认存储位置的方法
四个修改Docker默认存储位置的方法 https://blog.51cto.com/forangela/1949947 易改乾坤关注0人评论27435人阅读2017-07-22 09:18:48 ...
- Git Bash输错账号密码如何重新输入
很多时候我们容易在Git Bash操作的时候,不慎输入错误的用户名或密码,此时一直提示: remote: Incorrect username or password ( access token ) ...
- System x 服务器制作ServerGuide U盘安装Windows Server 2008 操作系统 --不格式化盘
1.全格式化 用ServerGuide10.5 刻录成U盘 下载附件中的Rufus 3.6工具,并制作引导U盘 以管理员权限打开Rufus 3.6, 选择镜像文件 2.不格式化,仅安装C盘下载老毛桃U ...
- Ubuntu中使用python3中的venv创建虚拟环境
以前不知道Python3中内置了venv模块,一直用的就是virtualenv模块,venv相比virtualenv好用不少,可以替代virtualenv 一.安装venv包: $ sudo apt ...
- 【AtCoder】ARC061
ARC061 C - たくさんの数式 / Many Formulas 这个其实\(10^5\)也能做.. 就是\(dp[i]\)表示到第i位的方案数,\(sum[i]\)表示延伸到第i位之前的所有方案 ...
- 剑指offer26:将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
1 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 2 思路和方法 在二叉搜索树中,每个结点都有两个分别指向其左.右子树的 ...
- vue之多页面的开发
我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是.因为vue在工程化开发的时候很依赖webpack,而webpack是将所有的资源整合到一块,弄成一个单页面.但是vu ...