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官网给出了部署文档,我们安装步骤进行操作。这里需要有安装gitmysql环境,去官网下载安装即可

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 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行图像相似度定位公共步骤公共参数测试套件等

开源云真机平台——Sonic应用实践

开源云真机平台-Sonic应用实践

Sonic开源的云真机测试平台搭建记录

Sonic 开源移动端云真机测试平台 - windows系统下的sonic快速部署演示

Sonic 开源移动端云真机测试平台 - windows系统下的sonic快速部署演示