前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Appium自动化(六)Appium启动app

Appium自动化(六)Appium启动app

作者头像
雷子
发布2021-03-15 15:52:58
2.2K0
发布2021-03-15 15:52:58
举报
文章被收录于专栏:雷子说测试开发

Appium系列分享

Appium自动化(一)常用的API接口

Appium自动化(二)常用的API接口

Appium自动化(三)常用的API接口

Appium自动化(四)常用的API接口

Appium自动化(五)常用的API接口


前言

在之前文章有讲过环境搭建,appium 实现简易IOS app自动化测试demoappium原理分析,那么我们这次去启动一个app,通过appium与设备app建立链接。

实际操作

我们应该去下载应用包,我们以QQ为例,我们可以通过官网下载,或者其他应用商店。准备好了待测包。接下来,我们就是获取包名和启动activity了。如何获取呢,我们可以使用aapt工具获取。aapt的工具位于安卓sdk中。目录是这样的。

它位于build-tools中。如果没有,可以打开SDK-manager下载build-tools即可。

为了方便使用呢,我把加入到环境变量。

打开文件vi ~/.bash_profile然后配置如下:

然后sudo source ~/.bash_profile 即可生效。

生效后,我们就可以获取包名和activity了。执行命令如下。

代码语言:javascript
复制
aapt dump badging com.tencent.mobileqq_8.4.18_1558.apk

然后获取,如下。package:name就是包名。

那么启动activity怎么获取呢,我们继续查找。在下面可以找到

这样包名为:

代码语言:javascript
复制
com.tencent.mobileqq

启动activity 为

代码语言:javascript
复制
com.tencent.mobileqq.activity.SplashActivity

当然了我们获取了这些就可以了,接下来,我们去把待测应用安装到待测的手机即可。

那么我们启动app需要的参数即如下

代码语言:javascript
复制
'platformName': 'Android',

'deviceName': '59e14ddf',#adb  deivces                'platformVersion': '10', #从设置中可以获取
'appPackage': 'com.tencent.mobileqq',#包名
'appActivity': 'com.tencent.mobileqq.activity.SplashActivity' # apk的launcherActivity

我们我们就可以写我们的脚本了

代码语言:javascript
复制
from appium import webdriver
desired_caps = {                'platformName': 'Android',                'deviceName': '59e14ddf',#adb  deivces                'platformVersion': '10', #从设置中可以获取                'appPackage': 'com.tencent.mobileqq',#包名                'appActivity': 'com.tencent.mobileqq.activity.SplashActivity' # apk的launcherActivity                }driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

我们去打开appium

然后点击Start Server v.18.0即可。

正常启动如上。

我们点击pycharm中run即可以运行。然后就可以启动app了。在启动的app的过程中会安装 Appium Settings 和io.appium.uiautomator2.server两个apk,这是在appium启动中安装。

在启动过程中,我们可以看到appium的日志展示如下。

这样我们一个简单的appium启动apk的demo就写好 了。 但是我们发现每次启动就会安装Appium Settings 和io.appium.uiautomator2.server,那么我们应该怎么办呢?

其实很简单。在代码中增加

代码语言:javascript
复制
desired_caps = {                'platformName': 'Android',                'deviceName': '59e14ddf',#adb  deivces                'platformVersion': '10', #从设置中可以获取                'appPackage': 'com.tencent.mobileqq',#包名                'appActivity': 'com.tencent.mobileqq.activity.SplashActivity', # apk的launcherActivity                'skipServerInstallation':True#解决重复安装的问题}

这样,我们再次测试就不用安装了。只是在首次安装中才会。是不是很简单呢。

最后

appium的分享会持续分享下去,欢迎大家的关注。一个简单的demo去带领大家去入一个门,后续会继续分享更多的内容。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档