App自动化(安卓)-1

App自动化(安卓)

1.appium环境及简单实战

1.1 工作流程

就不画图了,主要简单介绍一下逻辑。四个主干,记住这个流程。

Pc端     appium   uiautomator(sdk) 手机/模拟器。

Pc编写python代码通过appium-python-client(api)与appium相互连接,appium通过uiautomator操作手机/模拟器app。

1.2 环境搭建

根据工作流程知道首先需要Python,选择python3,下载链接https://www.python.org/downloads/release/python-2710/

选择对应的python版本,注意下载包大的,里面包含了pip,小的可能不安装pip,然后配置环境变量,计算机-属性-高级系统配置-环境变量,打开后有两个变量用户变量和系统变量,Administrator的用户变量指的是只在Administrator用户下起作用,系统变量作用于所有用户下,所以通常所说的环境变量配置一般指的是系统变量的配置,配置方法有两种,我的理解是绝对路径的配置和使用变量的配置,绝对路径配置比如配置python,在path添加;D:\python38,或者用过变量来实现,比如java的环境变量配置,先新建JAVA_HOME,值为java的目录,再在path中添加;%JAVA_HOME%\bin\lib\dt.jar;%JAVA_HOME%\bin\lib\tools.jar,不管用那种方法配置,目的是在cmd中可以使用相应的命令。

有了python还需要编辑器,选择pycharm,已经安装。安装appium-python-client,在pycharm的终端执行pip install Appium-Python-Client。

安装appium,安装appium需先安装node.js下载链接:https://nodejs.org/en/download/,选择版本,配置环境变量,在cmd中输入npm来验证,如npm –version。安装appium,链接: https://github.com/appium/appium-desktop/releases/tag/v1.2.7

安装sdk,先安装java,已安装。Sdk在网上搜索下载的包可能不完整,打开sdk manager更新包,因为国内的网,会报错,所以直接分享到百度网盘。

模拟器,常用的模拟器有夜神,雷神,逍遥.这里推荐逍遥,不卡流畅。

1.3 appium跑起来

根据流程我们知道,appium可以直接操作app,可以直接测试一下启动app,验证和熟悉一下环境,打开appium,可以看到host和port,host 0.0.0.0代表本地主机,这里如果我将host修改成局域网内其他的主机,是否也可以?未去测试,port代表端口,如果我们要跑两个自动化时,这里端口需要修改。Advanced配置默认,启动,出现日志信息,Appium REST http interface listener started on 0.0.0.0:4723,监听4723端口,启动start inspector session,在automatic server填写信息。启动模拟器,adb devices查看deviceName为127.0.0.1:21503,

新版写法:

platformName text Android

deviceName text 127.0.0.1:21503

app filepath F:\app\com.youdao.calculator-2.0.0.apk

旧版的写法要加上appPackage和appActivity,我的理解是新版输入app的路径,appium也就知道了其appPackage和appActivity。可以在模拟器中启动app

1.4 工具介绍

回到流程,让appium跑起来说明appium   uiautomator(sdk) 手机/模拟器这一段流程我们已经配置好了,但是里面sdk里面的工具还不是很熟悉,现在来熟练:

Adb命令,目录在F:\app\sdk\platform-tools\adb.exe,常用命令adb devices和adb devices –l,查看设备连接情况

Aapt命令,目录F:\app\sdk\build-tools\25.0.3\aapt.exe,常用命令aapt dump badging F:\app\com.youdao.calculator-2.0.0.apk查看包的详细信息.

还有一个自动化工具uiautomatorviewer.dat,目录F:\app\sdk\tools\bin,是图形操作界面,辅助变成变成使用,用于定位app元素。

1.5 让脚本跑起来

Python代码:

# -*-coding=utf-8 -*-
import time
import unittest
from appium import webdriver
desired_caps = {'platformName': 'Android',
                'deviceName': '127.0.0.1:21503',
                "app": "F:\\app\\com.youdao.calculator-2.0.0.apk"
                }
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)  # 连接Appium

启动

1.6 滑动

启动app后,我们首先需要滑动来进入app的注册或登录页面,上学的时候我们在平面中间画一个x轴和y轴,而手机屏幕是以左上角为原点,左边是x轴,向下是y轴,所以先确定两个点(x,y),(x1,y1),手指按住(x,y)滑动到(x1,y1)松开即实现。

Python中driver.swipe()实现滑动,有五个参数driver.swipe(x,y,x1,y1,timeout),参数timeout可以省略,如driver.swipe(100,60,50,60)即可实现向右滑动,100这种固定的数不是我们想要的,因为现实使用app中我们的手机屏幕有大有小,所以如果使用屏幕的比例来滑动更好。滑动也有上下左右。

posted @ 2020-01-10 17:01  强壮的脸皮  阅读(305)  评论(0编辑  收藏  举报