美文网首页
接上篇:腾讯优测Xtest工具使用笔记

接上篇:腾讯优测Xtest工具使用笔记

作者: Haraway | 来源:发表于2017-06-08 10:33 被阅读0次

下面是本人关于XTest的一些肤浅的分析思考:

1,既然XTest这么神奇,那么它到底是怎么工作的?

首先我查看桌面xtestserver文件属性,查看到其指向一个run.bat批处理文件,打开这个文件,看到如下命令:

run.bat

  可以看到run.bat主要干了三件事:
  1)设置java_home,android_home,path环境变量(真是辛苦腾讯的同学,连环境变量配置的步骤都为使用Xtest的同学省去了,阿门);
  2)call 当前路径下xerver文件下xteststart.bat批处理文件;
  3)暂停,等待后续操作。

下面进入xteststart.bat:

xteststart.bat

  这里设置了nodejs运行环境变量,开启了npm。
  结合控制台输出:XTestServer

image.png

大致可以看出,这一步开启了远程云主机,这个时候我们就可以通过http://localhost:3000  控制台进行操作了。

接下来我们打开\xserver\public\index.html,这个界面就是控制台的首页:

Xtext控制台的首页

这里做了些js库和组件引入的工作。

那么控制台操作入口在哪里在哪里呢?答案是angularApp.js

你问我是怎么找到的,看下面(嘿嘿,捂脸)

angularApp.js

好了,既然找到了控制台操作入口,后面的内容就按图索骥以后再慢慢分析吧。

至此,我们的理解比较肤浅,简单总结一下,XTest是怎么工作的呢?
首先,这套工具为我们配置了java、android、nodejs运行环境,并通过nodejs搭建远程云平台为我们提供后台服务支持,同时为还我们提供了可视化的后台控制界面,通过安装Xtest.apk到手机,从而实现通过http协议和远程云平台的通信。

2,作为Android开发底层工作者,到这里我就比较好奇,Xtest.apk在我们手机上到底干了些什么?
Xtest.apk

既然找到了人家的apk在哪里,下面我们就进行反编译,要是能挖到宝呢?谁知道呢?(开心)此处反编译省略省略省略,作为Android开发底层工作者,黑科技好好练练。(嘿嘿)

很不幸,人家进行了代码混淆和加密,将apk文件完全转化成了hex,这玩意怎么读怎么解(捂脸)。

image.png

那下面我们就开始猜吧:
  首先,打开Xtest app,选择待测应用,点击开始录制脚本后,神奇的打开了我们的待测应用,在应用右中贴边的位置出现悬浮按钮,点击悬浮按钮,便开始录制自动测试脚本,此处申请了悬浮按钮权限,别问我怎么知道的,请问你不申请怎么使用悬浮按钮呢。
  此时Xtest就开始记录用户的操作了,此时XTest就开始了它繁忙的录屏工作了。
  回答上一篇的第二个坑,为什么5.0以下需要root,以上不需要呢?因为使用悬浮按钮和录屏5.0以下需要root权限以上不需要啊!
接下来Xtest app的工作无非就是获取屏幕和用户输入信息,记录并上传服务器,BABALA的。

3,现在你有没有好奇,XTest自动测试脚本到底是怎么工作的呢?反正我比较好奇。
testcase code

看代码,以下是对XTest生成的testcase code的简单分析:
  tap:点击 id-tab2,text-海淘,元素树->....TextView元素;
  sleep:睡一会(延时);
  tscoll:滑动 监听到手指从x,y(646,1296)滑动到x,y(1000,523)像素点(这是一个从左下到右上的滑动操作),当前屏幕分辨率为1080x1920。

下面的内容也是连蒙带猜:

上面的testcase code跟python编写的testcase code很类似,是另一种脚本语言还是进行了封装呢?母鸡。
  获取Android屏幕信息,监听用户操作怎么做到呢?由于在xserverpublic下没有找到hierarchyviewer工具,所以我猜想XTest使用的是类似facebook stetho的hierarchyviewer工具或者对hierarchyviewer进行了一些改造。

  至此我们进行一下大致的总结了,XTest究竟干了什么,使我们自动化测试变得如此便捷可行呢?
  XTest通过提供远程云平台和可视化界面,为我们提供后台服务支持,通过Xtest app录制屏幕信息监听用户操作,使用hierarchyviewer工具获取屏幕信息,并将用户操作记录和转化为自动测试脚本,上传和保存到远程云平台,从而实现了一套完整高效便捷自动测试脚本录制和测试工作。

相关文章

  • 接上篇:腾讯优测Xtest工具使用笔记

    下面是本人关于XTest的一些肤浅的分析思考: 1,既然XTest这么神奇,那么它到底是怎么工作的? 首先我查看桌...

  • 腾讯优测Xtest工具使用笔记

    使用腾讯优测Xtest工具为APP自动化测试,可模拟多种复杂用户操作,不用编写代码,全程通过手机录制,边操作边录制...

  • 真机测试平台

    阿里MQC TestBird 腾讯WeTest 腾讯优测 Testin云测 百度MTC 贯众云

  • 【转载】【腾讯优测干货分享】Android5.0-6.0双卡适配

    转载自:【腾讯优测干货分享】Android5.0-6.0双卡适配指南原作者:腾讯优测开发工程师 于长敏 这里仅以获...

  • 真机测试平台

    腾讯 优测 腾讯优测是一个移动云测试平台,为应用、游戏、H5混合应用的研发团队提供产品质量检测与问题解决服务。不仅...

  • 关于软件测试工作的发展四象限,腾讯优测有话说哦

    关于软件测试工作的发展四象限,腾讯优测有话说哦 【象限一】开发能力: 开发测试工具、构建测试框架、质量监控体系。 ...

  • 设备分享-腾讯优测

    最近在使用腾讯优测的远程调试功能时看到了设备分享这个功能,体验一下,感觉挺实用的,想分享给大家。 该功能是自己可以...

  • JVM

    jvm内存结构/java运行时数据区 JVM调优 调优流程: 压测,可以增加代码或者使用工具,比如LoadRunn...

  • Android 主流屏幕以及适配

    Android 主流屏幕以及适配: 一、Android版本比例测试:(数据来源:腾讯优测) ![2017年1月最新...

  • 优测使用总结

    兼容性测试 测试目的:版本上线前测试、重大技术变更前Demo测试,数十款主流甄姬,帮助发现[安装失败]、[启动失败...

网友评论

      本文标题:接上篇:腾讯优测Xtest工具使用笔记

      本文链接:https://www.haomeiwen.com/subject/buezfxtx.html