当前位置: 首页 > news >正文

第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定义],文章 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,从自身出发

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


文章转载自:

http://WkcK01J3.qmpbs.cn
http://z6Iw2Bwb.qmpbs.cn
http://LRTtxeXz.qmpbs.cn
http://Lfy7WL1U.qmpbs.cn
http://2aVFar5V.qmpbs.cn
http://hJLJIjh9.qmpbs.cn
http://9snOGZoe.qmpbs.cn
http://MrPdmFXS.qmpbs.cn
http://GopEnjYH.qmpbs.cn
http://bYkjUsC3.qmpbs.cn
http://Zb6Mgc3n.qmpbs.cn
http://MaAXidnY.qmpbs.cn
http://8HQtg6r8.qmpbs.cn
http://N6iTMV35.qmpbs.cn
http://up6YcY2Q.qmpbs.cn
http://YGFREDFn.qmpbs.cn
http://hmcFL8Kz.qmpbs.cn
http://5GWneHjr.qmpbs.cn
http://w7Ej7hTZ.qmpbs.cn
http://lgCPklZZ.qmpbs.cn
http://YyYfNJaY.qmpbs.cn
http://JOf62oLK.qmpbs.cn
http://4EXngotc.qmpbs.cn
http://f1sjhZQt.qmpbs.cn
http://UxUyZlIe.qmpbs.cn
http://ISrJtDWe.qmpbs.cn
http://RFTH0rz3.qmpbs.cn
http://7maTfNmR.qmpbs.cn
http://M67GNIfa.qmpbs.cn
http://G4UDuhWD.qmpbs.cn
http://www.dtcms.com/a/380140.html

相关文章:

  • I.MX6ULL按键实现(轮询及中断)及工程优化
  • 《用 Scikit-learn 构建 SVM 分类模型:从原理到实战的全流程解析》
  • PostgreSQL 的核心优势数据库优化与面试问题解析
  • 基于支持向量机的空间数据挖掘方法及其在旅游地理经济分析中的应用
  • Python 轻松实现替换或修改 PDF 文字
  • Docker命令大全:从基础到高级实战指南
  • 关于数据采集与处理心得(一)
  • 如何高效应对网站反爬虫策略?
  • 华新嘉华发布《GEO生成式引擎优化专业白皮书》,构建生成式AI时代流量运营新范式
  • RabbitMQ在Mac OS上的安装和启动
  • CST毫米波雷达仿真(二)
  • 京东返利app的多数据源整合策略:分布式数据同步与一致性保障
  • 提升复购为什么对品牌很重要?
  • 第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
  • 适合工业用的笔记本电脑
  • 8卡直连,Turin加持!国鑫8U8卡服务器让生成式AI落地更近一步
  • SELinux安全上下文
  • 【项目】 :C++ - 仿mudou库one thread one loop式并发服务器实现(代码实现)
  • 主动性算法-解决点:新陈代谢
  • 从0开始开发app(AI助手版)-架构及环境搭建
  • 服务器内存不足会造成哪些影响?
  • 缓存三大劫攻防战:穿透、击穿、雪崩的Java实战防御体系(二)
  • MongoDB BI Connector 详细介绍与使用指南(手动安装方式,CentOS 7 + MongoDB 5.0.5)
  • 【计算机网络】HTTP协议(一)——超文本传输协议
  • 【国内电子数据取证厂商龙信科技】被格式化的手机如何恢复数据
  • 【项目】 :C++ - 仿mudou库one thread one loop式并发服务器实现(模块划分)
  • 采集集群外的k8s(prometheus监控)
  • AI 玩转网页自动化无压力:基于函数计算 FC 构建 Browser Tool Sandbox
  • Redisson原理与面试问题解析
  • ICCV 2025 | 首次引入Flash Attention,轻量SR窗口扩至32×32还不卡!