APP自动化测试的环境配置
什么是Appium?
第三方自动化框架(工具),扩充了selenium webdriver 协议,在原有的基础上添加了移动端测试API
selenium webdriver 指定了客户端到服务端的协议
appium 是一个开源的、跨平台的自动化测试工具,用于app的自动化测试
appium 是跨平台的,支持android,ios,firefoxos等操作系统下的app测试
什么是selenium?
用于web应用程序测试工具,直接运行在浏览器,模拟用户操作,覆盖Windows、Linux、Mac,覆盖 IE、Chrome、firefox等浏览器,Java、Python多种语言进行脚本编写
官网:https://docs.seleniumhq.org/download/
版本:http://selenium-release.storage.googleapis.com/index.html
什么情况适合做自动化:
周期比较长的、需求比较稳定的、迭代周期比较长的
使用appium 做APP自动化测试的原理:
1)appium 的核心其实是一个暴露了一系列rest api的server
2)这个server的功能其实很简单:监听一个端口(4723),然后接受由client发送的command
3)然后翻译 这些command,把这些command 转成移动设备可以理解的形式发送给移动设备
4)移动设备执行完这些command后把执行结果返回给appium server
5)最后appium server 再把执行结果返回给client
1、APP自动化测试的环境配置:
1) 安装nodejs:https://nodejs.org/en/download/ 官网下载,安装好之后 cmd 里输入node -v 确定是否安装好(appium 是使用node js实现的,所以node是解释器)
2) 配置Android sdk 环境(monkey 工具下)
概念:
ADT(Android develpoment tools),安卓测试开发环境
adb(Android debug bridge) 是Android sdk 的一个工具,用来连接安卓手机和pc端的桥梁
创建ANDROID_HOME 系统环境变量,值为ADT下的sdk目录(D:\Program Files (x86)\adt-bundle-windows-x86_64-20140702\sdk)
将ANDROID_HOME 下的tools和platform-tools配置进path变量,即在path变量的值后面加上“;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;”
打开模拟器通过在Windows命令输入adb devices,检查是否可以检测到连接的设备信息(真机下需要用usb先连接电脑并在开发者模式下打开usb调试):127.0.0.1:62001
3)安装Appium:https://bitbucket.org/appium/appium.app/downloads/
安装完成之后需要配置环境变量,将appium安装路径下的node_modules/.bin目录配置到环境变量path后面
输入appium-doctor 检查appium做自动化需要依赖的环境ANDROID_HOME,JAVA_HMOE等是否都已准备好
出现这种就表示所需环境以及配置好了。
代码:
deviceName:设备名:127.0.0.1:62001
APPpackage:因为一个设备有很多APP,通过包名确定app--->com.tencent.mm
cmd输入:adb shell dumpsys activity | find “mFocusedActivity”
appActivity:app的一个页面--->com.tencent.mm/
monkey 是Android的一个内置程序
2、maven项目+selenium+testng 集成 环境搭建
1)创建maven项目:在左边空白处右击--new--project--输入maven,选择maven project--next--勾选 create a simple project--next--group id(分组,一般填写组织结构,相当于包)命名 如 com.ningmengban artifact id (例如jar 包名) 命名如:appium42 ,packaging 是指打包成jar 或者war 包--finish
maven集成包官网下载:http://www.eclipse.org/m2e
1、本地仓库:C:\Users\Administrator\.m2
2、中央仓库:http://mvnrepository.com/
3、项目添加selenium,testng依赖,jar包的依赖:
http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java/2.53.1
http://mvnrepository.com/artifact/org.testng/testng
4、eclipse 集成testng插件
selenium-Java:selenium是用于web应用程序测试的工具,测试直接运行在浏览器中,selenium webdriver 指定了客户端到服务端的协议
Java-client:扩充了webdriver的协议,在原有的基础上添加移动自动化相关的api
testng:下一代测试技术,利用注释来强化测试功能的测试框架,可以用来做单元测试和集成测试
5、如果没有集成,到eclipse插件中心下载安装,安装步骤(这个比较复杂,一般不用):
- help--install new software
- 在available software页面点击add
- 输入name:TESTNG ,location:http://beust.com/eclipse/
- 点击ok,选择加载出来的testng
- 点击next---i accept the。。---finish
- 开始安装
- 安装完毕,重启即可使用
一种简单的集成方法:解压testng压缩包,把里面对应的features 与plugins 文件夹下的文件夹copy到本地eclipse 根目录下对应文件夹下,重启即可
APP自动化测试的环境配置的更多相关文章
- 创建app前的环境配置/AppIcon/启动图片
1.真机调试http://blog.csdn.net/tht2009/article/details/48580569 2.创建app前的环境配置
- 前端自动化测试 —— TDD环境配置(React+TypeScript)
欢迎讨论与指导:) 前言 TDD -- Test-Drive Development是测试驱动开发的意思,是敏捷开发中的一项核心实践和技术,也是一种测试方法论.TDD的原理是在开发功能代码之前,先编写 ...
- Python appium搭建app自动化测试环境
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...
- Java安装与环境配置
Java安装 第一步 安装jdk-8u111-windows(根据操作系统的位数选择安装32位或64位) 注:路径用英文,不要出现中文和空格等.jdk和jre放在同一个文件夹下,便于管理 本例的路径为 ...
- app自动化测试环境配置:adb环境配置、monkey环境配置、appium环境配置大全
1. 安装jdk 2. 安装配置Andriod sdk 安装Andriod sdk前首先需要安装配置好jdk环境. 然后安装Android sdk 安装完成后需要配置环境变量:ANDROID_HOME ...
- IOS-Appium 自动化测试——环境配置及模拟器、真机跑测试
在MAC环境下配置IOS的appium的自动化测试环境,主要包含三个部分: 一.环境配置 1.安装homebrew(homebrew可以提供MAC OS无法提供的很多套件) ruby -e " ...
- 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置
在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- APP自动化环境配置
做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...
随机推荐
- 二阶段js 入门知识点 自我总结复习
二阶段自我总复习 1.javascript基础 : 客户端 安全性 跨平台 脚本语言 三大结构: 顺序 .选择.循环 顺序:运算符和表达式 ...
- Net微信网页开发之使用微信JS-SDK获取当前地理位置
前言: 前段时间有一个关于通过获取用户当前经纬度坐标,计算出该用户距离某指定地点之间的距离.因为做这个项目需要能够获取到比较精确的经纬度坐标,刚开始使用的是百度地图结果发现百度地图地位不太准确(有时候 ...
- 牛客网2016.4.11(两个数相加为sum/计数一个int型的二进制有多少个1/二叉树是否左右对称)
求最小的两个数相加为sum //求最小的两个数相加为sum public ArrayList<Integer> FindNumbersWithSum(int [] array,int su ...
- ECMAScript---变量
上上篇我们说到ESMAScript是JS的语法规划,JS中的变量.数据类型.语法规范.操作语句.设计模型等都是ES规定的,现在咱们聊一下JS中的变量和常量 变量(variable) 它不是具体值,只是 ...
- Delphi - Indy 创建邮件自动发送服务
服务器自动邮件线程 功能:此程序主要实现对Oracle数据库表tableName(存放需要发送邮件的相关信息)里面相关信息的邮件发送. 优点:开发人员可以直接再数据库后台对tableName表进行插入 ...
- JWT原理 使用(入门篇)
1.JWT简介 JWT:Json Web Token,是基于Json的一个公开规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息,他的两大使用场景是:认证和数据交换 使用起来就是,由 ...
- Python 命令行之旅:使用 argparse 实现 git 命令
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。
报错 Traceback (most recent call last): File "D:/PyCharm 5.0.3/WorkSpace/2.NLP/2.获取数据源和规范化/4.word ...
- Android-友盟第三方登录与分享
### 前言 最近项目中又一次需要集成友盟的三方登录与分享,之前没有记录过,所以这次来写一下... ### 准备工作 1.注册友盟账号创建应用,获取key:申请地址http://www.umeng.c ...
- dropwizard-core模块和应用启动分析
简介 Dropwizard是一款开发运维友好.高效.RESTful web服务的框架.Dropwizard将稳定.成熟的java生态系统中的库整合为一个简单的.轻量级的包,即跨越了库和框架之间的界限, ...