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 ...
随机推荐
- 在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现
最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一.使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行:(个人感觉PHP ...
- 操他妈的,jquery1.4以上不能用toggle()轮流切换函数
query 1.9里面已经删除了toggle(fn1, fn2)函数 (2013-05-07 13:44:27) 转载▼ 标签: it 分类: js jquery 1.9里面已经删除了toggle(f ...
- labview如何生成可执行文件
labview生成可执行文件可以分为两种情况. 第一种,是电脑中有labview软件开发环境的情况 第二种,是电脑中没有安装labview软件开发环境 下面是一个简单的labview代码: 程序解释: ...
- 【BZOJ】1013 [JSOI2008]球形空间产生器sphere(高斯消元)
题目 传送门:QWQ 分析 高斯消元就是个大暴力.... 代码 #include <bits/stdc++.h> using namespace std; ; ; int n; doubl ...
- Oracle内存详解之二 Library cache 库缓冲-转载
Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedu ...
- solr查询空值、null、不存在的字段的方法
正常情况下我们都是按有值的方式去搜索,但是有时候有一些字段为null,solr中就没有存储进去,我们怎么获取这个字段不存在为条件的搜索结果了,我们只需要在搜索字段前加上负号,如下图 摘要: Solr的 ...
- 经典算法 BFPRT算法详解
内容: 1.原始问题 => O(N*logN) 2.BFPRT算法 => O(N) 1.原始问题 问题描述:给你一个整型数组,返回其中第K小的数 普通解法: 这道题可以利用 ...
- OpenACC 梯度下降法求解线性方程的优化
▶ 书上第二章,用一系列步骤优化梯度下降法解线性方程组.才发现 PGI community 编译器不支持 Windows 下的 C++ 编译(有 pgCC 命令但是不支持 .cpp 文件,要专业版才支 ...
- 0_Simple__simpleStreams
对比使用单流和多流(4条)情况下数据拷贝,以及数据拷贝加内核调用的效率差别.▶ 源代码 #include <stdio.h> #include <cuda_runtime.h> ...
- PY3 周总结 第一周
1. Python的三大特点是什么? 答:解释型.动态类型(运行期间才做数据类型检查).强类型定义(一个变量只能存储一种类型的数据).[See More] 2. 应该使用Python2 还是 Pyth ...