第6.1节 精准测试Agent简介

在精准测试平台中,采用的是微服务开发模型,但是会发现有很多情况需要处理文件和数据,同时也有对服务器有特殊要求的,如IOS精准测试相关操作,需要mac系统以及xcode开发环境。为了更好的处理数据,兼容各种平台的测试需求,我们把数据处理,报告生成与解析等相关操作开发成一个独立的服务。

6.1.1 Android Agent介绍

Android Agent为完成Android端覆盖率报告的生成,关联用例等功能的服务,本来可以做成微服务的形式,早期由于和iOS端放在了一起,而iOS相关功能无法布置到容器上,就直接使用django开发了一个服务,通过Http接口完成相应的操作。后来功能越来越强大,就将Android和iOS拆分出来,Android agent为Flask框架开发的服务,django无法部署到公司的容器上。

Flask的'微'体现在它只提供Web服务的基本功能,其他的功能是由Flask的扩展实现,用户可以根据需求应用核心扩展。它的基本功能依赖于符合 WSGI 规范(Web Server Gateway Interface)的 Werkzeug 库和模板系统 Jinja2。 当我们通过URL访问网站时,是向Web服务器发送了请求。服务器会根据URL将请求交给相应的Web程序处理。所以服务器与Web应用程序的交互需要一定的规则。而Python专用的规范是WSGI [PEP-3333](https://www.python.org/dev/peps/pep-3333/ "PEP-3333")定义,文章 WSGI简介 给出了简单说明。

框架介绍:https://geekkeen.github.io/introduce-flask.html

6.1.2 iOS Agent介绍

iOS由于其系统的特殊性,很多操作需要在Mac电脑上完成,覆盖率报告生成与解析,调用链路生成等都需要使用Mac上的命令来处理,所以也就无法部署到容器上。于是将iOS Agent开发成单独的服务,由Django开发,对外提供http请求接口,部署到Mac机器上以响应精准测试平台的请求。

Django 网络应用程序通常将处理每个步骤的代码分组到单独的文件中:

Django 是一个高级的 Python 网络框架,可以快速开发安全和可维护的网站。由经验丰富的开发者构建,Django 负责处理网站开发中麻烦的部分,因此你可以专注于编写应用程序,而无需重新开发。 它是免费和开源的,有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。

框架介绍:https://developer.mozilla.org/zh-CN/docs/Learn_web_development/Extensions/Server-side/Django/Introduction

6.1.3 技术选型

在做测试开发的过程中,其实会遇到很多选择技术桟的情况。

1,与公司主流技术一致

比如说,在公司A,他们主流的开发语言是java, 当然开发测试工具或是平台的时候,就选择java技术桟,可以方便的使用公司的基建,调用被测试的服务等;如果公司B中使用的是Python或是Go,就要切换到相应的技术桟。

2,从解决问题出发选择技术

无论是开发的平台或是工具,都是为了解决一类问题的,什么技术解决问题方便,就使用什么技术。比如开发平台,我使用的是java spring+vue, 处理报告的数据就采用的是python系列的服务,当然做覆盖率SDK的注入,又会使用Shell和ruby编写脚本。每个语言都有其特点,不可能解决所有的问题。

3,从自身出发

从你自身出发,如果你会的语言多,就按上面的两个来处理,如果你会的不多。就选择你精通的语言,这样投入产出比最高,也不会浪费太多的时间去学习新的技术,当然后期还是需要不断地提高自己的能力,争取从解决问题出发,选择最优的解决方案。

相关推荐
AlienZHOU1 小时前
DeepSeek Harness 插件:HTML 实时可视化编辑
前端·agent·deepseek
怕浪猫3 小时前
DeepSeek Harness 源码实战第3章:Profile / Bundle / Patch——dsh 的装配系统
openai·agent·ai编程
冬奇Lab6 小时前
Code Agent 解剖(04):系统提示词是怎么组装的,agent 的「人格」从哪来?
人工智能·开源·agent
一点一木7 小时前
Hermes Desktop 重磅更新,Bot Mode 正式上线——把你的 AI 变成一支可协作的专属团队
人工智能·agent
mCell8 小时前
谁在为 AI 开车:Agent 浏览器生态调研(2026)
chrome·macos·agent
mCell8 小时前
GitHub Actions 玩法大赏:一台远程主机的七种活法
linux·github·agent
阿里云云原生9 小时前
DeepSeek Harness 全景可观测实践
agent
编程小明9 小时前
Hold Rein 和 DeepSeek Harness:看起来相似的 Agent 运行时,到底差在哪里?
agent·ai编程
LeeChen9 小时前
Code2Skill:把前后端代码变成 Agent 能力
agent
新知图书10 小时前
7.1 User特质的周期提取与自进化(智能体工程)
人工智能·agent·ai agent·智能体