• Appium与python自动测试环境及demo详解


      App--UI自动化这种高端的名词已经被越来越多的人所高呼,可是从实际角度来讲,个人觉得还是有点鸡肋,不如接口自动化敏捷度高,工作量

    也是接口自动化的好几倍。但是,【划重点了】  技术时代中,作为测试人员还是应该需要掌握这门技术的。那么如何来实现呢?

      【AppUI自动化准备工作】

    • 环境搭建
    • 被测apk包(这里已安卓举例)

       【启动安卓虚拟机,并执行apk】

       【编写python脚本,并执行】

    一、搭建环境

      说明:APP端UI自动化其实主要难点在于环境搭建,如果不能静下心来阅读并操作,那么可以关掉浏览器说拜拜了

    【环境准备】:

    1. Java环境jdk  (这里演示版本为:jdk1.8.0)
    2. android-sdk   (这里演示版本为:28.0.2)
    3. node.js&Appium (这里演示版本为:node.js版本 v11.12.0 ,appium版本1.4.16)
    4. python&Pycharm(这里演示版本为:python3.6.7,pycharm无所谓了...)
    5. 安装Appium-Python-Client(pythond的appium客户端,反正就先这么理解)

    1.1、安装jdk

    java下载地址:https://www.java.com/zh_CN/download

    打开网址,下载对应版本即可,点击安装(这里以Windows版本作为演示:

    傻瓜式安装,默认路径即可(我安装的路径为:C:Program FilesJavajdk1.8.0_191)。如下图所示:

     配置环境变量:

    在系统变量中新建JAVA_HOME,如下图所示:

     在系统变量配置CLASSPATH

    .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;注意以.开头,如下图所示:

     在系统变量中配置Path

    %JAVA_HOME%in;%JAVA_HOMEjrein%; 如下图所示:

     检测Java环境是否配置OK

    打开cmd,输入java -version 和 javac -version 如下图所示则表示Java环境安装成功:

    1.2、android-sdk

    1.2.1、下载sdk并安装

    下载地址:http://tools.android-studio.org/index.php/sdk

    我的解压路径为:

     D:AppAutoTest

    1.2.2、运行SDK Manager,下载相关sdk

    在android-sdk-windows下点击SDK Manager.exe,如图:

     点击Install packages---》选择接受,如下图:

     

     安装完成后,配置环境变量

    1.2.3、配置环境变量

    在系统变量中配置ANDROID_HOME,然后将platform-tools和tools配置至系统变量Path中

    ANDROID_HOME,中为sdk安装目录,如下图所示:

     Path中末尾追加,如图所示:

    校验环境变量是否配置成功

    进入cmd命令,输入adb version,如图所示表示安装成功

    输入android -h,如图所示表示安装成功

     1.3、安装appium&node.js

    说明:新版的appium中好像已经集合了node.js,也就是说不用再另行安装。

    1.3.1、安装Appium

    下载安装程序:https://github.com/appium/appium-desktop/releases?after=v1.5.0

     点击安装文件,选择安装路径:

    进入下一步:

    点击下一步

    点击next

    开始安装了:

     点击finish:

    打开Appium:

    配置环境变量:

    先配置ANDROID_HOME,路径为:D:AppAutoTestandroid-sdk-windows,如图:

    配置Path,如图:

    在cmd中检测,环境变量是否配置成功,如图表示配置成功:

    1.4、安装python和pycharm

     安装python,下载地址:https://www.python.org/getit/

    点击安装,傻瓜是安装即可,安装完成后在cmd中输入python检测是否安装完成,如图所示:

    python的环境变量配置:

     安装Pycharm,网上有太多教程,请自行百度

    1.5、安装Appium-Python-Client

    在cmd中输入pip install Appium-Python-Client,如图所示,表示安装成功

    至此,环境则搭建完成

    二、启动并创建安卓虚拟机

    2.1、点击AVD Manager.exe,启动如图:

    点击Creat,并配置相关参数,如图所示:

    选中创建的虚拟机,点击start,如下图:

    启动安卓虚拟机:

    安装apk,将准备好的apk包直接拖进虚拟机 ,便可开始安装

    2.2、启动appium并配置相关参数:

    appium设置顿口号:

    在cmd中输入adb devices查看手机信息,是否已连接安卓SDK,如下图所示表示手机已连接:

    三、编写python脚本

     3.1、首先获取包名

    在cmd中输入aapt dump badging D:TestApk摩伞.apk,查看包名

     在命令行中间位置找到launcherActivity,如下图:

    3.2、编写python脚本

    import time
    
    from appium import webdriver
    
    desired_caps = {}
    desired_caps['platformName'] = 'Android'#手机系统
    desired_caps['platformVersion'] = '4.4.2'#系统版本
    desired_caps['deviceName'] = 'emulator-5554'#手机序列号,通过adb devices命令查看
    #desired_caps['app'] = r'D:Testtest摩伞.apk'#执行包路径,电脑端存放apk的路径
    desired_caps['appPackage'] = 'com.jslt.umbrella'#包名
    desired_caps['appActivity'] = 'com.jslt.umbrella.ui.LaunchActivity'#launcherActivity名称
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)#地址为固定写法
    
    time.sleep(10)
    #self.assertEqual(True, False)
    print(driver.get_window_size())
    # 获取屏幕宽
    x = driver.get_window_size()['width']
    print(x)
    # 获取屏幕高
    y = driver.get_window_size()['height']
    print(y)
    # 滑屏,大概从屏幕右边2分之一高度,往左侧滑动,滑动后显示的是 热点tab
    print('开始滑动第一页')
    driver.swipe(x*0.9,y*0.5,x*0.1, y*0.5, 1000)
    print('第一页已滑动')
    time.sleep(4)
    print('开始滑动第二页')
    driver.swipe(x * 0.9, y * 0.5, x * 0.1, y * 0.5, 1000)
    print('第二页滑动到位')
    time.sleep(4)
    time.sleep(3)
    print('进入')
    driver.find_element_by_id('nextBtn').click()
    print('已进入')
    time.sleep(4)
    print('开始输入手机号')
    num = driver.find_element_by_id('phoneEdt')
    num.send_keys('13321211212')
    print('手机号已输入')
    driver.find_element_by_id('verifyCodeEdt').send_keys('654321')
    driver.find_element_by_id('nextBtn').click()
    
    txt = driver.find_element_by_id('erro_toast_textview').text
    if txt == '验证码错误':
        driver.find_element_by_id('erro_toast_confirm').click()
        pas

    执行,脚本,可以看到程序在虚拟机中自动执行

     至此appiun与python自动化讲解完成,大家可以躁起来了

    如有问题欢迎大家进群讨论:775129837

  • 相关阅读:
    .net Winform 32位桌面应用程序突破系统2G内存限制,解决内存溢出问题
    .Net Core WebAPI Swagger Failed to load API definition
    MySql 安装详细步骤
    Vue ElementUI 按需引入提示Cannot find module 'babelpresetes2015'
    复制label标签上的文本
    3D游戏的碰撞检测是如何实现的?
    flex布局定位二
    flex布局定位一
    k8s工作负载、服务、pod
    应用内moniter
  • 原文地址:https://www.cnblogs.com/weimeizhizuo/p/10595609.html
Copyright © 2020-2023  润新知