米乐M6

行业新闻

基于Cuke米乐M6 M6米乐Test实现App多设备测试

  随着app的不断迭代更新,需要适配的移动端设备也越来越多。日常实践中,很多同学编写大量自动化测试用例后,在本地运行这些用例时遇到了困难。比如:现有工具不支持多台设备批量运行测试脚本;批量运行脚本后不能一键生成汇总报告等。

  这里分享一种测试多台手机的方法,同时连接多台设备运行,全部运行结束后会得到一份整体测试报告,报告中会列出每台测试的设备名称、运行截图等。

  准备Android手机或者模拟器,安装好测试应用。(测试应用可以从此处下载)

  Android设备打开开发者选项,允许开发者调试,并通过数据线连接至电脑,或与电脑连入同一局域网

  在电脑中使用adb工具,通过有线或无线的方式连接上Android测试设备,连接完成后在命令行中执行,获取连接设备的序列号信息。

  基于上面获取的信息,按下面的字段准备我们的设备配置文件。其中是adb工具获取到的设备序列号,是设备上的Android系统版本,是appium server的运行端口,是Android设备与Appium通信的端口。

  由于要在多个设备中运行相同的场景,并分别记录每个设备的运行情况,所以我们的场景类型选择场景大纲。场景大纲是用数据驱动运行场景的一种方式,每次使用不同的参数,详见场景大纲(Scenario Outline)。

  编辑测试用例时可以点击剧本区域右上角将 CukeTest 切换到文本界面,直接将如下代码复制进去。其中,数据文件是我们在上一步中创建的设备配置文件。

  接着添加方法,用于读取设备配置文件,这里读取到的信息会作为appium的启动参数,以及webdriverio的连接参数。

  最后修改方法,项目模板中的createDriver只能连接一个已启动的appium server,然而在多设备场景中,设备数是不确定的,每次测试前手动根据设备信息取启动appium server会比较麻烦,所以我们要将它改造为自动启动appium server,并自动完成webdriverio连接。

  hook.js在这个项目中有2个作用,一是测试环境准备,二是测试环境清理。在中启动appium server并完成连接,在中关闭已启动的appium server和连接。

  点击运行项目按钮,可以看到已连接的几台Android设备依次自动化运行。

  运行完成后,CukeTest会自动生成并打开测试报告。在测试报告中可以看到3条场景信息,分别来自3台测试设备。点开其中一个场景,可以看到这个场景中测试设备的型号、运行结果以及生成的截图。

  本次使用了CukeTest + Appium 完成了Android平台的自动化,使用自动化测试开发工具CukeTest开发自动化项目有如下好处:

  工具本身跨平台,无论是在Windows、Linux还是Mac上都能获得一致的开发体验;

  CukeTest 提供的开发环境能方便的管理测试用例和测试数据,同时提供可视化的运行结果报告、运行视频等。

  兼容Node.JS的库,可以在项目中安装和使用NPM提供的第三方库来引入更多功能提高开发效率。

  CukeTest作为一款全平台的自动化测试集成开发工具,致力于为广大APP开发者们提供一站式的自动化测试开发体验。用户通过CukeTest可以直连手机,快速生成、调试、管理和运行自动化测试脚本,并一键得到测试报告。米乐M6 M6米乐米乐M6 M6米乐米乐M6 M6米乐米乐M6 M6米乐