大家好,今天来为大家分享App自动化测试环境搭建指南(内网版)的一些知识点,和的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
全文分基础介绍、环境搭建和案例演示三部分介绍Appium,帮助学习者快速上手。
基本介绍
详细原理介绍请点击
Appium 是一个适用于本机、混合和移动Web 应用程序的开源自动化测试框架。它使用WebDriver 协议驱动iOS、Android 和Windows 应用程序。关于它的操作过程,用图片来介绍会更形象:
上图展示了Appium的运行流程和原理。左边的部分是Appium-Client。通俗地说,就是用来间接驱动最右边的设备执行预定的自动化测试流程。它支持多种主流编程语言的编写。这也是测试开发人员需要关注的核心部分;中间的Appium-Server是连接左边客户端和右边APP设备的重要桥梁。一般只需要配置环境并开始运行即可;右边当然是自动化测试的实际执行。终端,例如IOS真机、Android真机、或者模拟器。
工具:
1.使用Java开发时需要下载JDK
2.node.js
3.安卓SDK
4.Appium-Server:下载appium-desktop
5.Appium-Python-Client(用于编写测试脚本)
6.终端:下载夜神Android模拟器
7. 示例:(1)Android应用在模拟机上的自动化测试(2)真机上的自动化测试
1.安装JDK
(1)官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
(2)选择Java SE 8u201/8u201,点击JDK下载
(3)安装下载的JDK
(4)配置系统环境变量
在“系统变量”栏中,创建或编辑
(1)新建JAVA_HOME变量
变量名称:JAVA_HOME
变量值:填写JDK安装目录(我的是D:Program Files (x86)Javajdk1.8.0_181)
(2) 找到Path变量并编辑它。如果没有Path 变量,则创建一个新变量。
变量名称:路径
变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin;
(不要删除原来的变量值,直接在最后添加)
//注意前面有一个英文分号,不要错过,这是为了和前面的变量值分开
(3)新建CLASSPATH变量
变量名称:CLASSPATH
变量值:%JAVA_HOME%lib;%JAVA_HOME%libtools.jar
//可以直接将这句话复制到变量值一栏。注意这里有一个“.”就在它的前面,不要错过它。
点击确定保存设置,返回桌面“win+R”输入“cmd”
输入命令:java -version
详情见https://www.jianshu.com/p/c9cb3185b221
2.安装node.js
1.由于Appium的服务器端是用node.js编写的,所以需要先安装node.js。安装完node.js后,也可以直接按照官方教程通过npm安装Appium。不推荐这种方法。 (注:npm 类似于Python 的pip,一个非官方的包管理器)
2.官方下载地址:点击下载,根据您的操作系统下载不同版本的node.js。
3. 要安装node.js,只需按照万无一失的下一步操作即可。需要注意的一件事是更改路径。安装成功后,会自动添加环境变量。也就是说,你可以在cmd下的任意目录下使用npm命令。
4.检查是否安装成功
cmd下输入:npm
3.安装Android SDK(安卓软件开发包)
1. 安装Android SDK(Android 软件开发工具包)。要测试Android手机,必须安装Android SDK。 (只看1.4.5)
下载地址:https://www.androiddevtools.cn/sdk下下载(直接下载对应版本,解压到任意目录,注意路径不能包含中文,否则安装SDK Manager.exe时工具包无法使用)
安装后解压后包含以下文件:
1) 附带附加组件、平台、工具、AVA Mnager.exe、SDK Manager.exe、SDK Readme.txt
2) 添加新文件夹build-tools、extras、platform-tools
3)点击SDK Manager.exe进入SDK工具下载,自带工具(AndroidSDK Tools自带)和extras文件夹
4)手动下载:下载Android SDK Platform-tools,解压后放入platform-tools文件中。下载Android SDK Build-tools,解压成21.0.0放到build-tools下(多下载几个版本)文件夹下的Extras Google USB Driver
2、在系统变量中新建变量名:ANDROID_HOME,并将解压后的文件夹路径写入变量值。 (不推荐这样做)
变量:ANDROID_HOME
值:D:android-sdk-windows
3. 双击android-sdk-windows文件夹中的SDK Manager.exe,选择该工具。所需安装:Tools 文件夹中的Android SDK Platform-tools 和Android SDK Build-tools、Extras 文件夹中的Android SDK Tools、Google USB Driver
选择以上四个安装包后,点击“Install 4 Packages.”,在License页面选择Accept License,最后点击“Install”开始安装。
4. 将ANDROID_HOME、tools、platform-tools、build-tools目录添加到系统变量Path中。保存更改。
变量路径,值:%ANDROID_HOME%;%ANDROID_HOME%tools;%ANDROID_HOME%platform-tools;%ANDROID_HOME%build-tools28.0.0
建议写成如下:D:android-sdk-windows;D:android-sdk-windowstools;D:android-sdk-windowsplatform-tools;D:android-sdk-windowsbuild-tools 28.0.0
5.检查环境变量是否配置成功
cmd下分别输入:
亚行
仿生机器人
安卓-h
或者
Monkeyrunner验证tools环境配置是否成功
adb验证platform-tools环境变量是否配置成功
aapt 验证build-tools的path环境变量是否配置成功
4.安装Appium服务器
使用appium-desktop搭建Appium-Server环境; appium-desktop是一个连接appium服务的桌面应用程序,可以方便测试人员连接手机、录制脚本等。
点击下载Appium-desktop进行下载,选择对应的版本进行下载,下载完成后直接安装。
5.Appium-Python-Client
选择python作为自动化测试脚本语言:
注:当appium-desktop连接模拟器时,可以通过录制的方式操作模拟器,然后将录制脚本转换为正式的python脚本,可以复制到pycharm编辑器中,用于通过appium-desktop进行自动化模拟python 客户端驱动程序。机器。该脚本在pycharm中运行,并通过appium-server操作模拟器。
方法一:直接使用命令pip install Appium-Python-Client
方法二(内网下):
1.离线下载Appium-Python-Client
2. cd python-client-master
3. python setup.py安装
因为运行python setup.py install时出现错误提示,找不到urllib3等(原因是公司内网,依赖无法下载)!
所以,
1.离线下载urllib3
2. cd urllib3-master
3. python setup.py安装
4.检查测试是否成功
导入urllib3
此时如果再次运行pip install Appium-Python-Client,仍然会出现错误信息。
因此,离线下载selenium
(1)下载selenium安装包
(2)下载后解压
(3)进入命令行,切换到安装包路径,输入python setup.py install命令执行setup.py文件安装selenium
当看到下图Finishedprocessing dependency for selenium==3.6.0时,说明安装成功。
当然,你也可以使用pip show selenium命令来检查selenium的安装状态。
运行
再次在python-master文件中运行 pip install Appium-Python-Client 无报错信息即可
命令后,可以发现python27下的site-packages已经加载完毕。
appium_python_client-0.46-py2.7.egg
硒-3.141.0-py2.7.egg
urllib3-1.25.3-py2.7.egg=3.14.1—Appium-pYthon-Client
6.安装夜神安卓模拟器
点击下载夜神模拟器,选择安装盘,安装完成后,找到nox_adb的位置,复制文件路径,添加到环境变量中。变量名是nox_adb,变量值是它的文件路径。
7.实例
(1)安卓应用自动化测试
(1) 使用adb连接
首先匹配SDK中platform-tools中的adb版本、nox模拟器中bin中的adb和nox_adb版本;
如果platform-tools中的adb版本模拟器中三个版本不一致,请将SDK中的adb.exe复制两份。一份名为nox_adb.exe;另一个是adb.exe;然后将其粘贴到nox中的bin中,替换掉原来的两个版本即可。
现在开始,找到Android SDK文件夹,点击platform-tools,
Shift+右键输入CMD,输入adb devices,会显示当前在5037端口的说明,进程已启动成功。 (运行前需要结束后台adb.exe进程)
启动SDK进程并打开叶神模拟器(必须打开),然后找到叶神的安装路径,点击bin文件夹,shift+右键进入CMD,输入nox_adb.exe connect 127.0.0.1:62001
然后输入adb设备
打开Nox模拟器(一定要打开)找到Nox的安装路径,点击bin文件夹,shift+右键进入CMD,输入nox_adb.exe devices
然后输入adb设备
然后继续打开模拟器,打开platform-tools,输入cmd,输入adb devices,如下图所示,说明SDK与模拟器连接成功。
SDK端检查(二)打开appium-desktop连接模拟器
修改Host: 127.0.0.1
帖子保持默认
点击开始服务
继续点击如图
在所需的能力中输入相应的参数:
记住:
1)在左侧框中输入
2) 应用程序文件路径F:Appiumapp-debug.apk
3) autoAcceptAlerts 布尔值true
4)当我加载automationName时,出现错误“无法找到automationName"appium"和platformName"Android"的驱动程序。”将被报告。
然后保存并单击开始会话(保持模拟器打开)
注:点击获取appPackage和appActivity
方法二:将apk放入android-sdk下的build-tools中,使用命令aapt dump badging F:Appiumapp-debug.apk
然后点击开始会话(保持模拟器打开)
连接成功后appium自动调整到App页面,如下
(2)真机自动化测试
下面演示在真实的Android设备上自动登录Keep(APP)。
获取设备名称。操作流程:打开手机开发调试模式,连接电脑进行授权认证,输入Window+R运行cmd,使用adb devices -l查看:
获取设备号并启动Appium Server进行调试:
Inspector SessionDesired Capativity 从上图可以看出,启动App Session需要以下参数(点击了解更多Appium Desired Capativity) :
platformName,例如Android、iOS等
deviceName,参考之前获取方式
注:点击此处获取appPackage和appActivity
总结一下,这里Keep对应的信息如下:
{"platformName":"Android","deviceName":"WAS_AL00","appPackage":"com.gotokeep.keep","appActivity":"com.gotokeep.keep.splash.SplashActivity"}
点击Start Session,即可看到Keep在手机端启动并同步显示在Appium Server上:
Start SessionKeep 以上操作通常仅用于方便获取控件ID和定位。以下是一个完整的基于Python实现自动登录操作的Appium-Client:
从appium 导入webdriver
从selenium.webdriver.common.by 导入
从selenium.webdriver.support.ui 导入WebDriverWait
从selenium.webdriver.support 导入预期条件作为EC
server="http://localhost:4723/wd/hub" # Appium Server,默认端口为4723desired_capability={
"平台名称": "Android",
"deviceName": "WAS_AL00", # 需要替换为您的deviceName
"appPackage": "com.gotokeep.keep",
"appActivity": "com.gotokeep.keep.splash.SplashActivity"
}
驱动程序=webdriver.Remote(服务器,期望的功能)
wait=WebDriverWait(driver, 10) # 最大搜索等待超时: 10s
def get_permission():
"""允许APP获取某些权限"""
尝试:
Ask=wait.until(EC.presence_of_element_ located((By.ID, "com.android.packageinstaller:id/do_not_ask_checkbox")))
询问.click()
允许=wait.until( EC.presence_of_element_ located((By.ID, "com.android.packageinstaller:id/permission_allow_button")))
允许点击()
除了:
经过
# 允许两次授权
获取权限()
获取权限()
# 点击“立即使用”
欢迎=wait.until(EC.presence_of_element_ located((By.ID, "com.gotokeep.keep:id/btn_bottom_in_video_welcome")))
欢迎.click()
# 切换“密码登录”(也可以使用第三方授权登录)
驱动程序.tap([(900, 110)])
# 输入“手机号码”
phone=driver.find_element_by_accessibility_id("登录时的电话号码")phone.send_keys("13988888888") # 替换为实际账号
# 输入“密码”
password=driver.find_element_by_accessibility_id("登录密码")password.send_keys("123456") # 替换为实际密码
# 点击“登录”
登录=driver.find_element_by_id("com.gotokeep.keep:id/btn_action")
登录.click()
最后附上操作效果图:
影响
参考资料如下:
https://www.cnblogs.com/Caiyilong/p/8559394.html
https://www.cnblogs.com/my-blogs-for-everone/p/7751596.html
https://jingyan.baidu.com/article/7f766daffb88334101e1d084.html
好了,文章到这里就结束啦,如果本次分享的App自动化测试环境搭建指南(内网版)和问题对您有所帮助,还望关注下本站哦!
【App自动化测试环境搭建指南(内网版)】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
想做移动app自动化测试,终于找到一个靠谱的教程了!
有8位网友表示赞同!
内网部署是很多公司的需求,这篇文章刚好解决我的痛点。
有9位网友表示赞同!
Appium 是我最常用的工具,搭建环境一直比较复杂,希望这个教程能详细讲解每一个步骤。
有9位网友表示赞同!
终于不用再折腾环境了,直接跟着教程搞定!
有8位网友表示赞同!
App自动化测试很重要,要确保app的稳定性和高质量。
有11位网友表示赞同!
分享一下我的学习成果,搭建了一个Appium内网环境,效率提升不少。
有13位网友表示赞同!
搭建完这个环境,可以方便地进行本地化测试了。
有14位网友表示赞同!
文章说有完整版教程,一定要好好看看!
有5位网友表示赞同!
内网部署的好处是安全性高,适合企业级的应用测试。
有16位网友表示赞同!
最近在学习App自动化测试,这篇文章正好可以参考一下。
有9位网友表示赞同!
移动端app越来越普及,自动化测试的重要性也在提高。
有12位网友表示赞同!
想和大家交流一下自己的测试经验,分享一些搭建Appium环境的小技巧。
有5位网友表示赞同!
希望教程能够涵盖主流的手机平台和操作系统,方便大家测试不同设备上的应用
有14位网友表示赞同!
学习完这个教程后,可以独立完成App自动化测试环境搭建了吗?
有6位网友表示赞同!
看来App自动化测试需要掌握很多知识点,还是需要好好学习一下。
有19位网友表示赞同!
期待文章能够详细讲解环境配置的步骤,以及一些常见的问题解决方案。
有11位网友表示赞同!
对于内网开发环境来说,搭建一个安全可用的Appium环境非常重要。
有14位网友表示赞同!
希望这个教程能够帮助我有效地进行App自动化测试,提高我的工作效率。
有8位网友表示赞同!
学习App自动化测试可以让我更好地理解软件开发流程。
有7位网友表示赞同!
感觉内网部署可以更好地保障数据的安全性和隐私性。
有11位网友表示赞同!