自动化工具之SelendroidRobotium
1、Selendroid的原理是什么?
Selendroid是基于Instrumentation封装后的一个自动化测试框架,它的所有自动化指令采用的是通过Http协议传输过来的。
图解:从右侧开始看,首先由虚线框起来内容,下面有一个“Android Device”标识意思是虚线内部所有的东西都在Android Device的手机里,在Android手机里面从图的下部往上看,黄色背景部分写着“App under Test”就是被测试的应用程序,红色背景部分写着“Android Instrumentation Framework”说明被测试的程序被测到其实是使用Instrumentation测试框架,上层“Selendroid Server” Selendroid其实就是基于Instrumentation做的一次封装,封装之后这个服务叫做“Selendroid Server”,“Selendroid Server”在接收到各种自动化指令之后它会转换成Instrumentation对应的一些方法,然后再调用被测试App进行测试。“Selendroid Server”和外面的控制端是通过HTTP协议来进行控制。
接着看中间部分,红色背景部分标识的是“Android SDK”,上面部分绿色框里面底部写着“Selendroid-standalone”这个就是一个大的控制程序,里面有两部分内容“Selendroid Standalone Driver”和“Http Server”,所有的自动化指令都会由“Selendroid Standalone Driver”转发到手机里面的“Selendroid Server”,然后由“Selendroid Server”控制Instrumentation框架,Instrumentation框架进而去控制被测试的App,实现这样一个自动化测试过程。“Http Server”主要负责接受各种自动化脚本的指令,各种自动化脚本的指令是通过“JSON wire protocol” JSON的无线协议与“Http Server”进行通信传到“Selendroid Standalone Driver”。
最外层写自动化脚本的时候用到的是WebDriverClient,这个就是脚本实现过程中所依赖的类库。
Selendroid四大组件:
Selendroid Client:Webdriver + 移动特性的实现
Selendroid Server:一个Instrumentation APK
AndroidDriver-App:一个WebViewActivity,即浏览器
Selendroid-Standalone:大总管,负责准备环境
2、Robotium的原理是什么?
基于Instrumentation进行封装,实现的Android测试框架
封装了一个Solo类库,提供自动化测试API
由于是基于Instrumentation,测试时需要源码
自动化工具之SelendroidRobotium相关推荐
- python 自动化办公 案例_python自动化工具之pywinauto实例详解
python自动化工具之pywinauto实例详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python自动化工具之pywinauto实例详解.txt ] (友情提示: ...
- 推荐一个工作流自动化工具
以下文章来源方志朋的博客,回复"666"获面试宝典 今天,要和大家分享一个"开源"工作流自动化工具--n8n ,简单来说,它是一个与其他应用程序集成的应用程序, ...
- 前端自动化工具 grunt 插件 uglify 的简单使用(一)
Grunt 的简介: Grunt 是一套前端自动化工具,是一个基于 node.js 的命令行工具,它一般用于: 1.压缩文件: 2.合并文件: 3.简单的语法检测: 4.监听文件变动: 5.less ...
- 在 CentOS 7 中安装并使用自动化工具 Ansible
Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端.它使用SSH来和节点进 ...
- python 网页自动处理_推荐一款 10 行 Python 代码实现网页自动化工具
各种各样的网站在我们日常工作和学习中占据着举足轻重的地位,学习.影音娱乐.查询资料.协同办公,越来越多的任务都被迁移到浏览器 因此,网页也蕴含着很多有价值.我们能够用得到的资源 例如,数据.歌曲.影视 ...
- gulp前端自动化工具的快速入门案例
最近项目和工作中要开始使用自动化工具了,回想一下以前接触这个的时候就是什么nodejs,grunt之类的了,这次干脆就用一个新的,那么就是gulp... 全局下利用npm安装gulp sudo npm ...
- android开发获取应用本身耗电量_别找了,Android常用自动化工具全在这儿了!
Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google ...
- 自动化工具之二:win32gui
自动化工具win32gui 一.下载安装win32gui 二.Win32gui的使用 1.查找窗体句柄 我们知道的所有空间其实就是窗体,所有的窗口都有一个独立的句柄,要操作任意一个窗体,你都需要找到这 ...
- SOAR SQL进行优化和改写的自动化工具
前言 SQL优化是程序开发中经常遇到的问题,尤其是在程序规模不断扩大的时候.SQL的好坏不仅制约着程序的规模,影响着用户的体验,甚至威胁着信息的安全. 我们经常听到说哪家平台挂了,哪家网站被黑了,但我 ...
最新文章
- bartender外部表不是预期格式_批量合并Excel数据时“外部表不是预期格式”或“文件包含损坏数据”的两种情况...
- 二级路由dhcp关闭连不上wifi_酒店网络故障:原来还与DHCP服务器有关
- BOOST_SCOPE_EXIT_TPL宏相关的测试程序
- tonardo做web服务器播放大视频内存泄露问题的解决
- 使用DynamoDBMapper查询DynamoDB项目
- 《Go语言程序设计》读书笔记(七)基于共享变量的并发
- Kafka简介与消息队列
- Compound总法律顾问:PWG的稳定币声明不是积极提议,他们的任期没几天了
- 重新认识java-break和continue的标签你用过么
- 局域网简单的SVN服务器的搭建
- DPDK学习1 -- DPDK环境搭建和测试helloword
- FTP上传文件0字节问题
- Matlab论文插图绘制模板第50期—分簇散点图(Swarmchart)
- java支付宝rsa2签名_JAVA RSA签名 解签(利用支付宝封装的函数)
- linux全局搜索文件
- Led智慧照明系统功能
- MySQL数据库项目式教程思维导图
- 基于华硕路由器官方固件搭建个人Web服务器
- Mac上的经典播放器——Elmedia Player
- 开放原子开源基金会秘书长孙文龙:要打造以开发者为本的开源服务平台
热门文章
- 大数据系统搭建(一)基础配置
- 手机上测试空气质量的软件,PM2.5指数爆表:6款PM2.5手机查询软件实时监测空气质量...
- 图灵机器人之Python实现
- cad转换器高版本转低版本怎么转?
- API网关之网关概述、技术选型
- 【STM32F429的DSP教程】第2章 Matlab R2018a的安装
- v5行为验证使用介绍(三)- 程序接入流程
- B站陈睿说:“B站也是个学习APP”!亲测还很好学
- R | 如何更新R版本及Rstudio
- Windows使用dos窗口打开应用