展开

关键词

应用宝基于Robotium(上)

为了支撑项目组的这种研发模式,侧需要在FT分支上及主干上做大量的,而其中在FT分支的rebase、合流后验证、主干灰度等等阶段还包括大量的重复性,因此有必要在这些环节加入, 框架选择如表1所示,对比了目前业界常用的几个可用于Android端的框架: 表1.Android框架对比框架RobotiumEspressoUIAutomatorAppium支持的API Robotium为一款支持黑盒也支持白盒框架,简单易用,提供了获取控件、发送点击事件、断言等等API。 因此,选择Robotium框架,不只是选择的一个框架,而是选择的一种模式,即基于Android、基于Junit的模式。 注:更多用例、报告、持续集成相关内容,请见下文《应用宝基于Robotium(下)》

70560

应用宝基于Robotium(下)

基于Robotium(上)》一文中小编介绍了框架选择、环境搭建、用例编写、跨应用处理等等内容,本文将承接上文,继续介绍报告生成、持续集成等等相关内容。 6. 工程 6.1 工程概览 使用Robotium进行工程为一个Android Junit Test工程,可以依赖被工程,与可以选择独立存在。 例如可能因为检查点判断有问题导致该用例始终通过,而一般当用例开始交付运行后,如果一直是通过的,那么往往就不会有人关注,且人员会认为该模块已经有去保障从而容易忽略基本的,所以常常无效的用例比没有更可怕 终端进行。 BVT根据不同的分支支持定时触发、分支监控及手上传三种方式触发

38470
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    腾讯TMQ在线沙龙|Robotium介绍

    Robotium介绍活时间:2016年9月29日 QQ群视频交流活介绍:TMQ在线沙龙第九期分享本次分享的主题是Robotium介绍。想知道活分享了啥吗?往下看吧! 嘉宾简介陈航特,腾讯工程师,负责Android应用宝的UI功能和接口,有丰富的UI实践经验,对Robotium有着较深入的研究,参与《腾讯Android实战》编写 7、提问:云平台的是否有用到robotium? 答:Robotium是基于Instrumentation模式的,也是应用比较广泛的一款Android端框架,一般云平台都会支持。 以腾讯优为例,就支持在云平台中支持运行Robotium形式的用例。

    46550

    基于 Robotium 工程从 Eclipse 迁移至 Android Studio

    ,但由于多年的Eclipse使用习惯及项目中的其他原因,工程仍然使用Eclipse中进行开发与维护。 在适配Android7.0版本时,发现Eclipse已无法很好支持用例的编写与调,故迁移至Android Studio已成必然。 本文记录介绍在Eclipse上的基于Robotium工程如何迁移至Android Studio,如何配置项目,及如何基于gradle持续构建工程。 四、调整工程 Android Studio是将被工程与工程放一起的,而我们这个基于Robotium不想依赖源码。 获取更多干货,请搜索微信公众号:腾讯移品质中心TMQ!

    38000

    Android App基本流程和思路(一)

    来源:https:www.testwo.comAPP的有多重要,我就不赘述了,今天我们先来聊一聊Android App的基本流程和思路。 就是实现机器完成需求的关键点的一系列操作,并且在脚本的实际运行中添加需要的业务逻辑判断,实现。根据脚本的具体实现,整理出打开文件流程图。2、方案选择选择对应的框架。 框架,是在实际项目中总结出来的且基本能运行的通用基础框架原型,它包括三个核心部分:一是操作控件模拟用户端事件,找到相应的元素属性,二是脚本中的结果如何判断,三是结果报告的输出与展示。 框架可以通过这些信息得到控件对象,并对控件对象执行一系列事件操作像Robotium、UIAutomater等,这个阶段理解为作执行。 对于有跨应用App的控件操作会受到Android进程安全限制,这对于跨应用的操作是一个难点,像Robotium就无法调用系统的一些INPUT事件完成跨应用的控件操作(其实Robotium从Android

    35460

    一种 Android 端 Web 多进程情况下支持 Web 的方法

    作者:陈航特 团队:腾讯移品质中心TMQ 从2016年开始,应用宝的主体工程就开始往多进程方向发展,至7.0版本发布时主工程已完成多进程改造,而彼时应用宝的子进程基本不涉及UI,框架采用Robotium +UiAutomator2.0的方式,Robotium基于Instrumentation注入主要负责单个APP内的,UiAutomator2.0支持跨应用的,因此彼时应用宝的多进程改造并没有影响到 BVT。 应用宝Web多进程后,就暴露了目前业界主流框架的不足,Robotium支持Web但仅限于注入单一进程,UiAutomator2.0支持跨进程但却不支持Web,其它的支持Web的框架例如 一、Android端Web原理简介 Android端支持Web框架如Robotium、Selendroid、Espresso等等在原理上基本类似,都是采用Instrumentation

    76000

    是,把人对软件的行为转为由机器执行行为的一种实践。 的优势可以替代大量的手工机械重复性操作,工程师可以把更多的时间花在更全面的用例设计和新功能的上;可以大幅提升回归的效率,非常适合敏捷开发过程;可以更好地利用无人值守时间 的范畴包括但不限于环境的搭建和管理环境的检查,监控和报警代码的编译和构建代码的静态检查和报警用例的分发和执行结果的保存与管理报告的生成优先级的建议的目标错误的预期 1.不清楚的目标,以及为达到目标所计划的投入2.对抱有不切实际的幻想型期望,认为能够干很多活同时省很多钱的第一目标从来都不是节省的人力成本。 验收点窄深度深,需要准备时间长,效果相对一般,工业高兼容性,接口,单元,线上监控,性能,稳定性,回归当前的实践从的范畴来看一下我们当前的状态环境的搭建和管理问题

    33960

    开发了那么多年,还从来没有让己的代码跑过,一般项目也不会去使用,毕竟编写用例代码所花费的时间比开发还要多很多。今天只是了解一些的几个概念。 所谓,就是你开发完需求,可以帮你检代码是否存在问题。 一般类或者库会去编写代码,当你对一个库扩展或者修复bug,要保证之前的代码不会因为这次的修改出现不可预的问题,所以对之前的代码要进行,保证之前的代码不会受影响。 能够通过的代码一般质量很高,出现bug的机率很低,就算出现了问题,对于定位问题和解决修复也能很快响应。整体来说对代码的维护性很有帮助。 今天只是分享的几个概念,真正编写用例是很复杂的,就我己认知中,要对项目进行单元几乎不可能,如果是对类库编写用例,还算合理。(完)

    27530

    UI、接口策略

    每种的优缺点 一、UI大家所在公司都属于互联网公司,最大的特点就是快——产品需要不停的迭代,迭代时间基本在15天左右。 UI的优点是,能够实际模拟真实用户的行为,直接验证软件的商业价值;缺点是用例的维护和执行代价很大。另外,UI的稳定性问题,是长期以来阻碍GUI发展的重要原因。 在快速迭代的情况下,页面的改可能会很频繁,而UI本身基于页面元素,前端小小的改可能需要的大大改。二、接口相比于UI,接口更稳定,更具有价值。 效率。 接口是通过数据验证请求【request】与响应【response】是否符合预期。因此,接口开发和调的效率会比ui高很多。稳定性。如果接口改,那基本属于业务重新设计。 所以接口用例执行的稳定性很高。实用性。UI验证的主要是页面显示,而接口验证的主要是数据。

    90420

    」微服务简介

    微服务的级别单元 - 这是单个微服务单元的内部工作。这些可以使用单元框架在每个编程级别。 对于单元,使用基于NUnit或JUnit的单元框架,以较少的QA参与。对于合同,QA工程师参与。此在每个服务单元中执行,通过隔离它并命中服务的单个URI。 合同中给出的函数将使用框架内的脚本集进行。集成通过合同中使用的相同工具集。 UI功能使用工具,如UFT,Selenium或任何其他基于UI的工具。在进行Micro Service Automated时,可以集成多个工具或框架。 将API工具框架和基于UI的工具框架集成在一起也是一种很好的做法。这是的未来。大多数组织使用全局混合框架,而不是维护单独的框架。如何工作?

    81810

    Java(web框架 28)

    数据地址http:120.78.128.25:8765投资人13323234545lemon123456借款人13323234444lemonbest后台地址http:120.78.128.25 www.selenium.devdocumentationenguidelines_and_recommendationspage_object_modelsPage Object 是 Selenium 项目开发实践的最佳设计模式之一 ,Page Object 的主要体现于对界面交互细节的封装,这样可以使案例更关注与业务而非界面细节,提高案例的可读性。 Page Object 设计模式的优点如下:减少代码的重复;提高用例的可读性;提高用例的可维护性,特别是针对 UI 频繁变的项目;Paget Object 使用注意:public方法代表Page = null) { return element.isDisplayed(); } return false; } } 代码package com.zhongxin.cases; import com.zhongxin.pages.IndexPage

    93841

    :差异很重要

    两种在一般尤其是连续的世界中,有两种类型:尽管似乎用两种不同的方式表达同一件事,但这些术语实际上具有截然不同的含义。 是通过(例如一组回归)进行特定的行为,而不是手进行,而是指跟踪和管理不同的过程。无论对连续都很重要,但是后者的确是更重要的。 为什么对连续至关重要要完全理解为什么对连续如此重要,必须弄清楚连续到底需要什么以及为什么会这样。连续是一种相对较新的软件方法,旨在始终确保质量。 通过跟踪和管理所有这些需求(包括不同覆盖多少系统以及覆盖所有活部件可能需要其他类型的)来减轻这种负担。 使成为现实从理论上讲,的概念非常适合在连续环境中运行的人员。但是当现实来袭时会发生什么?

    15901

    Java(web框架2 29)

    , destFile); close(driver); }} 强制类型转换driverTakesScreenshot screenshot = (TakesScreenshot) driver;在执行的时候

    13710

    :差异很重要

    两种在一般尤其是连续的世界中,有两种类型:尽管似乎用两种不同的方式表达同一件事,但这些术语实际上具有截然不同的含义。 是通过(例如一组回归)进行特定的行为,而不是手进行,而是指跟踪和管理不同的过程。无论对连续都很重要,但是后者的确是更重要的。 使成为现实从理论上讲,的概念非常适合在连续环境中运行的人员。但是当现实来袭时会发生什么? 写给所有人的编程思维成为优秀工程师的7个步骤手存在的重要原因成为的7种技能功能与非功能和手,保持平衡! 生命周期如何在DevOps引入大咖风采Tcloud 云平台--集大成者Android App 工具及知识大集合4399AT UICI与CDAndroid App常规内容

    17330

    APP框架对比

    简介移APP的UI长久以来一直是一个难点,难点在于UI的”变”, 变导致用例的大量维护。从分层的角度,应该逐层进行。 最大量实现的应该是单元,最容易实现也最容易在早期发现问题;其次是接口级,以验证逻辑为目的进行,由于接口的相对稳定,成本相对也可以接受;成本最大的便是UI级 本文通过分析几种框架的异同,使人员在选择框架时有所参考。? 由于不支持iOS设备,当同时覆盖android与iOS的情况时,会被中断。没有内置的记录和回放功能,使用记录功能需要TestDroid和Robotium Recorder这样的收费工具。 而CTS则是应用于兼容性工具,CTS大部分是基于Junit和仪表盘技术编写的。还扩展了过程,可以执行用例,收集和汇总结果。

    99420

    APP框架对比

    简介移APP的UI长久以来一直是一个难点,难点在于UI的”变”, 变导致用例的大量维护。从分层的角度,应该逐层进行。 最大量实现的应该是单元,最容易实现也最容易在早期发现问题;其次是接口级,以验证逻辑为目的进行,由于接口的相对稳定,成本相对也可以接受;成本最大的便是UI级 本文通过分析几种框架的异同,使人员在选择框架时有所参考。 ? Android框架 1. IOS上的包括注入式框架AppFramework,和基于录制的框架Athrun_IOS, InstrumentDriver。12. 而CTS则是应用于兼容性工具, CTS大部分是基于Junit和仪表盘技术编写的。还扩展了过程,可以执行用例,收集和汇总结果。

    2.2K101

    】Selenium

    文章目录理解2.0版本升级示例配置环境驱ideide只需一个实验常用类库安装验证urllib库是否安装安装requests安装selenium安装chromedriver安装FireFox WebDriver phantomJS无界面浏览器lxmlbeautifulsoup4pyquerypymysql安装flask安装Django安装Jupyter理解web应用程序工具(录制、编写、运行、并行处理 ) api 编辑 并行 ? 脚本(client)-驱-浏览器(server)-服务器 ?2.0版本升级?示例??配置环境?驱?? 版本号对应下载驱 ??保存到本地 ??火狐驱 girhub?解压缩保存 ??? >>> from selenium import webdriver>>> driver=webdriver.Chrome() DevTools listening on ws:127.0.0.1:

    24220

    appium

    一、重复执行用例 (一)、安装环境 要重复执行用例,需要先安装pytest-repeat插件 全局安装: 即安装在全局环境中,新创建的工程导入全局环境时会将该包导入,cmd输入:pip install 重复执行用例的方法有多种,比如:方法一的重复执行单条用例;方法二的重复执行每条用例;方法三的每条用例执行一次,共执行N遍。 test_one会连续执行两次,再执行test_two,即按照顺序,第一个用例执行N次,再执行下一个用例 image.png 方法二:使用命令函参数,实现重复执行所有用例 在终端传入-count ,共执行N遍,再执行下一个类 module:以模块为单位,模块中的每条用例执行一次,共执行N遍,再执行下一个模块 session:重复执行整个会话,将会话中的所有用例执行一遍,共执行N轮 将pytest的 -x 选项与pytest-repeat结合使用,可以实现在重复运行用例的过程中,用例第一次失败时就停止运行,具体实现方法如下: # 重复运行5次,运行过程中第一次失败时就停止运行

    8520

    分层

    引言----一直是领域桂冠上的明珠,几乎所有的团队都有建立团队的团队的建设也被认为是团队提效的必经之路,但搭建和使用路但路却并非一帆风顺。 分层的理念在理解分层之前,我们先看金字塔。 UI----很多团队都会建设UI,初衷大体是因为UI集成度高,覆盖前端的代码,验证完整链路的系统稳定性。 BDD框架 Espresso Android Java 有 主线正在使用espresso进行UI和模块间的接口 Instrumentation Robotium android Instrumentation UI框架。

    79462

    Java(背景与流程 27)

    背景什么是机器代替手工验证结果是否符合预期优点替代大量重复手工提升回归效率,适合敏捷开发在非工作时间执行,工作时间查看报告保证每次执行的一致性与正确性 ,避免人为错误劣势一般用于回归,项目开发初期不适合使用不能全部取代手工,只能替代手工中机械,重复度高的操作,极少能够达到100%覆盖率非常脆弱,特别是UI 工作量(框架设计+脚本开发)比单次手工大很多,当多次执行时,性价比才会凸显实施流程1.评估实施可行性想要开展,应该遵循以下几个前提条件:需求稳定, ,设计框架5.开发脚本手工用例转用例的过程6.执行本地执行:IDE调执行持续集成平台:jenkins7.分析结果用例失败了BUG脚本设计稳定性问题8. ,不能保证发现很多BUG的投入产出ROI「越高越好」(手工的成本-成本)脚本可以达到100%覆盖率吗有些用例场景无法被一些验证易用性,友好性,美观的用例不适合做有些边缘用例很少被重复执行

    42920

    相关产品

    • 自动化助手

      自动化助手

      自动化助手(TAT)是云服务器的原生运维部署工具。通过自动化助手,您无需登录服务器,也无需打开入站端口、SSH,便可以直接管理实例,批量执行 Shell 命令,轻松完成运行自动化运维脚本、轮询进程、安装或卸载软件、更新应用以及安装补丁等常见管理任务。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券