mac搭建stf设备集群管理平台

454 阅读3分钟

这是我参与8月更文挑战的第31天,活动详情查看:8月更文挑战

我们在日常的测试中,我们会遇到多种设备管理,那么我们可以基于stf搭建一个设备管理集群,我们去看下怎么去搭建这个环境呢,其实在mac上面是很简单的,直接使用命令安装。

安装依赖

brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config stf需要依赖 node v8.9.1   npm 6.0.0 注意下版本,因为 node版本和npm版本搭配不好,可能会让stf搭建遇到bug,所以在安装前确定下,我这边遇到的是这样的。因为版本不一样的,会遇到安装不上的情况,所以在安装的时候,确定下node  npm 版本。

npm install stf

    安装完毕,启动下

rethinkdb 启动rethinkdb
stf local 启动stf

启动后访问http://localhost:7100/

image.png 然后需要登录和验证, 这里输入名字和email即可。

image.png 这里我已经链接到了我本地的一个手机, 登录后就是这台设备,那么我们点击这个设备,可以进行操作

image.png 这样就可以链接到我们的本地的手机,进行操作了,和实际的操作是一个的,那么我们可以进行一些操作。

    我们需要在远程通过api去链接设备,那么我们看看怎么远程通过api接口操作。

        首先在stf 设置模块,添加一个key。

        然后拿到申请到key的token 就可以远程链接。

curl -H "Authorization: Bearer 6056e152ca7f4d3e877f978d3adfbbf5bca3ffa6edbb41499171933b663d2751" http://localhost:7100/api/v1/devices

这样就能返回来了,我们远程的的stf上面所有的设备。我们可以在终端去查看。

image.png 这样就可以返回来来所有的设备的所有信息。我们拿到这个信息,可以通过远程去获取我们设备的详细信息。

curl -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a73a37xxxxxxxxxxxxb" http://localhost:7100/api/v1/devices/c70dacf1 

获取设备的信息后,我们根据设备信息,获取设备的是否使用,远程申请这个设备使用。

申请设备

curl -X POST --header "Content-Type: application/json" --data '{"serial":"c70dacf1"}' -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a73xxxxxxxxxxxxx" http://localhost:7100/api/v1/user/devices

申请好后,我们就可以使用了。

我们可以使用获取设备的链接地址。

curl -X POST -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a7xxxxxxxxxxxxxxxx" http://localhost:7100/api/v1/user/devices/c70dacf1/remoteConnect

这样我们就可以使用设备了远程。

使用这个设备后,可以远程进行归还设备。

curl -X DELETE -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a7xxxxxxxxxxxx" http://localhost:7100/api/v1/user/devices/c70dacf1

其实在工作中,我们是要结合appium 进行使用的,那么可能会遇到这样的问题,我们怎么链接远程的设备呢,我使用的是

adb connect localhost:7401

我们就可以用

   adb   devices  查看设备链接。

最后,我们可以通过这样,进行设备测试。测试完毕归还设备。整个流程应该是  :

获取stf设备列表 -->申请设备-->远程链接-->组织测试用例-->执行测试用例-->生成测试报告-->归还设备。

    后续在实际的工作中还是要贴近实际的使用呢,比如,现在的stf的用户名验证是单独的,后续要定制成内部的,打通其他用户的认证机制。

        后续的实际使用中,还会继续分享使用心得。