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参数去安装

posted @ 2019-05-13 14:20  梦忆安凉  阅读(1040)  评论(0编辑  收藏  举报