Appium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Appium原理初步(第七讲)
本期关键词:
Appium、跨语言跨平台、Bootstrap
主要讲解内容及笔记:
一、what is appium
一种封装了uiautomator、或者其他测试框架的自动化测试框架,跨平台(支持linux、mac、windows)、跨语言(几乎所有的我知道的语言都支持,像什么java、objecet c、脚本语言python、ruby等)
二、the demo
从demo看怎么写自动化test case,包括一个setup方法,一个teardown方法,然后就是testcase了
其中setup方法中需要设置一系列参数,包括app的文件目录File appDir,app的文件名称File app;是做android的测试,设置“device” “android”属性,设置包名、main activity的名称(sdk下面的一个工具,aapt dump badging +apk文件)就可以得到包名和activity的名称
最后最重要的是一个driver的对象,后面编写用户会用到这个driver,调用driver.xxx的方法进行编写测试case
这个driver = new SwipeableWebdriver(new URL("http://127.0.0.1:4723/wd/hub"), capablities);
需要这个driver与server进行通信,然后这个server再通过bootstrap与手机端进行通信(中间隔了两层,比较厚,接触可能不太好,所以容易出现一些问题)
具体原理图:

三、the framework and the analysis of source code
1、UiWatchers——作用:监听ANR(app not response)或crashes,然后打印日志出来
2、BootStrap——socket服务对象,就是封装了Uiautomator,然后通过“4723”的端口进行通信
3、AndroidElement——这个就是获取控件的class
4、Click——继承自handler,对UI上的异步线程的操作都会用到handler类,获取到控件之后,不像robotium把控件放到一个arraylist里面,而是直接进行执行(具体操作由Uiautomator来完成)
5、Strategy——8种获取控件的方法
6、driver——linux、mac、以及windows上的driver都没有开源(这是核心)
四、appium极限(与其他产品对比,可以做IOS的自动化测试,没有之一)
appium支持IOS,android和mobile web
robotium支持android以及mobile web
Uiautomator支持anroid和坐标点的mobile web
这几个是目前主流的,多学多看,加油!
|
金阳光测试 |
新浪微博:金阳光woody |
|
网站地址 |
1、百度搜:金阳光测试 2、官网:www.goldensunshine.cc |
|
微信公众号 |
|
Appium原理初步--Android自动化测试学习历程的更多相关文章
- Selenium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊 ...
- Robotium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Robotium原理初步(第四讲) 主要讲解内容与笔记: 一.基于控件 1.spinner——下拉菜单 2.TabHost——左右滑动选择菜单,类似电话本 3.Gallery—— ...
- MonkeyRunner原理初步--Android自动化测试学习历程
章节:自动化基础篇——MonkeyRunner原理初步 主要讲解内容及笔记: 一.理论知识和脚本演示 最佳方式是上官网文档去查看monkeyrunner的介绍,官网上不去,就找了一个本地的androi ...
- AndroidDriver原理初步--Android自动化测试学习历程
章节:自动化基础篇——AndroidDriver原理初步(第六讲) 主要讲解内容及笔记: 一.AndroidDriver核心原理 对上图的解析: PC端的端口通过adb,将android版的Remot ...
- Monkey原理初步和改良优化--Android自动化测试学习历程
章节:自动化基础篇——Monkey原理初步和改良优化(第三讲) 主要讲解内容与笔记: 一.理论知识: 直接看文档,来了解monkey的概念.基本原理,以及如何使用. First,what is And ...
- 百度Cafe原理--Android自动化测试学习历程
主要讲解内容及笔记: 一.Cafe原理 Cafe是一款自动化测试框架,解决问题:跨进程测试.快速深度测试 官网:http://baiduqa.github.io/Cafe/ Cafe provides ...
- 截图原理(二)——android自动化测试学习历程
接上一篇(截图原理) 视频地址:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=87 ...
- 截图原理(一)——Android自动化测试学习历程
把两节的内容汇总起来,第一节讲的是如何在apk中直接进行截屏,用到了Robotium的Solo类的takeScreenShot方法,有一个小的demo,以及从方法一直往里钻,知道它具体是怎么进行截屏的 ...
- Instrumentation类——Android自动化测试学习历程
这里需要把Instrumentation类的视频的上.中.下三集一起看,把内容总结一下... 视频地址: http://study.163.com/course/courseLearn.htm?cou ...
随机推荐
- python 正则表达式的处理
1.基本用法 #!/usr/bin/env python # coding=utf-8 import re # example 1 text ="fjsk test\t fjskd bar\ ...
- Tcprstat测试mysql响应时间
Tcprstat测试mysql响应时间 一.tcprstat工具安装与使用 tcprstat 是一个基于 pcap 提取 TCP 应答时间信息的工具,通过监控网络传输来统计分析请求的响应时间. 使用方 ...
- 原生态的javascript的n种技巧(我从别人的博客中拷贝过来的,方便以后查阅)
1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\x ...
- CCKS 2018 | 最佳论文:南京大学提出DSKG,将多层RNN用于知识图谱补全
作者:Lingbing Guo.Qingheng Zhang.Weiyi Ge.Wei Hu.Yuzhong Qu 2018 年 8 月 14-17 日,主题为「知识计算与语言理解」的 2018 全国 ...
- mysql 更新(九) pymysql模块的使用
16-pymysql模块的使用 本节重点: pymysql的下载和使用 execute()之sql注入 增.删.改:conn.commit() 查:fetchone.fetchmany.fetch ...
- navicate for mysql mac 含注册机 亲测可用
百度网盘:https://pan.baidu.com/s/1hrXnRes
- python应用之爬虫实战1 爬虫基本原理
知识内容: 1.爬虫是什么 2.爬虫的基本流程 3.request和response 4.python爬虫工具 参考:http://www.cnblogs.com/linhaifeng/article ...
- 动态html处理和及其图像识别
爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider) 之间恢宏壮阔的斗争... Day 1 小莫想要某站上所有的电影,写了标准的爬虫(基于HttpCli ...
- 36. CentOS-6.3安装Mysql集群
安装要求 安装环境:CentOS-6.3安装方式:源码编译安装 软件名称:mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz下载地址:http://mysql ...
- HTML5 通过文件输入框读取文件为base64文件, 并借助canvas压缩 FileReader, files, drawImage
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
