详解appium+python 启动一个app步骤

yipeiwu_com6年前Python基础

询问度娘搭好appium和python环境,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧!

如何启动APP?1.获取包名;2.获取launcherActivity。获取这两个关键东西的方法很多,推荐使用sdk自带的aapt:aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。

一、下载aapt:

1.在安卓-sdk里面双击SDK-manager,下载build-tools:

2.勾选build-tools,选中一个版本

3.下载完成后,在D:\APP\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\25.0.2目录下找到aapt.exe,并将该路径设置环境变量,添加到path下;

4.打开cmd,输入aapt出现如下界面,说明环境OK了

二、获取apk包名

1.将准备测试的apk放到D盘某个目录,如D:\test

2.打开cmd,输入指令aapt dump badging D:\test\xxx.apk

3.以taobao.apk为例,如图:

4.在这里可以看到apk包名:com.taobao.taobao

三、获取launcherActivity

1.接着上一步操作,cmd屏幕拖到中间找到launcherActivity

2.这里可以看到,淘宝的laucherActivity值为com.taobao.tao.welcome.Welcome

四、写脚本

1.platformName:这里是android的apk

2.deviceName:手机设备名称,通过adb devices查看

3.platformVersion:android系统的版本号

4.appPackage:apk包名

5.appActivity:apk的launcherActivity

# -*- coding:utf-8 -*-
'''本段代码非淘宝,而是本人实际操作的app'''
import os, time, unittest
from selenium import webdriver
PATH = lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p))
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = '6.0.1' # 设备系统版本
desired_caps['deviceName'] = 'MI 4LTE' # 设备名称
desired_caps['app'] = PATH(r"E:\tests\GuoYuB2B_2.1.apk")
desired_caps['appPackage'] = 'com.guoyu.b2b'
desired_caps['appActivity'] = 'com.guoyu.b2b.ui.activity.SplashActivity'
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
time.sleep(5)

五、运行appium

1.启动appium,右上角变成三角形

2.确认手机连上电脑

3.在pycharm运行脚本,随后在手机(手机不要设置锁屏),会看到app被自动启动了!!!

4.成功!!

后面继续一起学习!!!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pandas 两列时间相减换算为秒的方法

如下所示: pd.to_datetime(data[data['last_O_XLMC']==data['O_XLMC']]['O_SJFCSJ'], format='%H:%M:%...

python中dict()的高级用法实现

python中dict()的高级用法实现

collections中defaultdict的用法 一、字典的键映射多个值 将下面的列表转换成字典 一个字典就是一个键对应一个单值得映射,而上面的列表中有相同的键,如果你想要一个键映...

Python常见数据结构详解

本文详细罗列归纳了Python常见数据结构,并附以实例加以说明,相信对读者有一定的参考借鉴价值。 总体而言Python中常见的数据结构可以统称为容器(container)。而序列(如列表...

python_opencv用线段画封闭矩形的实例

如下所示: def draw_circle(event,x,y,flags,param): global ix,iy,drawing,mode,start_x,start_y...

python如何将图片转换为字符图片

python如何将图片转换为字符图片

简介 一个简单的python程序,将图片转换为字符图片。 (为了简便,很多参数写死了,自己看着改吧。 (←∀←)) 正文 原图(侵删) 结果图 源码 [更多细节]——&...