Sonic云真机直接获取POCO控件实战
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sonic云真机直接获取POCO控件实战相关的知识,希望对你有一定的参考价值。
参考技术A Sonic官网用户交流社区
目前已支持POCO-SDK的所有游戏引擎(Unity3d、Cocos2dx系列、白鹭、UE4),使用前需游戏已接入SDK。v1.4.0-beta更新后就可以使用啦~ (预计五一后更新)
Poco 是一个基于 UI 控件搜索的跨引擎自动化测试框架。支持主流游戏引擎:Cocos2d-x、Unity3d、安卓原生应用
https://poco-chinese.readthedocs.io/en/latest/
以往获取poco控件更多是使用Airtest框架的python client或者Airtest IDE去获取,但是Sonic是Java为后端主要开发语言,仅获取控件而引入python环境就显得浪费,于是尝试从SDK层面去寻找答案。 SDK github
以Unity3d为例:
PocoManager.cs
我们从这个文件可以看到SDK暴露的TCPServer是RPC协议,暴露的方法有:
很明显,Dump方法就是我们需要的。
话不多说,服务端开搞。
从这里得知,TCPServer是获取这个请求体,然后根据method字段映射到不同方法。
返回时的id便是请求的id一一对应,然后result就是对应方法的返回内容,我们需要的信息就在这里面提取。
我们从这里得知 TcpServer.cs
无论是发消息或是收消息,都是将消息体的长度作为head先发送一次,再发送请求体。收消息时同理。
Sonic通信如下:
那么总结一下,其实通信过程没有想象复杂。
POCO是用户呼声很高的一个需求,目前功能只是获取游戏控件,后续会利用POCO做更多游戏自动化上的工作。也感谢大家一直关注Sonic。
Sonic开源的云真机测试平台搭建记录
前言
本文记录win10环境下搭建Sonic过程及遇到问题。
一、Sonic是什么?
Sonic,一站式开源分布式集群云真机测试平台,致力服务于中小企业的客户端UI测试。
二、搭建过程
1.Docker安装
win10系统安装Docker比较简单,在官网下载一个Docker Desktop进行安装即可,然后打开cmd执行查看版本命令,最后双击启动Docker在Windows任务栏可以看到一个鲸鱼图标。
docker version
2.Sonic后端部署
Sonic官网给出了部署文档,我们安装步骤进行操作。这里需要有安装git、mysql环境,去官网下载安装即可
2.1创建数据库
数据库名:sonic,字符集为utf8,排序规则为utf8_general_ci
2.2 下载后端配置
进入任意目录(我这里是D:/soft),打开git工具,执行下面指令,配置就下载好了。
git clone https://github.com/SonicCloudOrg/sonic-server-config-yml.git
进入目录,然后修改config文件夹中yml文件的localhost与MySql配置,主线修改图中三个文件,jdbc-prod.yml注意填好自己的电脑IP,数据库名、账号密码,其他两个文件把localhost改成IP
2.3 构建镜像
先下载最新版本docker-compose.yml文件复制到刚才的目录下,再新建logs、keepFiles、imageFiles、recordFiles、packageFiles五个文件夹
然后打开cmd,执行构建镜像指令,第一次启动只有eureka、bus启动,为正常现象,等待eureka和bus启动完全完毕(约1~2分钟)
docker-compose up -d
再次执行,等待部署完毕。
docker-compose up -d
3.Sonic前端部署
在刚的cmd窗口继续执行下面指令(目前最新版本v1.3.0-beta1.1),我这里执行了2次才拉取完。
docker pull sonicorg/sonic-client-web:v1.3.0-beta1.1
创建运行一个容器,SONIC_API_HOST为Sonic后端服务host地址,SONIC_API_PORT为Sonic后端服务端口。
docker run --name sonic-client-web -d -p 3000:80 -e SONIC_API_HOST=10.10.160.50 -e SONIC_API_PORT=8094 sonicorg/sonic-client-web:v1.3.0-beta1.1
执行后可以看到一串字符,这个是容器 ID
然后浏览器访问http://localhost:3000
4.Docker管理
双击任务栏的鲸鱼图标打开docker界面就可以看到创建的容器,这里可以进行启动、停止、重启、删除容器的操作,点进去可以查看运行日志、容器状态信息。
总结
win10下使用docker部署Sonic的前后端还是十分的简单方便,后面体验一下平台功能。
以上是关于Sonic云真机直接获取POCO控件实战的主要内容,如果未能解决你的问题,请参考以下文章
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行图像相似度定位公共步骤公共参数测试套件等