# 欢迎查阅Appium(Android自动化测试框架体系)
![](/uploads/photo/2018/27f5bcda-c947-48e5-8f9b-8e62c42c5a11.png!large)
- **Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,可用于IOS和Android以及Firefox OS的操作系统**
- 原生的应用是指用Android或IOS的SDK编写的应用,例如微信,QQ等APP
- 移动网页应用是指网页应用,例如IOS中Safari,Chrome等浏览器的应用。
- 混合应用是指一种包裹WebView的应用,原生应用于网页内容交互性的应用,例如微信即有分期
- 其中最重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套API来编写测试用例
### 源码地址:
 Gitee地址:https://gitee.com/hagyao520/Appium.git
 GitHub地址:https://github.com/hagyao520/Appium.git
### 框架介绍:
- **Java + Appium + Maven + TestNG + JDBC + Xml+ Git + +Ant + Jenkins**
- 使用Java作为项目编程语言
- 使用Appium作为App项目底层服务驱动框架
- 使用Maven作为项目类型,方便管理架包
- 使用TestNG作为项目运行框架,方便执行测试用例,生成测试报告
- 使用JDBC作为数据库管理工具,方便连接数据库,执行SQL
- 使用Xml作为用例管理工具,方便编写测试用例,维护测试脚本
- 使用Git作为仓库管理工具,方便管理项目代码
- 使用Ant作为Java的build打包工具,方便项目代码打包
- 使用Jenkins作为自动化持续集成平台,方便自动编译,自动打包,自动运行测试脚本,邮件发送测试报告
### 主要功能:
  1. 实现了基于Appium,WebDriver等常用操作方法的二次封装,包括(滑动,点击,输入,元素定位)等,使用起来更简便
  2. 实现了基于Windows,Android,IOS操作系统的cmd,adb,terminal常用DOS命令的快速调用
  3. 实现了基于Windows,Android,IOS操作系统等键盘按键功能的调用,可模拟实际的键盘操作
  4. 实现了基于Appium的断言功能,检查点失败自动截图保存,可在测试报告中查看,一个检查点失败不影响后续用例执行
  5. 实现了基于Xml文件内容的基本解析,包括(Unit,Case,Step)等,基本内容符合测试用例编写步骤,编写测试用例脚本更简单
  6. 实现的基于Oracle,MySql等常用数据库SQL操作,包含(Insert into,Delete,Update,Query)和执行"存储过程"操作等
  7. 实现了基于Oracle,MySql等常用数据库数据检查功能,获取数据库字段值,保存到本地缓存,然后进行比对效验,需使用正则表达式
  8. 实现了快速获取界面信息数据到本地缓存功能,获取当前界面上的数据,保存到本地缓存,可用作测试用例参数使用,需使用正则表达式
  9. 实现了常用API接口请求操作,包含(POST,GET)等,可直接在测试脚本中调用,只需传递对应参数即可,满足多种测试需求
  10. 实现了基于ExtentReports,TestNG生成的测试报告二次美化功能,界面更美观,内容清晰
### 环境配置:
  [JDK1.7以上](http://www.Oracle.com/technetwork/Java/javase/downloads/index.html)
  [Eclipse](http://www.eclipse.org/downloads)/[IDEA](https://www.jetbrains.com/idea/)
  [Android SDK](http://www.androiddevtools.cn)
  [Selenium](https://www.seleniumhq.org/download)
  [Appium](https://pan.baidu.com/s/1FasYQ
![](/uploads/photo/2018/27f5bcda-c947-48e5-8f9b-8e62c42c5a11.png!large)
- **Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,可用于IOS和Android以及Firefox OS的操作系统**
- 原生的应用是指用Android或IOS的SDK编写的应用,例如微信,QQ等APP
- 移动网页应用是指网页应用,例如IOS中Safari,Chrome等浏览器的应用。
- 混合应用是指一种包裹WebView的应用,原生应用于网页内容交互性的应用,例如微信即有分期
- 其中最重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套API来编写测试用例
### 源码地址:
 Gitee地址:https://gitee.com/hagyao520/Appium.git
 GitHub地址:https://github.com/hagyao520/Appium.git
### 框架介绍:
- **Java + Appium + Maven + TestNG + JDBC + Xml+ Git + +Ant + Jenkins**
- 使用Java作为项目编程语言
- 使用Appium作为App项目底层服务驱动框架
- 使用Maven作为项目类型,方便管理架包
- 使用TestNG作为项目运行框架,方便执行测试用例,生成测试报告
- 使用JDBC作为数据库管理工具,方便连接数据库,执行SQL
- 使用Xml作为用例管理工具,方便编写测试用例,维护测试脚本
- 使用Git作为仓库管理工具,方便管理项目代码
- 使用Ant作为Java的build打包工具,方便项目代码打包
- 使用Jenkins作为自动化持续集成平台,方便自动编译,自动打包,自动运行测试脚本,邮件发送测试报告
### 主要功能:
  1. 实现了基于Appium,WebDriver等常用操作方法的二次封装,包括(滑动,点击,输入,元素定位)等,使用起来更简便
  2. 实现了基于Windows,Android,IOS操作系统的cmd,adb,terminal常用DOS命令的快速调用
  3. 实现了基于Windows,Android,IOS操作系统等键盘按键功能的调用,可模拟实际的键盘操作
  4. 实现了基于Appium的断言功能,检查点失败自动截图保存,可在测试报告中查看,一个检查点失败不影响后续用例执行
  5. 实现了基于Xml文件内容的基本解析,包括(Unit,Case,Step)等,基本内容符合测试用例编写步骤,编写测试用例脚本更简单
  6. 实现的基于Oracle,MySql等常用数据库SQL操作,包含(Insert into,Delete,Update,Query)和执行"存储过程"操作等
  7. 实现了基于Oracle,MySql等常用数据库数据检查功能,获取数据库字段值,保存到本地缓存,然后进行比对效验,需使用正则表达式
  8. 实现了快速获取界面信息数据到本地缓存功能,获取当前界面上的数据,保存到本地缓存,可用作测试用例参数使用,需使用正则表达式
  9. 实现了常用API接口请求操作,包含(POST,GET)等,可直接在测试脚本中调用,只需传递对应参数即可,满足多种测试需求
  10. 实现了基于ExtentReports,TestNG生成的测试报告二次美化功能,界面更美观,内容清晰
### 环境配置:
  [JDK1.7以上](http://www.Oracle.com/technetwork/Java/javase/downloads/index.html)
  [Eclipse](http://www.eclipse.org/downloads)/[IDEA](https://www.jetbrains.com/idea/)
  [Android SDK](http://www.androiddevtools.cn)
  [Selenium](https://www.seleniumhq.org/download)
  [Appium](https://pan.baidu.com/s/1FasYQ