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相关推荐

  1. python 自动化办公 案例_python自动化工具之pywinauto实例详解

    python自动化工具之pywinauto实例详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python自动化工具之pywinauto实例详解.txt ] (友情提示: ...

  2. 推荐一个工作流自动化工具

    以下文章来源方志朋的博客,回复"666"获面试宝典 今天,要和大家分享一个"开源"工作流自动化工具--n8n ,简单来说,它是一个与其他应用程序集成的应用程序, ...

  3. 前端自动化工具 grunt 插件 uglify 的简单使用(一)

    Grunt 的简介: Grunt 是一套前端自动化工具,是一个基于 node.js 的命令行工具,它一般用于: 1.压缩文件: 2.合并文件: 3.简单的语法检测: 4.监听文件变动: 5.less ...

  4. 在 CentOS 7 中安装并使用自动化工具 Ansible

    Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端.它使用SSH来和节点进 ...

  5. python 网页自动处理_推荐一款 10 行 Python 代码实现网页自动化工具

    各种各样的网站在我们日常工作和学习中占据着举足轻重的地位,学习.影音娱乐.查询资料.协同办公,越来越多的任务都被迁移到浏览器 因此,网页也蕴含着很多有价值.我们能够用得到的资源 例如,数据.歌曲.影视 ...

  6. gulp前端自动化工具的快速入门案例

    最近项目和工作中要开始使用自动化工具了,回想一下以前接触这个的时候就是什么nodejs,grunt之类的了,这次干脆就用一个新的,那么就是gulp... 全局下利用npm安装gulp sudo npm ...

  7. android开发获取应用本身耗电量_别找了,Android常用自动化工具全在这儿了!

    Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google ...

  8. 自动化工具之二:win32gui

    自动化工具win32gui 一.下载安装win32gui 二.Win32gui的使用 1.查找窗体句柄 我们知道的所有空间其实就是窗体,所有的窗口都有一个独立的句柄,要操作任意一个窗体,你都需要找到这 ...

  9. SOAR SQL进行优化和改写的自动化工具

    前言 SQL优化是程序开发中经常遇到的问题,尤其是在程序规模不断扩大的时候.SQL的好坏不仅制约着程序的规模,影响着用户的体验,甚至威胁着信息的安全. 我们经常听到说哪家平台挂了,哪家网站被黑了,但我 ...

最新文章

  1. bartender外部表不是预期格式_批量合并Excel数据时“外部表不是预期格式”或“文件包含损坏数据”的两种情况...
  2. 二级路由dhcp关闭连不上wifi_酒店网络故障:原来还与DHCP服务器有关
  3. BOOST_SCOPE_EXIT_TPL宏相关的测试程序
  4. tonardo做web服务器播放大视频内存泄露问题的解决
  5. 使用DynamoDBMapper查询DynamoDB项目
  6. 《Go语言程序设计》读书笔记(七)基于共享变量的并发
  7. Kafka简介与消息队列
  8. Compound总法律顾问:PWG的稳定币声明不是积极提议,他们的任期没几天了
  9. 重新认识java-break和continue的标签你用过么
  10. 局域网简单的SVN服务器的搭建
  11. DPDK学习1 -- DPDK环境搭建和测试helloword
  12. FTP上传文件0字节问题
  13. Matlab论文插图绘制模板第50期—分簇散点图(Swarmchart)
  14. java支付宝rsa2签名_JAVA RSA签名 解签(利用支付宝封装的函数)
  15. linux全局搜索文件
  16. Led智慧照明系统功能
  17. MySQL数据库项目式教程思维导图
  18. 基于华硕路由器官方固件搭建个人Web服务器
  19. Mac上的经典播放器——Elmedia Player
  20. 开放原子开源基金会秘书长孙文龙:要打造以开发者为本的开源服务平台

热门文章

  1. 大数据系统搭建(一)基础配置
  2. 手机上测试空气质量的软件,PM2.5指数爆表:6款PM2.5手机查询软件实时监测空气质量...
  3. 图灵机器人之Python实现
  4. cad转换器高版本转低版本怎么转?
  5. API网关之网关概述、技术选型
  6. 【STM32F429的DSP教程】第2章 Matlab R2018a的安装
  7. v5行为验证使用介绍(三)- 程序接入流程
  8. B站陈睿说:“B站也是个学习APP”!亲测还很好学
  9. R | 如何更新R版本及Rstudio
  10. Windows使用dos窗口打开应用