自动化环境搭建

1、安装Appium

   

 2、安装client编程库

  自动化程序需要调用客户端库和 Appium Server 进行通信。

  用pip安装:pip install appium-python-client

  

3、安装Appium Server

   Appium Server 是用 nodejs 运行的,基于js开发出来的。

   Appium组织为了方便大家安装使用,制作了一个可执行程序 Appium Desktop,(Appium Desktop官方下载:https://github.com/appium/appium-desktop/releases/tag/v1.18.0-2)

   把 nodejs 运行环境、Appium Server 和一些工具 打包在里面了,只需要简单的下载安装就可以了。

   

   链接:https://pan.baidu.com/s/1okAYwfnUaFcCm0A18Mq-Mw 

   提取码:bgod 

 4、安装JDK

  上面给出的百度网盘连接 下载安装: jdk-8u211-windows-x64.exe

  安装好之后,还需要添加一个环境变量 JAVA_HOME ,指定 值 为 jdk安装目录

  JAVA_HOME d: oolsjavajdk1.8.0_211

5、安装 Android SDK

   对于安卓APP的自动化,Appium Server 是需要 Android SDK的。

   因为要用到里面的一些工具,比如 要执行命令设置手机、传送文件、安装应用、查看手机界面等。

   上面给出的百度网盘连接 下载最新的 Android SDK文件包: androidsdk.zip ,并且解压,即可

  

      解压完成后,需要 配置一下 添加一个 环境变量 ANDROID_HOME ,设置值为sdk包解压目录,比如 d: oolsandroidsdk

  

  另外,还推荐大家配置环境变量 PATH ,加入 adb所在目录, d: oolsandroidsdkplatform-tools

  注意:是 添加 该目录到环境变量PATH中, !!!不是替换!!! ,否则会导致系统命令都找不到的严重后果

  

6、连接手机

  述的软件环境都准备好以后,要自动化手机APP,需要:

  • 在你运行程序的电脑上 用 USB线 连接上 你的安卓手机

  • 进入 手机设置 -> 关于手机 ,不断点击 版本号 菜单(7次以上),

  • 退出到上级菜单,在开发者模式中,启动USB调试

   如果手机连接USB线后,手机界面弹出 类似 如下提示。(选择 允许USB调试)

   

  

  注意:

  有的手机系统,可能需要一些额外的选项需要设置好。

  比如,有的手机,开发者选项里 需要打开 允许通过USB安装应用 等。

  总之,给USB开发调试 尽可能方便的控制手机。

   

  连接好以后,打开命令行窗口, 执行 adb devices -l 命令来列出连接在电脑上的安卓设备。

  

  表示电脑上可以查看到 连接的设备,就可以运行自动化程序了。

7、一个例子

  运行代码前,要先 运行 Appium Desktop

  

  

   再运行代码:

  

查找 应用 Package 和 Activity

  没有apk (已经发布上线,然后可以打开应用,输入命令去查看你要获取的package跟Activity的信息)

   如果你应用已经安装在手机上了,可以直接打开手机上该应用,进入到你要操作的界面

   然后执行:adb shell dumpsys activity recents | find "intent={"         (就是查看最近时间的一些应用)

  会显示如下,最近的 几个 activity 信息,

   

  其中第一行就是当前的应用,我们特别关注最后

  应用的package名称就是 tv.danmaku.bili

  应用的启动Activity就是 .ui.splash.SplashActivity

  有apk(还没有发布上线,只下载安装包,作为一个内测)

   如果你已经获取到了 apk,在命令行窗口执行:黄色部分,aapt.exe的一个路径橙色部分,是bili安装包的一个路径

   获取package名称

   d: oolsandroidsdkuild-tools29.0.3aapt.exe dump badging d: oolsapkili.apk | find "package: name="

   输出信息中,就有应用的package名称

   package: name='tv.danmaku.bili' versionCode='5531000' versionName='5.53.1' platformBuildVersionName='5.53.1' compileSdkVersion='28' compileSdkVersionCodename='9'

   获取Activity名称:

   d: oolsandroidsdkuild-tools29.0.3aapt.exe dump badging d: oolsapkili.apk | find "launchable-activity"

   输出信息中,就有应用的启动Activity

  launchable-activity: name='tv.danmaku.bili.ui.splash.SplashActivity' label='' icon=''

  

  或者执行:

  adb shell dumpsys window windows | findstr mFocusedApp (待校验)

 

 

原文地址:https://www.cnblogs.com/xiaomengceshi/p/13675731.html