Sonic新生态Sonic IDE体验

news2025/1/15 6:45:43

背景

Sonic:免费开源的云真机测试平台,用心打造更好的使用体验。

之前在做APP的日常测试和UI自动化的时候,一直在使用Sonic

没有切换到平台上进行自动化测试的原因是由于现有脚本框架已经成熟,并且有很多自定义的拓展,所以Sonic的更多是一个设备管理员的角色

在Sonic的v2.5.0版本中新增了Sonic IDE,可以方便的将编码和调试过程进行结合

安装

环境

电脑是M1芯片的MAC,采用Docker的方式进行搭建

由于都在当前电脑上搭建,所以IP都是当前电脑的IP,我的当前IP为:10.10.6.163

数据库

docker run --name mymariadb --restart=always -d -v mymariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=123456 -p 4002:3306 -e MARIADB_DATABASE=sonic mariadb:latest

前后端

https://sonic-cloud.cn/deploy/back-end-deploy.html

下载sonic-server-v2.5.0并解压

修改.env文件

其中SONIC_SERVER_HOSTMYSQL_HOST修改为本机的IP

################################################
#         Do you need any help?                #
#     Visit https://sonic-cloud.cn/deploy      #
################################################

##################
# Service Config #
##################
SONIC_SERVER_HOST=10.10.6.163
SONIC_SERVER_PORT=3000
SONIC_EUREKA_USERNAME=sonic
SONIC_EUREKA_PASSWORD=sonic
SONIC_EUREKA_PORT=8761

################
# MySQL Config #
################
MYSQL_HOST=10.10.6.163
MYSQL_PORT=4002
MYSQL_DATABASE=sonic
MYSQL_USERNAME=root
MYSQL_PASSWORD=123456

...

构建

docker-compose -f docker-compose-zh.yml up -d

58a38f8f46ae109b2437257893bb0cdf.png

orbstack.dev

部署完成后登录本机IP:3000

新增一个Agent

b35ca35dce12d593f898d02e8fa5a141.png

新增Agent

Agent

https://sonic-cloud.cn/deploy/agent-deploy.html

下载sonic-agent-v2.5.0-macosx_arm64后解压

修改2.5.0/sonic-agent-v2.5.0-macosx_arm64/config/application-sonic-agent.yml文件

修改key为上一步拿到的Agent Key

修改host为本机IP

sonic:
  agent:
    # Replace with ipv4 of the agent machine | 替换为部署Agent机器的ipv4
    host: 10.10.6.163
    # Replace with the port of the agent service, which can be changed by yourself | 替换为Agent服务的端口,可以自行更改
    port: 7777
    # Replace with the key of agent generated by the new front-end | 替换为前端新增Agent生成的key
    key: 2aeaa359-896d-41ec-9586-ed5f0b42035b
  server:
    # Change to SONIC_SERVER_HOST of server | 改成server的SONIC_SERVER_HOST
    host: 10.10.6.163
    # Change to SONIC_SERVER_PORT of server | 改成server的SONIC_SERVER_PORT
    port: 3000

运行:(注意java需要使用jdk17+)

java -Dfile.encoding=utf-8 -jar sonic-agent-macosx-arm64.jar

cb298fcfd8a0c8333409083fc7cf760a.png

IDE下载与使用

https://sonic-cloud.cn/ide/re-ide.html

下载IDE到本地

首先进行登录

f7c55a36d0d4e7964e85b0b980033f37.png

登录完成后打开原本的自动化测试项目

99963270668c6b05bf57fd951012b252.png

在右侧,点击「马上使用」即可直接使用Sonic平台上挂载的测试手机了
点击「获取原生控件」即可拿到当前操作页面的元素定位dom树

2a3dc92728923b45d4fc2a81775d20e3.png

如果使用UITest框架的话

https://gitee.com/zx660644/uitest

修改src/utils/constant.py文件中的REMOTE_URLREMOTE_PORT

REMOTE_PORT = get_env("remote_port", "60500")  # 远程端口
REMOTE_URL = get_env("remote_url", "http://10.10.6.163")  # 远程地址

修改后再终端运行命令执行测试,即可在右侧直接看到运行效果

体验下来感觉比较适合元素定位的调试,真正编写代码体验还是在Pycharm中更舒服

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/557793.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提高仓储效率,打造智能化管理,WMS系统如何助力企业升级

作为制造型企业,仓库往往是一个复杂的物流节点。在仓库中,物资的种类繁多,而且具有一定的流动性,这就要求仓库管理人员对仓库物资的数量、状态、质量和存放位置有一定的了解。然而,对于很多企业而言,仓库管…

Guitar Pro8吉他软件主要功能详解及安装教程

Guitar Pro是一款专业的吉他软件,它支持所有的4至8弦的弹拔乐器(吉他,贝司,班卓琴,曼陀铃等等,所以不论是初学者还是高手,都希望利用他来创作音乐,或者是用来充当一个虚拟的乐队。 …

Blob格式转json格式,拿到后端返回的json数据

Blob格式转json格式,拿到后端返回的json数据 在进行文件下载的时候,我们通过blob,进行下载文件,需要axios设置responseType responseType: blob,axios({...xxx,responseType: blob,}).then(res > {if (!res || !res.headers[…

论文撰写总结与撰写心得——如何更好的产出几万字的论文

一张图开场,说说为什么会有本篇文章,因为晚上关了灯的屏幕太晃眼睛了,之前好几次不是哥哥我不加班帮小伙伴们搞论文,是当时眼睛顶不住了,所以这篇文章除了说一下论文的码字心得外,哥哥我再说一下如何在夜间…

ElasticSearch 快速上手教程(一)—— ES 的安装

简介 ElasticSearch 是一个开源的搜索引擎,基于 Lucene 开发与构建,是当前流行的企业级搜索引擎,在许多应用场景当中都有使用,如商品全文检索,书籍关键字查询等。在这个系列的文章,会带你从零到一&#xf…

qstock 玩转问财:一行代码实现条件选股

01 问财及qstock简介 问财是同花顺平台上一款专业的财经AI助手,融合了自然语言和语音问答机器人。问财提供了多维度的股票、基金、债券数据,并支持自然语言搜索,能够轻松查找所需的信息。对个人投资者来说,问财最好用的功能它的条…

数据结构 -树

树 1 知识框架2 二叉树概论2.1 特殊二叉树2.2 二叉树的存储2.3 线索二叉树 1 知识框架 基本概念: 1.度:一个结点的孩子为该结点的度,树中最大度数为树的度。 2.深度,高度,层次:高度和层次都是从顶至下&…

JavaWeb09(购物车操作)

目录 一.购物车实现方式 1.Cookie方式. 2.session方式. 3数据库方式. 二.效果预览 2.1 未登录提示 2.2 已登录提示 2.3 查看"我的购物车" 三.实现思路 3.1 分清楚商品 订单项 订单的关系 ①商品:包含基本信息 ②订单项:除了商品的基…

chatgpt赋能Python-python_hashlib解密

Python Hashlib 解密 在计算机编程中,哈希函数是一种将任意大小的数据映射为固定大小值的函数。哈希函数通常用于加密和数据完整性校验。哈希函数可由多种算法实现,其中包括Python hashlib模块。本文将介绍Python中的hashlib模块以及如何使用它来进行哈…

甘特图控件DHTMLX Gantt教程:dhtmlxGantt 与PHP: Laravel(下)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术&am…

实在智能魅力抢眼!携超自动化解决方案和校企合作新范式点燃第七届世界智能大会

为深入实施创新驱动发展战略,推动智能科技赋能经济社会发展,促进校企双方交换需求清单,全方位搭建校企握手通道,5月18日,由国家发展和改革委员会、科学技术部、国家广播电视总局、中国科学院等联合主办的第七届世界智能…

通过九点选择CRM系统

众所周知,CRM系统对于企业的发展至关重要。它可以帮助企业增强市场竞争力,拓展新的市场机会,提升品牌形象和口碑,提高客户满意度和忠诚度,实现业绩的大幅增长。那么选型时,CRM系统哪家好?看准这…

企业如何利用方舟低代码平台快速构建营销系统?

前言 国家在十四五规划中明确将“加快发展现代产业体系、推动经济体系优化”作为数字化转型的重要指导方针 ,数字化转型已经成为企业的主要工作,在传统的方式下先采购产品后进行定制改造的模式已经很难适应快速多变的市场,为了应对市场或自主…

广告商业该如何突破重围

广告商业也算是 我们日常生活中不可 缺少的商业渠道 但是广告商业太广了 很多小伙伴是无从下手的 今天智龙就简单的和你们 分享一下广告商业的 一些心得。 首先从用户类型开始入手 今天我们先讲网络用户群体 从图中可以看出 其实网络购物用户 群体是非常庞大的 意味着如果广告 …

chatgpt赋能Python-python_for_line

Python for Line: A Powerful Tool for Streamlining Your Business Communication In today’s fast-paced business world, effective communication is key to success. Whether you’re collaborating with colleagues, sharing information with clients, or dealing wit…

印刷八木天线的仿真与设计

前言 前篇介绍了俄罗斯的网红Wi-Fi天线,其可看作是八木天线。对于八木天线,相信很多业内朋友都不陌生,这类天线长成这个样子。本篇详细介绍八木天线的原理,并设计印刷八木天线。 ​图 1 八木天线 八木天线的工作原理 天线工作原…

「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接

文章目录 前言视频教程1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转…

【LeetCode: 面试题 17.24. 最大子矩阵 | 动态规划 】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

多模态方法(更新中)

待coding: moco pcl 文章目录 Semantic Representation for Dialogue ModelingPCL: Peer-Contrastive Learning with Diverse Augmentations for Unsupervised Sentence Embeddings深度网络的公理归因 Axiomatic Attribution for Deep NetworksNLU模型的捷径学习行…

面试可以问面试官哪些问题?这些问题需要弄清楚

在参加面试过程中,面试官通常会给你提供询问的机会,让你了解公司、职位和工作环境。在这个过程中,你可以通过提问来更好地了解公司、职位和工作环境,也能够让面试官感受到你对公司的兴趣和热情。那么都有哪些问题我们是有必要进行…