当前位置:首页 > CN2资讯 > 正文内容

Windows 10 搭建 Appium 自动化测试环境appium自动化测试环境搭建

7小时前CN2资讯

Windows 10 搭建Appium自动化测试环境

  • 环境搭建列表
  • Ⅰ 安装 Java JDK
  • Ⅱ 安装 Node & NPM
  • Ⅲ 安装 Android SDK
  • Ⅳ 安装 Build-tools
  • Ⅴ 安装 Platform-tools
  • Ⅵ 安装Appium
  • Ⅶ 安装 Appium-doctor
  • Ⅷ 安装 Emulator
  • Ⅸ 测试代码
环境搭建列表
  • Java JDK
  • Node
  • Android SDK
  • Platform-tools
  • Build-tools
  • Emulator
  • Appium
  • Appium-doctor
Ⅰ 安装 Java JDK

下载 Java jdk ,按步骤安装,Windows 10 默认安装在路径C:\Program Files\Java\jdk1.8.0_181下;安装完成后需要在 控制面板 => 系统和安全 => 系统 => 高级系统设置 => 环境变量 => 系统变量中设置3项属性:JAVA_HOME、CLASSPATH(大小写无所谓)、Path、若已存在则点击"编辑",不存在则点击"新建"。

变量设置参数如下(详情参考:这里):

  • 变量名:JAVA_HOME

  • 变量值:C:\Program Files\Java\jdk1.8.0_181 // 要根据自己的实际路径配置

  • 变量名:CLASSPATH

  • 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."

  • 变量名:Path(该变量一般存在,点击编辑添加即可)

  • 变量值:%JAVA_HOME%\bin %JAVA_HOME%\jre\bin

验证安装是否配置成功,打开命令行工具:

java -version # java version "1.8.0_181" # Java(TM) SE Runtime Environment (build 1.8.0_181-b13) # Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) javac -version # javac 1.8.0_181 Ⅱ 安装 Node & NPM

下载 Node ,按步骤安装,Windows 10 默认安装在路径C:\Program Files\nodejs\下,一般来说,安装的时候已经默认添加了环境变量,无需手动添加>;如果未添加,则需要在 控制面板 => 系统和安全 => 系统 => 高级系统设置 => 环境变量 => 系统变量中设置环境变量Path。

  • 变量名:Path(该变量一般存在,点击编辑添加Node的安装路径即可)
  • 变量值:C:\Program Files\nodejs\

验证安装是否成功:

node -v # v10.14.2 npm -v # 6.4.1 Ⅲ 安装 Android SDK

安装Android SDK环境可以使用直接下载 Android studio来进行安装,但是会下载好多无用的东西,占用内存,但是无需配置太多设置。

这里介绍下用命令行安装的方法(命令行安装可能会失败,多试几次就好):

  • 选择下载下边的Command line tools only, Windows 版 sdk-tools-windows-4333796.zip,或者直接网盘下载(链接: https://pan.baidu.com/s/1lQQR71t75cXucHm6sLlbVg 提取码: dub3)
  • 在C盘下创建android-sdk文件夹(或者你自定义位置)
  • 然后解压,将解压后的tools文件夹,放到目录C:\android-sdk下
  • 配置环境变量ANDROID_HOME
    • 变量名:ANDROID_HOME
    • 变量值:C:\android-sdk // 要根据自己的实际路径配置
    • 变量名:Path
    • 变量值:%ANDROID_HOME%\tools %ANDROID_HOME%\tools\bin

验证是否安装成功:

sdkmanager --update # [=======================================] 100% Computing updates...

问题一

如果遇到: Warning: File C:\Users\ly__l.android\repositories.cfg could not be loaded.

则需要在路径C:\Users\ly__l.android\ 下创建一个空的repositories.cfg文件即可

Ⅳ 安装 Build-tools sdkmanager --install "build-tools;29.0.0" Ⅴ 安装 Platform-tools
  • sdkmanager 安装 platform-tools(sdkmanager 详细命令参考:这里 )

    # 使用sdkmanager 安装 sdkmanager --install "platform-tools" "platforms;android-29"
  • 配置环境变量Path

    • 变量名:Path
    • 变量值:%ANDROID_HOME%\platform-tools
  • 验证安装成功:

    adb version # Android Debug Bridge version 1.0.41 # Version 29.0.5-5949299 # Installed as C:\android-sdk\platform-tools\adb.exe

最终Path的设置为:

Ⅵ 安装Appium

Appium(Version 1.15.1)是一个用于本地、混合和移动web应用程序的开源测试自动化框架。它使用WebDriver协议驱动iOS、Android和Windows mobile应用程序。终端安装server版输入:

# 安装 server 版 npm install -g appium

默认安装最新的版本,如果想安装指定的版本:

npm install -g [email protected]

卸载 Appium:

npm uninstall -g appium npm cache clean --force

安装桌面版(因为桌面版方便元素定位,可以同时安装两种),下载 相应的版本进行安装(安装两种方式,方便使用)。

Ⅶ 安装 Appium-doctor

Appium-doctor是一个小型软件,它检查 Appium 成功运行的所有(几乎所有)前提条件。终端输入:

npm install -g appium-doctor

appium-doctor 检查前提条件的输出应该是这样的:

至此Android环境搭建完成了!!!真机可直接运行。
如果需要使用 android 模拟器,则需要第 Ⅷ 步安装模拟器。

Ⅷ 安装 Emulator
  • 首先需要下载镜像文件:

    # 查看所有可安装的组件 sdkmanager --list --verbose # 更新组件 sdkmanager --update # 安装 sdkmanager --install "system-images;android-28;google_apis;x86"
  • 然后下载硬件加速器:

    sdkmanager --install "extras;intel;Hardware_Accelerated_Execution_Manager"
  • 下一步创建模拟器(avdmanager 详细介绍参考:这里):

    avdmanager create avd -n android-emulator -k "system-images;android-28;google_apis;x86" -b x86 -c 100M -d 7 -f
  • 最后运行模拟器:

    # android-emulator 为上边创建模拟器的名称(-n android-emulator) emulator -avd android-emulator # 或者 emulator @android-emulator

Tips:

不可以在虚拟机上运行android模拟器,因为virtualBox的组件(Hyper-V or Credential Guard)和模拟器的组件(HAXM)有冲突

问题一
“PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT”
检查 android-sdk 目录下是否有至less4个目录: emulator , platforms , platform-tools , system-images
缺少哪个安装哪个(如果缺少platforms,则可以创建一个空的文件夹也可以),安装方法:
sdkmanager --install “emulator”
sdkmanager --install “platforms;android-26”
sdkmanager --install “system-images;android-26;google_apis;x86”
参考:这里

问题二
"[6100]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at …\emulator\lib64\qt\lib
Could not launch ‘C:\android-sdk…\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe’: No such file or directory "
需要使用emulator目录下的emulator启动虚拟设备即可(尝试tools目录下的emulator和emulator目录下的哪个可以用哪个)

Ⅸ 测试代码
  • 安装Python环境,下载 安装

  • 安装时勾选Add Python3.X to Path 避免手动配置环境变量

  • 这样安装后运行python脚本直接在终端使用:python test_android.py 即可
    运行test_android.py脚本(真机还是模拟器自行切换注释代码!!! 脚本下载):

    # coding=utf-8 import unittest from appium import webdriver import time import os class AndroidSimpleTest(unittest.TestCase): def setUp(self): calculator_desired_caps = { 'platformName': 'Android', 'platformVersion': '9.0', # emulator 'deviceName': 'emulator-5554', 'appPackage': 'com.android.calculator2', 'appActivity': 'com.android.calculator2.Calculator' # real device # 'deviceName': '520381b347dd148b', #'appPackage': '.popupcalculator', #'appActivity': '.popupcalculator.Calculator' } self.driver = webdriver.Remote('http://localhost:4723/wd/hub', calculator_desired_caps) def tearDown(self): self.driver.quit() def test_calculator(self): # 测试本机计算器 # 代码中的定位元素可能会改变,具体根据实际情况改动 # real device #self.driver.find_element_by_accessibility_id("5").click() #self.driver.find_element_by_accessibility_id("Plus").click() #self.driver.find_element_by_accessibility_id("6").click() #self.driver.find_element_by_accessibility_id("Equal").click() #self.assertEqual(self.driver.find_element_by_id("txtCalc").text, "11") # ************ # emulator self.driver.find_element_by_id("digit_5").click() self.driver.find_element_by_accessibility_id("plus").click() self.driver.find_element_by_id("digit_6").click() self.driver.find_element_by_accessibility_id("equals").click() self.assertEqual(self.driver.find_element_by_id("result").text, "11") @unittest.skip("skip") def test_something(self): pass if __name__ == '__main__': unittest.main()

Tips:

# 查看设备名(deviceName) adb devices # 查看模拟器版本号(platformVersion) adb shell getprop ro.build.version.release # 查看appPackage、appActivity,运行命令时要确保打开了应用 # 例如:首先打开计算器,然后运行命令即可获取到(以 / 隔开,前边appPackage,后边 appActivity ) adb shell dumpsys window windows | findstr "Current"

其他adb相关命令查看:这里

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/28373.html

    分享给朋友:

    “Windows 10 搭建 Appium 自动化测试环境appium自动化测试环境搭建” 的相关文章

    香港云电脑:灵活、高效、经济的现代计算解决方案

    香港云电脑概述 香港云电脑,是基于云计算技术的一种崭新电脑服务模式。其实你可以把它想象成一种“租赁”的概念。我们不需要像以前那样花大价钱去购买实体电脑,而是可以通过网络租用需要的计算、存储和软件资源,与此同时,拥有几乎完整的电脑功能。这种模式的好处多多,包括灵活性、低成本、高效性以及可扩展性。无论是...

    国外常用ping工具及其使用方法

    ping工具在国外的应用 什么是ping工具?其基本功能和重要性 ping工具是一种非常实用的网络诊断工具,通过向指定的IP地址发送数据包来检测网络连接的质量。当我们在互联网上进行访问时,ping工具能够帮助我们了解网络延迟、丢包率等关键指标。这些信息对于网站运营者和普通用户来说都是极其重要的,因为...

    bwh1:搬瓦工的高效VPS管理与使用技巧

    bwh1 概述 提到 bwh1,很多人第一时间就想到搬瓦工(BandwagonHost)。bwh1 正是搬瓦工的官网域名之一,深受用户喜爱。它不仅是一个简单的链接,更是通向高效 VPS 管理的窗口。通过这个网站,用户能够方便地访问各种服务,比如 VPS 购买、管理和支持。对于追求网络稳定性和速度的用...

    选择日本不限流量VPS的最佳方案与优化建议

    日本不限流量VPS市场现状 日本的VPS市场,尤其是不限流量的产品,正迎来一个快速发展的阶段。随着互联网技术的进步,亚洲的网络环境发生了翻天覆地的变化。尤其是在日本,不限流量VPS因其连接速度快、数据中心服务优质而广受欢迎,对那些需要持续大流量的网站运营者来说,这可是一个无与伦比的选择。 我发现,随...

    深入了解ICMP协议及其在网络管理中的应用

    ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议族中的一种重要网络协议。我们可以把ICMP想象成网络中的信使,它主要负责在网络中传递控制消息和错误报告。这种功能对于维护网络的正常运作至关重要,让网络管理员能够及时发现并处理问题。IC...

    Debian 修改 DNS 的详细步骤与常见问题解决方案

    在讨论 Debian 中的 DNS 修改前,我想先和大家分享一些关于 DNS 的基本信息。DNS(Domain Name System)是互联网的“电话簿”,它将我们可读的网站地址(如 www.example.com)转换为计算机能够理解的 IP 地址。这一过程对于我们浏览网页、发送邮件等操作至关重...