移动应用测试(Python+Appium+雷电模拟器)

这篇具有很好参考价值的文章主要介绍了移动应用测试(Python+Appium+雷电模拟器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、所需软件包

一、node.js(v20.1.1)

二、Java(JDK17)

三、Android SDK(24.4.1版本)

四、Python(3.10)

五、PyCharm(2023.3.2)

六、Appium(1.21.0)

七、雷电模拟器(雷电9)

若不想单独去下载,想直接获取所有安装包,请访问百度网盘链接提取:https://pan.baidu.com/s/1LSzazfQ2PbdiMLfZ4WiWAQ?pwd=n4vi

二、环境配置

2.1环境配置之Node.js

       在官网选择对应版本下载:https://nodejs.org/en/download/,如图所示。.msi 是一种 Windows 安装程序文件,而 .zip 是一个压缩包,解压即可,不需要安装。这里选择.msi格式(64位)。

                 移动应用测试(Python+Appium+雷电模拟器),appium,python

       完成下载后,双击.msi文件进行安装,安装成功后打开命令提示符窗口(win+R,再输入cmd回车)。输入node -v 获得node.js的版本信息则是安装成功,如图所示。(注意是node(空格)-v)。

                        移动应用测试(Python+Appium+雷电模拟器),appium,python

2.2环境配置之Java

① 下载,安装Java的JDK,官网

     https://www.oracle.com/java/technologies/downloads/#jdk17-windows(Java1.8也可以)

② 配置JAVA_HOME,CLASSPATH,PATH环境变量,详情参考网址     https://www.cnblogs.com/cnwutianhao/p/5487758.html

③ 验证Java环境是否配置成功,打开cmd或终端输入java - version、java、javac 几个命令看是否 会报错。

2.3环境配置之Android SDK

①下载,解压Android SDK

    进入Android中文网 http://www.androiddevtools.cn/,点击SDK Tools,点击android-sdk_r24.4.1-windows.zip下载压缩包并解压。如图所示。

移动应用测试(Python+Appium+雷电模拟器),appium,python

②下载必要包

    解压SDK到本地后,进入SDK目录,如图所示。双击启动SDK Manager.exe。点击Deselect All,然后勾选如图所示的包选项,点击Install 3packages...下载SDK必要的包。

移动应用测试(Python+Appium+雷电模拟器),appium,python③配置SDK环境变量

1)成功安装后Android SDK的根目录下应该同时具有了tools和platform-tools两个目录。

2)设置 ANDROID_HOME 系统变量(没有请新建)为Android SDK根目录 路径(类似JAVA_HOME)如图所示。

移动应用测试(Python+Appium+雷电模拟器),appium,python

④把 Android SDK 路径下的tools 和 platform-tools 两个目录路径加入到系统环境变量 Path。如图所示。

                                       移动应用测试(Python+Appium+雷电模拟器),appium,python

⑤ 验证Android SDK环境

    在终端(cmd)输入命令 adb ,回车,输出如下 adb 版本和帮助信息说明环境配置成功(只截取了一部分,后面还有很长),如图所示。

移动应用测试(Python+Appium+雷电模拟器),appium,python

2.4 环境配置之Python

①下载安装文件: https://www.python.org/downloads/,这里选择Python 3.10.0版本,点击Windows installer(64-bit)下载Python安装程序。安装时选择Add Python 3.10 to PATH 自动配置Python环境变量。然后点击Install Now进行安装。

                移动应用测试(Python+Appium+雷电模拟器),appium,python

                移动应用测试(Python+Appium+雷电模拟器),appium,python

                 移动应用测试(Python+Appium+雷电模拟器),appium,python

②打开命令提示符窗口(win+R,再输入cmd回车),输入python并回车,出现以下类似信息即为安装成功。如图所示。

移动应用测试(Python+Appium+雷电模拟器),appium,python

③下载PyCharm:   

https://www.jetbrains.com/pycharm/download/other.html,这里选择2023.3.2版本(其他版本亦可)。如图所示。

  移动应用测试(Python+Appium+雷电模拟器),appium,python

2.5 环境配置之Appium

①下载安装文件https://github.com/appium/appium-desktop/releases/tag/v1.21.0(开启代理打开网址)MAC请下载dmg(这里下载1.21.0版本)

  移动应用测试(Python+Appium+雷电模拟器),appium,python

②直接双击appium-installer.exe文件安装就好,桌面会生成一个Appium的图标,此时已经可以通过Appium在桌面快捷方式启动Appium桌面应用程序。

                   移动应用测试(Python+Appium+雷电模拟器),appium,python

③配置Appium环境变量:

   找到上一步安装Appium指定的安装路径(右击桌面的Appium图标,打开文件所在位置可找到安装路径),如图所示。

            移动应用测试(Python+Appium+雷电模拟器),appium,python

将该路径下的Appium加入环境变量Path,如图所示。

               移动应用测试(Python+Appium+雷电模拟器),appium,python

④安装appium-python-client

启动终端(cmd)输入

pip install appium-python-client==2.11.0 -i  https://pypi.tuna.tsinghua.edu.cn/simple

,出现提示Successfully installed即成功。(终端输入

pip list

进行检查,如果出现下图中的WARNING提示,可按照要求更新或者不管),如图所示。 移动应用测试(Python+Appium+雷电模拟器),appium,python

2.6 环境配置之模拟器

官网安装雷电模拟器:

安装网址:https://www.ldmnq.com/,选择雷电9(雷电5也可以)下载,如图所示。(安装过程中如果提示安装失败,请以管理员身份运行

            移动应用测试(Python+Appium+雷电模拟器),appium,python

三、测试示例

3.1启动雷电模拟器

以学习通为测试对象,打开雷电模拟器,下载学习通。然后启动学习通,登录进入主页面。

 移动应用测试(Python+Appium+雷电模拟器),appium,python

                                           移动应用测试(Python+Appium+雷电模拟器),appium,python

3.2启动Appium

双击打开Appium,点击Start Server v1.21.0,开启Appium。

                               移动应用测试(Python+Appium+雷电模拟器),appium,python

点击右上角的搜索符号,开启Appium Server。

             移动应用测试(Python+Appium+雷电模拟器),appium,python

这里需要编辑一个用于连接模拟器并打开学习通的参数配置(Desired Capabilities),具体有四个核心的参数,分别为platformNamedeviceNameappPackageappActivity。 移动应用测试(Python+Appium+雷电模拟器),appium,python

        移动应用测试(Python+Appium+雷电模拟器),appium,python

下面介绍如何获取到这些参数

3.3配置Capability

3.3.1platformName

由于雷电模拟器是Android,所以platformName为Android

3.3.2deviceName

按住win+R键打开cmd窗口,输入

adb devices

结果如图所示,所以deviceName即为emulator-5554,也就是雷电模拟器的设备名。

                                    移动应用测试(Python+Appium+雷电模拟器),appium,python

3.3.2appPackage和appActivity

输入以下命令

adb shell dumpsys activity | findstr "mResume" 

(Android 8.1之下版本使用

adb shell dumpsys activity | findstr "mFocus"

)查看学习通应用的appPackage和appActivity(必须保证雷电模拟器的学习通应用程序处于开启状态)如图所示。appPackage为com.chaoxing.mobile,appActivity为.main.ui.MainTabActivity

移动应用测试(Python+Appium+雷电模拟器),appium,python

所以最终配置如下:

 移动应用测试(Python+Appium+雷电模拟器),appium,python

这里多设置了一个noReset,这个参数表明不停止应用程序和清除应用程序数据。

点击Start Session,等待一段时间(Appium会驱动雷电模拟器重启学习通,如果学习通处于黑屏状态导致连接失败,退出学习通,重新点击Start Session连接一次应该就可以了)如果出现以下界面,表示连接成功。

  移动应用测试(Python+Appium+雷电模拟器),appium,python

打开PyCharm,创建名为MobileAppTestProject的项目,新建一个名为XuexitongTest的python文件。如图所示。

          移动应用测试(Python+Appium+雷电模拟器),appium,python

输入以下测试脚本,点击PyCharm右上角的运行符号,执行测试脚本(确保Appium和雷电模拟器处于开启状态,脚本才能执行成功),脚本会驱动Appium自动打开学习通并依次点击“我”和“待办事项”,完成自动化测试。

from appium import webdriver
import time
from selenium.webdriver.common.by import By

# Appium Desired Capabilities
caps = {
    "platformName": "Android",
    "deviceName": "emulator-5554",
    "appPackage": "com.chaoxing.mobile",
    "appActivity": ".main.ui.MainTabActivity",
    "noReset": True
}
# 与 Appium server 建立连接
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
# 等待页面加载,可以根据实际情况调整等待时间
driver.implicitly_wait(10)
# arrange
expected = "待办事项"
# act
# 1.点击“我”
driver.find_element(By.XPATH, "//*[@text='我']").click()
time.sleep(2)
# 2.进入"待办事项"
driver.find_element(By.ID, "com.chaoxing.mobile:id/tvTitle").click()
time.sleep(2)
# 3.获取测试结果
actual = driver.find_element(By.ID, "com.chaoxing.mobile:id/tvTitle").text
# 断言
assert actual == expected
# 关闭应用程序和驱动
driver.quit()

  移动应用测试(Python+Appium+雷电模拟器),appium,python

至此,移动应用测试环境配置成功。下面将介绍如何使用Appium。

四、Appium使用

4.1GUI说明

      当Appium连接雷电模拟器成功后,应用程序的屏幕截图(快照视图)将出现在左边。如图所示。  可以在屏幕快照视图中使用鼠标来点击各种UI元素,将会看到它们突出显示。

                                      移动应用测试(Python+Appium+雷电模拟器),appium,python

   窗口的中间是应用程序的层次结构, 表示为XML。如图所示。可以通过单击它树节点,或者通过点击屏幕快照视图中的元素来导航这棵树 然后它们在视图中会被强调显示。在应用层次结构中会直接将元素的id也就是resource-id值标记在树上,这对于 Appium定位元素很方便,可以快速看到 元素是否有id。

                                 移动应用测试(Python+Appium+雷电模拟器),appium,python

  当一个元素被突出显示时,它的信息会出现右侧的元素信息视图中。如图所示。这个细节视图包括对元素的潜在操作,以及元素属性的表。这些属性将决定 Appium定位元素的策略。

                                移动应用测试(Python+Appium+雷电模拟器),appium,python

以下是对于Appium上面操作栏的初步说明。

 移动应用测试(Python+Appium+雷电模拟器),appium,python

4.2Appium+Python常用API

 4.2.1、驱动初始化及基础操作

webdriver.Remote(command_executor, desired_capabilities): 初始化 Appium 驱动。

driver.quit(): 关闭应用程序和驱动。

4.2.2、元素定位及操作

driver.find_element(by, value): 根据指定的定位方式和值找到单个元素。

driver.find_elements(by, value): 根据指定的定位方式和值找到一组元素。

element.click(): 点击元素。

element.send_keys(text): 向元素发送文本。

4.2.3、元素等待

time.sleep(seconds):强制等待,无论元素是否已准备好,都会等待指定的时间后执行 后续操作。

driver.implicitly_wait(seconds): 隐式等待,设置全局等待时间。在查找元素时等待一定的时间,如果在规定时间内找到了元素,则立即执行后续操作,否则等待超时后抛出异常。

WebDriverWait(driver, timeout).until(expected_conditions.condition):显示等待,在特定条件下等待一定时间,直到条件满足或等待超时。

4.2.4、页面导航

driver.get(url): 打开指定的 URL。      

driver.back(): 返回上一页。        

driver.forward(): 前进到下一页。

4.2.5、屏幕滑动与滚动

driver.swipe(start_x, start_y, end_x, end_y, duration): 在屏幕上执行滑动操作。

driver.scroll(origin_element, destination_element): 在页面上执行滚动操作。文章来源地址https://www.toymoban.com/news/detail-840678.html

到了这里,关于移动应用测试(Python+Appium+雷电模拟器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python+appium+夜神模拟器搭建app自动化环境

    目录 1.Appium用法 2.准备工具 1、安装JDK并配置JDK的环境变量 2、安装安卓SDK并配置SDK的环境变量。 3、安装夜神模拟器并在模拟器上安装被测app 4、安装并配置python 5、安装Node js 6、安装和配置Appium appium是做app的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也

    2024年02月07日
    浏览(32)
  • 雷电模拟器端口号 adb连接

    在尝试adb连接雷电模拟器时,网上查询了一下端口号,发现说是5555. 但是自己尝试,会提示: cannot connect to 127.0.0.1:5555: 由于目标计算机积极拒绝,无法连接。 (10061) 终于发现,因为我打开的模拟器,编号已经到了29。。。 此时的端口号就不是5555了, 而是5555+2*29=5613。(即 端

    2024年02月05日
    浏览(42)
  • Fiddler+雷电模拟器APP抓包

    因为工作中涉及到移动端的内容相对较多,在需要接口文档时,开发人员无法立即提供,因此需要我们自己使用对APP进行抓包,完成相关的测试工作。 1、打开Fiddler客户端,依次进入Tools—options设置,先点击Connections设置,选择Allowremote computers to connect,确认监听端口为8888。

    2024年02月12日
    浏览(33)
  • android studio连接雷电模拟器调试

    一、下载雷电模拟器,安装完成后打开 下载地址:https://www.ldmnq.com/ 二、进入模拟器的桌面,系统应用—打开设置—点击关于平板电脑,连续点击5次版本号–会出现开发者选项—-进入开发者选项—-勾选usb调试。 三:按win+r,输入cmd打开命令控制器,将目录切换到你安装雷电

    2023年04月08日
    浏览(33)
  • vmare 虚拟机上安装雷电模拟器的解决

    自已有一个需求:需要在虚拟机,需要在上面安装一下模拟器3.0; 环境: vmare老版本:6.0~7.0 虚拟机系统:windows7 旗舰版 64位 遇到问题: 1. 没有开启VT-x。 分析:原来的vmare是低版本好像是 vmare7;没有Intel VT-x选项选择。 我的解决方法: 升级vmare为Vmware Workstation 16 Pro; 把当

    2024年02月06日
    浏览(73)
  • 雷电模拟器运行非常卡顿有效解决方法分享

    雷电模拟器运行非常卡顿有效解决方法分享。有用户在电脑上开启雷电模拟器来使用的时候,遇到了软件使用非常卡顿的情况。那么这样的软件卡顿问题要怎么去进行处理呢?接下来我们一起来看看以下的解决方法教学吧。 雷电模拟器卡顿的解决方法 一、关闭360核晶防护 打

    2024年02月05日
    浏览(41)
  • 雷电9模拟器安装magisk和lsposed

    之前一直用真机搭建测试环境,今天看到正己大佬的 《安卓逆向这档事》之模拟器环境搭建 视频教程,看到其中推荐了 适用于几乎所有安卓模拟器(7+)安装magisk的教程-简单无脑向 这个教程,其实之前就看过这个大佬的教程,无奈我的模拟器版本可能不对,一直安装不成功,

    2024年02月02日
    浏览(41)
  • windows Vscode运行Flutter项目,雷电模拟器

    全流程参考链接  官网配置windows 的 flutter运行环境  !!! 1、安装jdk 11并配置全局环境变量 官网下载JAVA的JDK11版本(下载、安装、配置环境变量)_java11下载_云边的快乐猫的博客-CSDN博客 2、下载安装Flutter SDK: (1)版本选择(windows:Stable channel稳定版本,3.7.7) Flutter SD

    2024年02月06日
    浏览(30)
  • 【解决方案】adb无法连接雷电模拟器问题

    目录 雷霆9问题(安卓9.0) 雷霆5问题 (安卓7.0) 问题一:adb 提示adb server version(31) doesn\\\'t match this client(41)  问题二:more than one device and emulator 必须开启调试模式(默认为关闭) 解决办法:使用雷电模拟器安装目录下的adb.exe,位置这样找。 执行adb logcat后会得到这个日志

    2024年02月07日
    浏览(110)
  • 雷电9模拟器安装抓包工具whistle证书

    抓某游戏内的包,普通的下载证书,访问会出现白板情况 这里证书选择的是 .pem 格式的, .cer 格式的证书也是可以的,将证书下载到电脑上. 文件名称大概就是 rootCA.pem  openssl下载地址 这里算出了当前证书的名称,修改证书  rootCA.pem 为 b09ba***.0 ,证书  .pem 改成 .0 1.adb remount 2.ad

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包