zoukankan      html  css  js  c++  java
  • Appium+python自动化环境搭建

    一、步骤及环境

    环境:Windows 7版本 64位系统(python)

        1.jdk安装配置:jdk1.6.0 (64位)

        2.android-sdk下载安装:android-sdk_r24.3.4-windows

     3.安装Node.js:node-v4.4.7-x64

        4.安装appium(Appium Server或appium-desktop):1.4.13.1

        5.安装Appium-Python-Client

     6.appium-doctor环境检查

     7.安装模拟器

     8.测试环境验证

     9. Appium的相关命令

    二、jdk安装配置

    1.下载jdk包,根据自己的系统选择对应版本。官网:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

    2.一路傻瓜式安装,注意安装路径不要有空格,不要有中文。记录jdk的安装位置,jdk和jre不要放在一个文件夹下

    3.设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”

    • 新建 JAVA_HOME 变量:变量值是自己安装JDK 的路径,D:Javajdk1.6.0”
    • 配置ClASSPATH:变量值是:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
    • 配置PATH:找到PATH变量,追加如下目录:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;;PATH-----;%JAVA_HOME%in;%JAVA_HOME%jrein;

    4.打开cmd验证是否安装成功,输入java -version,能显示版本号和下面的帮助信息说明安装成功。输入javac,未报错。

    三、android-sdk下载安装

    Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序。简单来讲,Android SDK 可以看做用于开发和运行 Android 应用的一个软件。

    1.下载android-sdk

    • Android Studio:官网上没有找到单独 Android SDK 的下载链接,官方推荐下载包含 Android SDK 的 Android Studio。Android Studio & Android SDK 下载地址:https://developer.android.com/studio/index.html?hl=zh-cn。页面底部,你将找到下载链接,根据自己的平台选择对应的链接下载。一方面是包含 Android SDK 的 Android Studio 的安装包很大。另一方面它们二者也不是强关联的。因为 Appium也会用到 Android SDK,而 Android Studio 也可以调用真机来运行 Android程序。
    • Android SDK下载(我们需要的):http://tools.android-studio.org/index.php/sdk,解压

    2. Android环境变量

    • 设置Android环境变量, 在系统变量新建:ANDROID_HOME,对应变量值为:D:androidsdkandroid-sdk-windows(sdk安装路径)。path添加两个变量,添加;%ANDROID_HOME%platform-tools;%ANDROID_HOME% ools;或者D:androidsdkandroid-sdk-windows ools和D:androidsdkandroid-sdk-windowsplatform-tools
    • adb是在D:androidsdkandroid-sdk-windowsplatform-tools这个目录下的,所以上面添加了环境变量后,可以直接在cmd里面运行了。在cmd界面输入“adb”查看对应版本号来判断安装是否成功。

    3.Andriod SDK安装

    • 安装Android 版本,双击打开SDK manager.exe, 启动SDK管理器。

      选择安装如下内容:

    • Android SDK Tools(必须,只需下载一个版本,一般选最新版本):基础工具包,版本号带rc字样的是预览版。
    • Android SDK Platform-tools(必须,只需下载一个版本,一般选最新版本):从android2.3开始划出此目录,存放公用开发工具,比如adb、sqlite3等,被划分到了这里。
    • Android SDK Build-tools(必须,可以安装多个版本):Android项目构建工具。
    • Android xxx(API xx) 目录(可选的各平台开发工具)如,Android 8.1.0(API 27)
    • SDK Platform(必须):对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个。
    • Android Support Repository(可选):主要是方便在gradle中使用Android Support Libraries,因为Google并没有把这些库发布到maven center或者jcenter去,而是使用了Google自己的maven仓库。Google USB Driver(可选) 连接真机时需要用到。Google Web Driver (可选)测试H5页面时需要用到。Intel x86 Emulator Accelerator(HAXM installer)(可选):windows平台的Intel x86模拟器加速工具,配合Intel x86 atom/atom_64 System Image使用可加快模拟器的运行速度。

    4.创建虚拟机(需要时再建)

    • 双击 AVD Manage.exe 启动AVD管理器。点击 “Create...” 按钮,创建Android虚拟机。不要选择超过电脑屏幕分辨率的Device,其它选项参考下图。点击 “OK” 创建完成。在 AVD Manage 工具中选中创建的Android虚拟机,点击 “Start...” 按钮启动。
    •  

    5.adb连接手机

    1.通过usb, 利用adb来连接手机

    (1)驱动,pc端安装驱动,如果是华为手机可以安装“华为手机助手”
    (2)开发者选项中启用USB调试:设置---关于手机---连续点击“版本号”,即可以打开 ;“选择USB配置”选项为“仅充电”模式。打开“USB调试”。

    (3)进入电脑的cmd界面,输入:adb devices,出现device说明手机通过usb连接电脑成功。如果没有出现,可以通过adb tcpip 5555来重启。出现restarting in TCP mode port: 5555说明重启成功.

    (4) 移除usb保持adb连接:找出手机端的ip地址:设置-->关于手机-->状态信息-->ip地址。通过adb connect #.#.#.#连接手机。#.#.#.#是手机的ip地址,出现:connected to #.#.#.#:5555,说明连接成功。将usb移除之后再次输入adb devices,手机还是跟电脑处于相连接的状态。注意:确保手机和电脑处于同一个网段.

    结束adb服务:adb kill-server

    启动adb服务:adb start-server

    通过adb shell dumpsys window w |findstr / |findstr name=,查看当前手机打开的app和activity。

    2.通过无线WiFi,利用adb来连接手机

    (1)一点底层的知识:Android系统底层运行着一个服务(adbd),用于响应和管理大家在电脑端的adb命令连接,这个服务在启动时会根据手机的配置监听USB连接或网络其中之一。配置的属性为:service.adb.tcp.port,也就是监听的网络端口,属性的值 > 0:adbd将监听网络对应的端口(一般为5555);属性的值 <=-1:adbd将监听USB 

    (2)连接步骤:pc命令行输入:adb connect 172.16.4.37:5555 (:5555可省略),成功提示:connected to 172.16.4.37:5555。

    提示unable to connect to 172.16.4.37:5555的解决办法(原因:手机的默认adb服务是没有打开的,否则,别人adb能随便连,就很不安全),手机与PC相连,执行以下命令:adb tcpip 5555,成功提示:restarting in TCP mode port 5555;如果手机没有和PC连接,直接使用以上命令会提示 error:device not found,然后断开USB。接着执行adb connect 172.16.4.37:5555,这时候应该就能连接成功了,成功提示:connected to 172.16.4.37:5555

    (3) 输入adb devices,得到以下提示说明连接成功,可以进行各种调试了

       List of devices attached

       172.16.4.37:5555    devices

    (4)调试完成之后,输入如下的命令断开连接:adb disconnect 192.168.1.5:5555。最后一步,需要把监听的网络端口重置为-1,监听USB端口(好像不做这一步,直接插上USB线也能正常使用,而且这一步经常会提示could not set property,需要root权限)

        setprop service.adb.tcp.port -1

        stop adbd

        start adbd

    3. adb devices在获取连接的安卓手机时,可能会遇到的坑。

    1、手机USB调试一定要打开。

    2、多找两根USB线,排除线的问题。

    3、多换几个USB接口,排除USB个别接口不好使问题(如:3.0 与 2.0)

    4、驱动程序,通过设备管理器查看是否安装驱动或驱动不是最新。

    5、更新adb_usb.ini文件,少数电脑不能识别Android手机时,可以将设备管理器下的Android手机的VID、PID增加到adb_usb.ini文件中。 将VID、PID中“_”后的4位数增加到adb_usb.ini下(注:adb_usb.ini默认在C盘当前用户家目录下的.android目录下)

    6、在发现使用 adb devices 没有设备之后,安装三星手机驱动。安装好之后会在计算机->设备之中看到一个已被识别出的三星手机。再次使用adb devices,出现了设备,但是设备识别为 unauthorized 。此时在手机上切换一下连接方式:MTP PTP,或者关闭USB再开启USB等,类似重启的效果。现在已经可以识别并连接了

    理论上这些操作都操作一遍后,基本adb devices就可以找到Android手机了。

    四、安装node.js

    appium服务端是node.js写的。appium本质是一个nodejs库所以要先安装nodejs。

    1.下载官网地址:https://nodejs.org/en/download/23,下载后一路傻瓜式安装,安装完成后,运行cmd,输入node -v查看版本号,然后输入npm。出现如下图信息,表示node.js安装成功。

    2.npm(node package manage)是node.js安装包管理工具,类似Python中的pip工具。是一个node包管理和分发工具,有了npm,后面就可以输入指令在线安装appium(打开cmd输入:npm install -g appium但是一般不推荐这种,下载比较慢,所以用下面的客户端安装) 

    五、安装appium(Appium Server)(appium-desktop)

    1.appium-desktop(推荐)

    Appium-Server有一两年没有更新。于是,新的工具 Appium-desktop 来了! 它来继续 Appium-Server的使命,当然, Appium-Server当前仍然是可用的。TesterHome官方百度网盘: http://pan.baidu.com/s/1jGvAISu

    默认安装目录: C:Usersv-xugAppDataLocalProgramsAppium,安装完成后能够成功打开桌面的appium程序,说明安装过程暂时没什么问题

    2.Appium Server(不推荐)

    • Appium 移动测试中有个很重新的组件 Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试。但Appium-Server有一两年没有更新了。Windows版在 2015 年底止步于的 AppiumForWindows_1_4_16_1.zip.
    • 下载安装地址:https://bitbucket.org/appium/appium.app/downloads/16,下载后直接双击appium-installer.exe文件安装就好,桌面会生成一个appium的图标,启动后界面显示如下 

               

    • 安装.net framework

       node.js需要.NETFramework框架的支持,所以需要安装.net framework4.5,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=3065332

    六、安装Appium-Python-Client

    1.我们使用python开发appium的自动化测试脚本,肯定离不开appium的一些api库,所以说这里的appium 客户端就是python代码使用的库,用来连接appium server 及操作app。appium client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。appium client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。

    2.python环境安装,已经准备好pip了,所以这里直接打开cmd,输入:pip install Appium-Python-Client进行安装。命令行输入:python回车,输入from appium import webdriver不报错,来检测是否安装成功。如果控制台没有报错,则说明安装成功。

    3.appium client方法: http://www.testclass.net/appium/methods

    七、appium-doctor环境检查

    • appium-doctor(新版)

      1.新版appium中没有找到 appium-doctor这个工具,打开CMD执行命令:npm install -g appium-doctor,安装appium-doctor

      2.使用appium-doctor命令检查整个环境是否有问题,输出信息和下图一样,那么环境就搭建成功

           

    • appium-doctor(老版)

      appium-doctor可以检测Appium整体依赖环境配置情况。

      1.appium安装好后,找到这个文件目录D:appiumAppium ode_modules.bin

      2.将上面的地址添加到环境变量path下(老版本的有这个目录,新版的我还真没找到这个目录,所以也不需要配置环境变量了)

      3.打卡cmd,输入appium-doctor,检查环境是否OK,出现下图,说明环境OK。

    八、安装模拟器

    所有的环境已经安装完成,接下来就是链接手机模拟器或者真机了,我这里使用的是夜神模拟器,下载地址:https://www.yeshen.com/,下载完成后直接安装,安装完成后,桌面会生成两个图标,夜神模拟器和夜神多开器

    1.连接模拟器

    • 开启模拟器的开发者模式,点击模拟器的设置-点击关于平板电脑-点击版本号(会有提示点击几次打开开发者模式)。
    • 打开CMD终端,切换cmd 的工作目录到夜神模拟器的安装目录的bin目录下(或者你把这个目录添加到环境变量也可以,但是最好不要添加到环境变量,因为bin目录下也存在一个adb.exe会和Android SDK中的adb.exe冲突),执行命令 nox_adb.exe connect 127.0.0.1:62001(不同模拟器的这个端口号不同)。

      (1) 看到下面的提示后,接着再次输入命令 adb devices (注意:不要在上面的目录下继续输入命令,因为bin下同样存在一个adb.exe ,如果你还在这个目录下执行adb命令,那么使用的并不是Android SDK中的adb,所以切换到其他任意目录执行命令)

        

      输入命令 adb devices。如果看到上图中的信息,说明成功连接上了模拟器, 这里只能说明Android的开发环境没问题了,但是进行自动化时还不一定能够正常控制模拟器

      (2)如果执行命令时提示类似:abd server version(40) doesn't match this client (36) 这样的失败信息,那么说明你的server(夜神模拟器的adb(nox_adb.exe))和client(Android SDK中的adb)版本不对应

    2.检查版本

    • cmd输入:adb version,查看client版本
    • cmd切换到夜神安装目录的bin目录下,执行nox_adb.exe version
    • 我的版本是一样的,你的可能是两个不同的版本号, 你需要把Android SDK中的adb拷贝到夜神模拟器安装目录下的bin目录下,并重命名为nox_adb.exe 并替换原来的即可
    • 接下来我们就可以测试连接是否正常了,输入命令 nox_adb.exe connect 127.0.0.1:62001(这里要注意执行命令的目录,应为夜神模拟器安装目录的bin目录下

    九、测试环境验证

    下面通过编写一段简单的代码程序,验证一下程序是否能够成功驱动设备/模拟器打开指定的app,如果没有报错,那么到此为止整个appium自动化测试环境就已经完成了。

    1.打开appium,并启动服务器,保持模拟器开启状态。编写如下测试代码,对应app被成功打开,表示整个环境已经没有任何问题了。

    from appium import webdriver

    desired = {
        "platformName": "Android",
        "platformVersion": "5.1.1",
        "deviceName": "e9b768eb7d2a",
        "appPackage": "com.xxzb.fenwoo",
        "appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity"
    }
     
    driver = webdriver.Remote(
        command_executor="http://127.0.0.1:4723/wd/hub",
        desired_capabilities=desired)

    十、Appium的相关命令

    where appium:查看appium的安装路径

    appium:可启动appium服务,appium -v查看版本。如果该命令报错,那么请重装appium.

    退出appium:按键 ctrl+c 选择y 即可退出。

    原文地址:https://www.cnblogs.com/linuxchao/p/linuxchao-appium-environment.html;https://www.cnblogs.com/yoyoketang/p/6128725.html

  • 相关阅读:
    nacos + seata 报错 endpoint format should like ip:port
    Error creating bean with name 'com.example.demo.ProviderFacade': Requested bean is currently in creation: Is there an unresolvable circular reference?
    leetcode 剑指 Offer 65不用加减乘除做加法
    vscode使用spring boot配置详解
    使用springmvc中视图解析器InternalResourceViewResolver遇到访问出错
    docker tomcat修改时区有效方法
    wsl2 docker mysql重启之后无法连接问题
    docker tomcat部署应用并且连接到docker mysql数据库
    vscode git使用
    vscode wsl2使用maven操作{添加包到meavn,测试操作}
  • 原文地址:https://www.cnblogs.com/mind18/p/12592252.html
Copyright © 2011-2022 走看看