/catalog/296695a3fdd74f71b4ced1996c9b6856//Document/380625301606469.html/Document/376028059926597.html/Document/374587749163077.html/Document/374252417724485.html/Document/373905092177989.html/Document/373540837523525.html/Document/373226847809605.html/Document/311601443917893.html/Document/311285189517381.html/Document/310134890274885.html/Document/309794452426821.html/Document/309507604934725.html/Document/304898482892869.html/Document/304549706600517.html/Document/304188584996933.html/Document/303818784497733.html/Document/302700517105733.html/Document/302416475320389.html/Document/302077848256581.html/Document/301288627347525.html/Document/300279638184005.html/Document/274792263872581.html/Document/273024381308997.html/Document/272683642789957.html/Document/272351623921733.html/Document/271961406242885.html/Document/271560844214341.html/Document/270477420015685.html/Document/269881559916613.html/catalog/c51244b85e704db9a2a34ca396e9fe27//Document/375674108960837.html/Document/340619525128261.html/Document/340263572500549.html/Document/337103780888645.html/Document/336726028042309.html/Document/336395351863365.html/Document/336019384291397.html/Document/334605603291205.html/Document/334264344903749.html/Document/333908786077765.html/Document/333537608929349.html/Document/332422937043013.html/Document/323979240091717.html/Document/323624591507525.html/Document/322518056206405.html/Document/322224629981253.html/Document/321870777405509.html/Document/321154810175557.html/Document/319738524639301.html/Document/319395521761349.html/Document/319038449188933.html/Document/318684198744133.html/Document/317575537291333.html/Document/316584392339525.html/Document/297463116619845.html/Document/296410729726021.html/Document/294281412902981.html/Document/289614801383493.html/Document/289336711553093.html/Document/288989717336133.html/Document/267736666357829.html

自动化测试平台实践之Jenkins和真机平台

下面跟大家分享一下,Jenkins是如何支撑我们各种各样的脚本运行环境的,以及真机平台实现的功能设计。

自动化测试平台

我们使用的是Jenkins pipeline容器化的技术。不同的Agent运行在不同的平台,比如虚拟机、Mac。pipeline 也可以配置运行环境,比如有一些是Android环境,我们在运行的时候就可以去拉取一个支撑安卓运行脚本的容器。如果是IOS的,我们可以直接指定它运行在Mac Agent机器上直接执行,不需要使用容器。如果是Java的脚本,提供的就是Java的运行环境。

再给大家介绍一下我们的真机平台。这个平台是基于atxserver2进行二次开发的,所以界面跟市面上流行的真机平台大同小异。同时为了支持更高版本的安卓平台,我们基于WS-Scrcpy做了一些重构,可以非常流畅地看到手机的实时画面,清晰度和流畅度都非常好。

真机平台

下图是我们改造后的界面。左边是手机的实时画面,同时还提供了一些快捷按钮,方便我们快速地控制设备。右边的内容跟atxserver2原始版本提供的内容基本上是一致的。

Jenkins和真机平台

这个平台我们还提供给我们公司的开发人员使用,他们可以在这个平台上借设备,方便他们去做一些兼容性方面的测试或者debug一些兼容性的问题。


在右侧我们可以看到有一个ADB远程连接,通过这种方式在开发机上执行一下,就可以把这台设备连接到开发电脑,就可以像使用真机设备一样去使用这个设备进行debug。


同时我们还集成了WEditor这个工具,这个工具可以方便我们在不搭建本地开发环境的基础上编写脚本,它的实际使用情况如下图所示。

自动化测试平台

最左边是我们真机平台上提供的一些设备,右边是一个类似于录屏的工具。中间部分可以帮助你快速定位某一个元素,在你点击到某个元素的时候可以快速显示这个元素的坐标、XPath的路径等。


中间这部分还有一行是“代码”,这里可以自动生成一个可以直接使用的脚本代码,这样就可以方便我们写自动化的脚本。如果你不方便在本机搭建环境,可以直接使用这个平台来写脚本。