• 移动端测试-环境构建


    安卓自动化测试环境配置:
    一、Applium安装
    1.安装nodj.js

    2.安装applium

    Appium:
    1.完全使用webDriver作为通信协议,大部分API与selenium一样。
    2.体系架构与selenium非常类型

    安装无界面版Appium Server
    由于Appium本身是基于Node.js开发的一个WebDriver服务器端应用程序。所以除了使用自带界面的
    Appium Desktop Server外,我们还可以使用Node.js的npm程序直接安装Appium的原生Server,并通过
    命令行来启动服务器或者配置需要的参数,操作步骤如下:
    1)在Node.js官网”https://nodejs.org.en“下载最新版本的Node.js并完成安装
    2)在操作系统环境变量中将Node.js的安装目录配置到Path变量中,便于方便执行关系命令
    3)打开命令行程序,运行命令“Node -v”和“npm -v”,确认安装是否成功
    4)使用命令“npm install -g appium”在线安装Appium。但是由于安装过程会连接Google的国外站点,所以很有可能无法成功安装
    5)使用国内镜像安装,运行如下命令:npm --registry http://registry.cnpmjs.org install -g appium
    即可从国内镜像站点安装Appium
    6)也可以使用镜像npm install -g appium --registry https://registry.npm.taobao.org进行安装
    7)默认情况下,npm会在命令行的当前目录下安装新的模块,如果需要知道安装路径,我们可以使用命令
    npm config set prefix "D:Folder ode_modules"指定安装路径
    8)运行命令 npm --registry http://registry.cnpmjs.org install -g appium-doctor 或者
    npm install -g appium-doctor --registry https://registry.npm.taobao.org 安装Appium Doctor检查程序
    9)为安装模块的目录,如“C:UsersAdministratorAppDataRoaming pm”设置到Path环境变量中,便于直接在命令行运行
    Appium或Appium Doctor程序
    10)在Appium安装完成后,可以通过命令Appium -v 和Appium-doctor来确认是否安装成功
    11)如果通过运行Appium Doctor程序检查成功后,我们就可以启动Appium Server,默认的启动命令为Appium,如果需要停止服务器,只需要按Ctrl+C即可
    12)uiautomatorviewer.bat工具的使用:使用增加版uiautomatorviewer.jar 替换原生的uiautomatorviewer.jar,目录地址:android-sdk-windows oolslib
    13)最新版本的Appium不支持driver_find_element_by_name('text'):根据元素的text属性进行识别,可以通过修改源代码解决该问题,修改文件C:Program Files (x86)Appium esourcesapp ode_modulesappium ode_modulesappium-android-driveruildlibdriver.js,找到this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator'],改为this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator','name'];
    14)Appium参数:
    #第一件事情:配置Appium兼容性参数-> Android/ios ,Android有不同版本等
    desired_caps = {} #定义webdriver的兼容性设置字段对象用于设置核心参数
    desired_caps["platformName"] = 'Android' # 指定测试Android平台
    desired_caps['platformVersion'] = '5.1.1' # 指定移动设备版本号
    desired_caps['deviceName'] = 'Appium' # 指定设备名称
    desired_caps['unicodeKeyboard'] = 'true' #支持输入中文
    desired_caps['app']= '路径' # 应用安装过可以不用改参数
    desired_caps['appPackage'] = 'com.miui.calculator' # 指定要启动的包
    desired_caps['appActivity'] = '.cal.CalculatorActivity' # 指定启动的主类程序
    desired_caps['udid'] = '127.0.0.1:62001' # 指定设备编号(adb devices 输出结果)


    自动化测试调用 客户端库
    1.苹果:UIAutomation /XCTest
    2.安卓:UIAutomation

    Uiautomator2:
    针对App移动端的测试开发,除了使用Appium之外,基于Python语言上还有第二个选择,那就是UIAutomator2这套测试框架。
    UIAutomator2是一个可以使用Python对Android设备进行UI自动化的库,其底层基于Google Uiautomator测试库2.0版本,该库可以获取屏幕上任意一个App的任意一个控件属性,并对其进行任意操作,但是是基于Java语言编写的。所以UIAutomator2测试框架可以很好第帮助我们利用Python语言编写类似于Appium的自动化测试脚本。

    1)安装UIAutomator2
    pip install --pre uiautomator2 #uiautomator2核心库
    pip install pillow #Python的图像处理库

    2)初始化移动端
    确保电脑端已经成功连接到一台移动设备,可以通过adb devices命令成功查看到该设备列表为准。执行如下命令可以在移动端安装uiautomator-server、atx-agent等应用程序,便于移动端与Python代码进行通信以执行自动化测试脚本。
    Python -m uiautomator2 init


    Python开发Appium使用的库:
    1)Appium-Python-Client
    2)selenium
    确保安装匹配版本的selenium和appium
    pip install Appium-Python-Client
    pip install selenium -U


    3.安装Android SDK
    配置AndroidSDK:https://www.cnblogs.com/wsy0202/p/11226253.html
    1)ANDROID_HOME=D:android-sdk-windows
    2)path:%ANDROID_HOME%platform-tools;%ANDROID_HOME% ools;%ANDROID_HOME%uild-tools23.0.1
    3)利用SDKManager管理SDK版本

    模拟器:夜神
    1.设置模拟器的刷新频率,分辨率,CPU,内存使用等
    2.复制模拟器下的adb.exe,替换SDK目录下对应的adb.exe
    3.ADB命令
    ADB全程即Android Debug Bridge,也就是一个电脑和Android之间的桥梁,主要用于
    Android设备的调试等。ADB为我们提供了丰富的命令选项,几乎可以使用命令完成绝大多数的调试功能,现将最常用的命令列举如下:
    1)adb device:显示当前运行的全部Android设备
    2)adb -s 设备号 指定命令:对某一设备执行命令
    3)adb install -r 应用程序.apk :安装应用程序
    4)adb uninstall apk主包名:卸载应用程序
    5)adb pull <remote> <local>:获取模拟器中的文件
    6)adb push <local> <remote>:向模拟器中写文件
    7)adb shell:进去模拟器的shell模式,可之间运行Linux命令
    8)adb shell am start -n 主包名/包名+类名:启动应用程序
    9)adb forward tcp:5555 tcp:8000:设置任意端口号,作为主机向模拟器或设备的请求端口
    10)adb shell monkey 参数:在Android设备上执行monkey调试

  • 相关阅读:
    0206-leetcode算法实现-反转链表reverse-linked-list-python&golang实现
    Elasticsearch集群角色类型node.master及node.data
    linux cache缓存过大导致内存资源不够用
    helm v3 调试 k8s elasticsearch集群(5)
    0203-leetcode算法实现之移除链表元素-remove-linked-list-elements-python&golang实现
    算法学习步骤
    conda 安装的坑
    matplotlib Demo
    pandas小demo
    深度学习常见问题
  • 原文地址:https://www.cnblogs.com/wsy0202/p/12099627.html
Copyright © 2020-2023  润新知