selendroid是国内使用非常少的框架、资料也少。刚好公司项目用到,给大家分享下,技术不太行,有错误还望指正。

使用selendroid契机,是公司开发的APP,需要大量捕捉Toast信息。公司的自动化平台已经很成熟,并且WEB自动化已经使用ruby watir-Webdriver。

因此为了加入公司自动化平台,使用ruby是最快的方式,但是资料少这是很头疼的事情。

使用APPIUM的时候发现指令在移动端执行的速度很慢,而在使用selendroid之后惊喜的发现配置速度很快,快要赶上webdriver的速度了。

特别说明:并非高版本(API>16)就不能使用selendroid作为自动化测试框架,实测API 21也是可以使用selendroid

原始参考资料:http://selendroid.io/

纯selendroid环境搭建

具体可参考网站资料,java -jar XXXXXx.jar -app test.apk 即可开启selendroid服务器。

Appium-selendroid环境:

但作为项目实施 建议使用appium的selendroid模式。

好处:

1、appium已经加入selendroid作为一个启动模式,日志管理、BUG定位环境搭建等都比较成熟。

2、纯selendroid直接使用selenium库作为驱动,很多辅助动能需要自己去实现,例如中文输入、unicode输入等。这些移动端测试能考虑的事情,appium团队事实上已经帮忙考虑了。

3、启动appium与默认appium模式并无区别,使用GUI开启或者 node appium.js即可。

具体的APPIUM环境搭建不在赘述,大家可以参考网上很多的教程应该都不难。

ruby初始化:

贴入代码:

# encoding utf-8
require 'watir-webdriver'
require 'appium_lib'
_caps={caps:{ app:'E:/APP/app-debug_3.1.3.876.apk',unicodeKeyboard:'True',resetKeyboard:'True',platformVersion:'5.0',automationName:'Selendroid',udid:'LGD857cfd6ea69',deviceName:'1', platformName:'Android', appActivity:'.activity.Anew.Splash.SplashActivity', appPackage:'com.tenda.router.app',newCommandTimeout:3600},appium_lib: { sauce_username: nil, sauce_access_key: nil } }
$b= Appium::Driver.new(_caps).start_driver

事实上与APPIUM初始化并无太多区别:

1、APP路径必须有,因为每次初始化都要重新安装APP。(大家不用担心APP安装会很麻烦,命令安装时间很短)

2、UID必须有 就是appium的devices name参数。

关于selendroid元素定位:

可以使用sdk里面的uiautomatorviewer工具进行定位获取ID等信息,其他用不到的可以参考selendroid官方网站的地位方式。

注意:uiautomatorviewer获取ID时需要去掉前面的Package名称/ 后面的才是selendroid的ID,否则定位不到。

并且selendroid虽然直接使用appium类,但是需要使用selennium的语法,因此使用appium的定位语句语法会报错。

我用到最多的就是

按照全词匹配查找:driver.find_element(:link_text,'Blog')

按照text的部分进行查找:driver.find_element(:partial_link_text,'Blo')

selendroid项目实战教程1的更多相关文章

  1. Python NLP完整项目实战教程(1)

    一.前言 打算写一个系列的关于自然语言处理技术的文章<Python NLP完整项目实战>,本文算是系列文章的起始篇,为了能够有效集合实际应用场景,避免为了学习而学习,考虑结合一个具体的项目 ...

  2. selendroid项目实战3 selendroid driver初始化失败问题

    小米4/LG手机作为测试用机,随着测试时间变长,driver初始化失败率越来越高. 分析: 1.手机原因: 从小米换到LG,刚开始问题确实减少了,但是时间一长,又出现类似问题,提示Connect re ...

  3. selendroid项目实战2--ruby下的TOAST定位

    网上很多 python/java捕获toast的方法,但ruby的简直没见过. selendroid客户端是基于selenium,而不一定需要appium,所以很多selenium的方法可以直接使用, ...

  4. Python框架 Flask 项目实战教程

    本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走.下载源码,运行pip install -r requirements.txt 建立环境python db_ ...

  5. [转]ionic3项目实战教程三(创建provider、http请求、图文列表、滑动列表)

    本文转自:https://blog.csdn.net/lyt_angularjs/article/details/81145468 版权声明:本文为博主原创文章,转载请注明出处.谢谢! https:/ ...

  6. Java支付项目实战教程,包括支付宝,微信等支付方式,不看亏!

    须知:视频来源网络,侵权请联系删除! 获取方式 扫描下面二维码回复:1024

  7. Node+Express+MongoDB + Socket.io搭建实时聊天应用实战教程(二)--node解析与环境搭建

    前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战.写教程一方面在自己写的过程中需要考虑更多的东西,另一方面希望能对node入门者有 ...

  8. PokemonGo-LBS AR项目实战

    <Pokemon GO>在2016年发布,立即成为一款现象级手游,时至今日也是最成功的AR游戏!<Pokemon GO>目前仍旧吸引全球范围内大批玩家入驻,而这也使得该款游戏创 ...

  9. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

随机推荐

  1. BZOJ3230: 相似子串

    3230: 相似子串 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 913  Solved: 223[Submit][Status]Descripti ...

  2. apache开源项目--ibatis

    iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目.最初侧重于密码软件的开发,现在是一个基于Java的持久层框架.i ...

  3. 从零开始学习jQuery (六) AJAX快餐

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...

  4. c#打印机设置,取得打印机列表及相应打印机的所有纸张格式

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. 通过DeveloperApi获取spark程序执行进度及异常

    在应用spark时,经常要获取任务的执行进度,可以参照jobProgressListener的设计来完成该功能. 以下代码仅供参考,欢迎交流. 效果显示: 代码: package org.apache ...

  6. HW2.18

    public class Solution { public static void main(String[] args) { System.out.println("a" + ...

  7. SpringTest 使用说明 -构建无污染纯绿色事务测试框架 (记录用)

    @ContextConfiguration({"classpath:applicationContext.xml","classpath:spring/buyer/app ...

  8. HTTP/2 常见问题回答

    常见问题 为什么修订HTTP? HTTP/1.1已经很好的服务Web超过15个年头,但它的劣势开始显现. 载入一个Web页面比之前占用更多的资源(详情可见HTTP压缩页大小统计),有效的载入这些资源很 ...

  9. SecureCRTPortable的安装和使用

    玩玩这个远程连接软件,是个绿色软件. 别人已经做好了的. 解压之后, 下面,软件展示下, 这会默认去打开, 为了,方便,使用,放到桌面,作为快捷方式 成功

  10. 整理收藏一份PHP高级工程师的笔试题

    整理了一份PHP高级工程师的笔试题,问题很全面.嗯,基本上这些题都答得不错,那么你应该可以胜任大部分互联网企业的PHP职位了.下面直接上题. 1. 基本知识点 HTTP协议中几个状态码的含义:503, ...