App自动化测试-原理与安装-Appium+Python+网易mumu模拟器

APP自动化初始

为什么要进行app自动化?

  • 将app自动化融入产品迭代中,与持续集成持续交付结合起来
  • 功能测试、回归测试的全面加速
  • 兼容性测试,同一版本需要在不同的机器/系统上进行验证
  • 自动化探索测试,发现隐藏问题
  • 专项测试,加载、耗电量…

目前app测试的情况:

  • 按月发布-按周发布-按天发布
  • 多端发布:Android、ios、h5、小程序
  • 多环境发布:联调环境、测试环境、预发布环境、线上环境
  • 多机型发布:众多设备型号、众多系统版本
  • 多版本共存:用户会使用多个不同的版本

app自动化测试框架

  • Appium
  • Airtest 游戏
  • calabash
  • macaca
  • atx
  • KIF
  • WDA
  • XCUITest
  • Robotium
  • Uiautomator2

核心流程回归的自动化测试:

  • 业务流程不频繁改动
  • UI元素不频繁改动
  • 需要频繁回归的核心场景

Appium原理

Appium移动端的自动化测试框架,可测试原生应用、移动网页应用、混合应用(包裹WebView的应用,例:小程序),跨平台
支持语言:java、python、nodejs…
跨平台:Android、iOS、Windows、Mas
appium

  1. 客户端Webdriver script:写脚本的地方
  2. 服务端appium server:运行脚本的地方(很多东西集成在一块)
  3. 手机端Android、iOS
    秒懂Appium流程:启动服务端,监听一个端口(可以设置这个端口),客户端编写脚本之后,给服务端的这个端口发送请求,告知需要测试的内容(即测试的设备、应用、页面),服务端去手机端找客户端刚才告知需要测试的内容,找到之后进行交互(点击、输入…),手机端交互之后给服务端返回,服务端再把返回给到客户端。
    详解Appium原理:待补充

appium使用了不同的工作引擎来实现自动化测试:
appium server

Appium安装

Appium生态

  • adb :( Android SDK自带的) Android的控制工具,用于获取Android的各种数据和控制
  • Appium Desktop :(界面化工具) 内嵌了appium server 和 inspector(定位元素、录制脚本)的综合工具
  • Appium Server: appium的核心工具,命令行工具
  • Appium client: 各种语言的客户端封装库,用于连接appium server
  • AppCrawler 自动遍历工具

Java jdk 1.8版本

  1. javajdk下载地址
  2. 配环境变量
    在系统变量中新建一个变量,名字为JAVA_HOME,值为电脑jdk的根目录
    path环境变量中需要配置几项:
配path变量
%JAVA_HOME%
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
  1. 检查是否配置好了cmd输入java -version

Android sdk

  1. sdk下载地址
  2. 配环境变量:
    在系统变量中新建一个变量,名字为ANDROID_HOME,值为电脑SDK的根目录,一般默认安装的路径为C:\Users\用户名\AppData\Local\Android\Sdk
    修改系统变量中的path变量,添加四条内容,因为可能会有其他软件也带有adb执行文件,未免出现问题,尽量将这四项配置到较靠前的位置
配path变量
%ANDROID_HOME%\emulator
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin
%ANDROID_HOME%\platform-tools
  1. 检查是否安装成功:cmd输入adb回车

appium desktop

desktop下载地址(推荐下载1.19.1版本)(初学直接使用界面工具比较方便)

appium server 环境安装

  • node.js(>=10) npm>=6 nodejs下载地址 windows: msi \mac: pkg
  • 安装之后会自带工具npm,可以使用这个工具安装Appium Server,无需配置环境变量(安装完成需重启命令提示行cmd)
  • npm install -g appium@1.19.1 appium -v 查看版本检查是否安装成功
  • npm install -g appium-doctor 检测appium环境的工具

python3

安装python和pycharm

appium client

pip install appium-python-client

网易mumu模拟器

  1. mumu官网下载模拟器
  2. adb 链接模拟器(方法在官网中进行搜索)
    https://mumu.163.com/help/20210531/35047_951108.html

验证环境是否成功

  1. 打开appium desktop,点击start server
  2. 打开模拟器(mumu)
  3. 模拟器连接到电脑 adb connect 127.0.0.1:7555
  4. adb devices 查看设备是否连接
  5. 编写脚本,运行脚本,不报错
    脚本
    首次调试即报如下错
    selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device in 20575ms.
    adb.exe -P 5037 reconnect offline
    报错
    反复检查配置信息,确认无误之后,看报错描述发现可以是5037端口的问题,在命令行查看5037端口占用情况:
    netstat -ano|findstr “5037”
    打开任务管理器,用pid找到进程,右键“打开文件位置”,发现C:\Android\adb.exe占用了5037端口,干掉占用的adb即完成了首次调试。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Appium是一个用于自动化移动应用程序的开源工具,而Python是一种流行的编程语言,可以使用AppiumPython来实现移动应用程序的自动化测试。 连接模拟器并启动淘宝App的步骤如下: 1. 首先,需要安装AppiumPython的相关环境,包括Node.js、npm、Appium Server、PythonAppium Python客户端库。 2.打开Android模拟器,确保模拟器已经启动。 3.导入所需的Python库,包括webdriver、MobileBy和AppiumWebElement。 4.设置Appium连接参数,包括设备名称、平台版本、App路径和包名。 5.通过Appium Python客户端库中的webdriver.Remote()方法建立与Appium Server的连接。 6.使用find_element()方法找到并点击启动淘宝App的按钮。 7.等待淘宝App启动完成。 完整的Python代码示例如下: ```python from appium import webdriver from appium.webdriver.common.mobileby import MobileBy from appium.webdriver.webelement import WebElement desired_caps = { 'platformName': 'Android', 'platformVersion': '10', 'deviceName': 'emulator-5554', 'appPackage': 'com.taobao.taobao', 'appActivity': 'com.taobao.tao.homepage.MainActivity3' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) button = driver.find_element(MobileBy.XPATH, '//android.widget.Button[@text="淘宝"]') button.click() # 等待淘宝App启动完成 driver.implicitly_wait(10) driver.quit() ``` 请注意,上述代码中的设备名称、平台版本、App路径和包名需要根据实际情况进行修改。 以上就是使用AppiumPython连接模拟器并启动淘宝App的详细步骤和示例代码。通过这种方式,可以进行移动应用程序的自动化测试和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

balahalalala

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值