这个是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的更多相关文章

  1. Python3+Appium学习笔记07-元素定位工具UI Automator Viewer

    这篇主要说下如何使用UI Automator Viewer这个工具来定位元素.这个工具是sdk自带的.在sdk安装目录Tools目录下找到uiautomatorviewer.bat并启动它 ​ 如果启 ...

  2. Python3+Appium学习笔记01-环境配置(上)

    公司可能也有关于对app自动化的一些想法,让我去研究下.当然以移动互联网的热度.对于app自动化测试技术听闻已久.也一直想要去学习.正好.这次可以在工作时间中学习.emmm.希望自己能坚持把这个系列更 ...

  3. Python3+Appium学习笔记05-报错及解决方法

    记录一下使用期间各种报错和解决方法,毕竟搜了半天才找到解决方法.另外提示一下.优先看官方文档. 报错前面都是一样,就是说在处理的时候,服务器发生了一个未知的错误.然后才是具体报错信息 1)seleni ...

  4. Python3+Appium学习笔记09-元素定位android_uiautomator

    appium是使用了uiautomator的框架的,所以uiautomator所带的定位方式.appium也是支持的 需要使用appium中find_element_by_android_uiauto ...

  5. Python3+Appium学习笔记08-元素定位

    appium整合了不同的自动化测试驱动程序.而新版本appium desktop 中安卓是使用UI Automator2来作为驱动程序的.以前版本是使用UI Automator1或 Selendroi ...

  6. Python3+Appium学习笔记06-noReset参数

    百度很多文章说noReset这个参数是用来防止重复安装app的.可能这是以前的用法.目前最新版本appium默认是清除session信息,并且不会删除应用的. ​ noReset这个参数,根据appi ...

  7. Python3+Appium学习笔记04-自动下载apk

    在项目中,app更新后,都会发布新的apk版本,然后去蒲公英对应的网站上扫码下载对应的apk进行测试.所以就在想,通过app参数进行安装时,是否可以先通过代码去拉取一遍最新的apk安装包. ​ 因为学 ...

  8. 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 ...

  9. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

随机推荐

  1. 热更新之lua框架设计

    目前中大型游戏项目包含部分VR与AR项目,都需要热更新与在线修改Bug等功能实现,虽然Xlua等插件已经给出了关于C#与Lua语言之间的双向无缝调用实现,但是就热更新的架构却没有提出,这需要广大游戏公 ...

  2. 【ARM-Linux开发】cmem模块/DVSDK2.0

    1. CMEM--高速缓存一致性问题的解决多核设计中,共享的二级高速缓存之间数据可能不一致,不同CPU内核的私有高速缓存也可能存在数据不一致,称为高速缓存的一致性问题.解决一致性问题的方法从整体上分可 ...

  3. 洛谷 题解 P2010 【回文日期】

    因为有8个字符,所以可得出每一年只有一个回文日期. 因此只要判断每一年就行了. 做法: 我们先把年倒过来,例如2018年就倒为8102,就得出8102就是回文日期的后四个字符,我们只要判断一下有没有这 ...

  4. 【AtCoder】ARC066

    ARC066 C - Lining Up 判断是否合法即可,合法是\(2^{\lfloor \frac{N}{2}\rfloor}\) 不合法就是0 #include <bits/stdc++. ...

  5. Python基础 第三章 使用字符串(1)精简版

    所有标准序列操作(索引,切片,乘法,成员资格检查,长度,最小值,最大值)都适于字符串. 但,字符串是不可变得,故所有得元素赋值和切片赋值都是非法的. 1. %s 转换说明符 设置字符串格式 %左边指定 ...

  6. django的admin密码忘记了怎么办?一分钟解决!!

    django-admin确实是在实际开发中很方便,然后项目开发一段时间放到一边,等你再去玩你当初的项目的时候,可能抱歉你的admin密码忘记了,其实解决办法有很多种,我直说最快的一种,直接重新建立一个 ...

  7. User space(用户空间) 与 Kernel space(内核空间)

    出处: User space 与 Kernel space (整理)用户空间_内核空间以及内存映射 学习 Linux 时,经常可以看到两个词:User space(用户空间)和 Kernel spac ...

  8. Date及DateFormat用法

    Date 与DateFormat之间的转化String <————>Date Date与Calendar 之间的转化Long<————>Date 日历小程序 Scanner i ...

  9. ide的debug

    webstom 新建立一个配置项 找到webpack.config.js,最后一行加上 devtool: "source-map" 然后点击debug

  10. Linux weblogic启停

    一般weblogic启停在windows下很方便使用图标方式.但是在linux下需要杀掉weblogic进程才能真正关掉weblogic. 1.查询weblogic进程 ps -ef | grep & ...