什么是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) 安装nodejshttps://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)安装Appiumhttps://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插件中心下载安装,安装步骤(这个比较复杂,一般不用):

  1. help--install new software
  2. 在available software页面点击add
  3. 输入name:TESTNG ,location:http://beust.com/eclipse/
  4. 点击ok,选择加载出来的testng
  5. 点击next---i accept the。。---finish
  6. 开始安装
  7. 安装完毕,重启即可使用

一种简单的集成方法:解压testng压缩包,把里面对应的features 与plugins 文件夹下的文件夹copy到本地eclipse 根目录下对应文件夹下,重启即可

 

APP自动化测试的环境配置的更多相关文章

  1. 创建app前的环境配置/AppIcon/启动图片

    1.真机调试http://blog.csdn.net/tht2009/article/details/48580569 2.创建app前的环境配置

  2. 前端自动化测试 —— TDD环境配置(React+TypeScript)

    欢迎讨论与指导:) 前言 TDD -- Test-Drive Development是测试驱动开发的意思,是敏捷开发中的一项核心实践和技术,也是一种测试方法论.TDD的原理是在开发功能代码之前,先编写 ...

  3. Python appium搭建app自动化测试环境

    appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...

  4. Java安装与环境配置

    Java安装 第一步 安装jdk-8u111-windows(根据操作系统的位数选择安装32位或64位) 注:路径用英文,不要出现中文和空格等.jdk和jre放在同一个文件夹下,便于管理 本例的路径为 ...

  5. app自动化测试环境配置:adb环境配置、monkey环境配置、appium环境配置大全

    1. 安装jdk 2. 安装配置Andriod sdk 安装Andriod sdk前首先需要安装配置好jdk环境. 然后安装Android sdk 安装完成后需要配置环境变量:ANDROID_HOME ...

  6. IOS-Appium 自动化测试——环境配置及模拟器、真机跑测试

    在MAC环境下配置IOS的appium的自动化测试环境,主要包含三个部分: 一.环境配置 1.安装homebrew(homebrew可以提供MAC OS无法提供的很多套件) ruby -e " ...

  7. 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置

    在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...

  8. App自动化测试-1.App自动化介绍和环境搭建

    App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...

  9. APP自动化环境配置

    做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...

随机推荐

  1. Net微信网页开发之使用微信JS-SDK获取当前地理位置

    前言: 前段时间有一个关于通过获取用户当前经纬度坐标,计算出该用户距离某指定地点之间的距离.因为做这个项目需要能够获取到比较精确的经纬度坐标,刚开始使用的是百度地图结果发现百度地图地位不太准确(有时候 ...

  2. .net打杂工程师的面试感想和总结

    上个月26号辞职了,今天开始第一场面试,随便写写感想,后面还会继续分享一些感想 前言 这个时候找工作是不是找死? 开门见山吧,95年的,之前做过两份工作,第一家公司在做了2年2个月,在北京,也就是去年 ...

  3. requests.get爬虫模块参数

    地址和请求头参数--url和header res = requests.get(url,headers=headers) 向网站发起请求,并获取响应对象 参数 url :需要抓取的URL地址 head ...

  4. 基于wanAndroid-项目实战

    # QzsWanAndroid - [基于 wanandroid.com 开发的 MVP + Retrofit2 + RxJava2 +okhttp3 开发的 Android APP](https:/ ...

  5. iOS中的几个重要方法

    iOS开发中几个重要的方法: 加载类到内存,程序刚启动的时候调用,调用在main函数之前 1.+(void)load{ } 初始化类,类第一次使用的时候调用一次 2.+(void)initialize ...

  6. visual studio code 应用到.net core 实战

    鉴于visual studio 2019 近期动不动卡顿与切分支后F12等功能失效的问题,开始考虑用visual studio code 代替他,对,你没有看错,就是代替visual studio 这 ...

  7. Vim高手,从来不用鼠标2——替换、撤销、缩进、查找

    本文章原创首发于公众号:编程三分钟 vim 替换.撤销.缩进.查找 上一次我们掌握了移动.跳转.定位.操作(删除.复制.粘贴),基本使用vim脱离鼠标完全是可以做到的了.速记如下: 移动: h,l,j ...

  8. 北京2018网络赛 hihocoder#1828 : Saving Tang Monk II (BFS + DP +多开一维)

    hihocoder 1828 :https://hihocoder.com/problemset/problem/1828 学习参考:https://www.cnblogs.com/tobyw/p/9 ...

  9. Codeforces Round #506 (Div. 3) 1029 D. Concatenated Multiples

    题意: 给定n个数字,和一个模数k,从中选出两个数,直接拼接,问拼接成的数字是k的倍数的组合有多少个. 思路: 对于a,b两个数,假定len = length of (b),那么a,b满足条件就是a ...

  10. KDTree 板子

    从杨哥哪里偷的板子, 存一下. #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.t ...