• selendroid项目实战教程1


    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')

  • 相关阅读:
    IE9以下程序开发不兼容项目罗列
    Flutter编程:Flutter命令行的学习
    Git merge 和 rebase 进一步比较
    Git merge rebase cherry-pick 以及 游离commit 的测试
    C++指针传递和引用传递的区别 (转载整理)
    git 填坑之 git 暂存区忽略文件
    小众软件:Windows 下优化软件推荐—— Dism++ | 强迫症晚期患者福音
    pip 安装库的时候使用豆瓣镜像 提升效率
    gitignore 忽略某文件夹下 非某后缀名的文件
    小众软件:画简洁风格的原型图
  • 原文地址:https://www.cnblogs.com/nemolmt/p/6206811.html
Copyright © 2020-2023  润新知