[Maven + Gem]为大型企业打造自动化测试工具

简介:
  一. 目的与区别
  我曾在2010年在国内知名搜索引擎服务商公司 工作,主要负责网页前端 自动化测试工具的开发,我们当时的做法已经其实和现在网页自动化测试方法基本一致,即在watir和watir-webdriver上开发一套自己的封装层,但当时没有引入cucumber做BDD, 而是让其他测试人员直接编写RUBY脚本,require我们制做的封装层,其实理论上讲,只是没有打包成gem,也没有进行测试。 在此过程中遇到的最大的困难就是将我们的封装层部署到每个测试人员的计算机中,并可以指导每个测试人员编写ruby脚本。因此,以上所提及的point都是针对大型网站服务商的测试工具开发的基本薄弱点,也是为中型公司和大型公司开发测试工具的不同点。
  为大型公司开发测试工具必须要引入AGILE的方法,才能使整个测试工具从开发到使用是可控的。但本文不着重讲AGILE的方法,主要讲的内容是如何BUILD你最初的整体MAVEN架构,如何利用MAVEN去开发和发布自己的gem或是ruby home.
   二. 整体思路
  主要有两种方法,
  其一是比较传统的打包成gem,发送给所有的测试人员,让其安装本地gem,前提条件是每个测试人员都必须安装同样版本的ruby 或者jruby,这一点来说并不好控制,因此,该方法优点就是方便快捷,但缺点就是没有办法管理基础层的版本。
  其二是将整个ruby home打包成zip发布,因为ruby的目录程序是不需要安装的,拷贝到任何一台计算机都可以直接使用,只需要设置一下ruby home即可,而且还可以使用ide去进行开发,这样的方法是我主要推荐的,所有的版本都在测试工具开发人员的掌握之中,不会因为ruby的版本变化,或者ruby中安装的其他的gem的影响,而导致整个测试框架的不稳定或者完全崩溃
   三. maven项目的目录结构
-RobinJ (Project name)
-- org.robinj.robinj-gem
-- org.robinj.jrubyhome
-- org.robinj.test
-- org.robinj.test.chrome
-- org.robinj.test.firefox
-- org.robinj.test.ie
   四. 模块介绍
<span style="font-size:18px;"><execution>
<id>import jruby complete and own gems</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
<version>${jruby.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${basedir}/tmp</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.robinj</groupId>
<artifactId>robinj-gem</artifactId>
<version>${project.parent.version}</version>
<type>gem</type>
<outputDirectory>${basedir}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution></span>

   



最新内容请见作者的GitHub页:http://qaseven.github.io/

  

目录
相关文章
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
987 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
人工智能 自然语言处理 数据挖掘
企业数字化转型的关键:如何利用OA系统实现自动化与智能决策
在数字化时代,传统办公系统已无法满足现代企业的需求。通过将RPA(机器人流程自动化)和AI(人工智能)技术与OA系统结合,企业能实现业务流程自动化、智能决策支持,大幅提升工作效率和资源配置优化,推动数字化转型。RPA可自动处理重复任务,如审批、数据同步等;AI则提供智能数据分析、预测和决策支持,两者协同作用,助力财务管理、人力资源管理、项目管理和客户服务等多个领域实现智能化升级。未来,智能化OA系统将进一步提升个性化服务、数据安全和协作能力,成为企业发展的关键驱动力。
1412 4
|
12月前
|
人工智能 运维 安全
2025年工作流自动化的15个趋势,如何影响企业的业务?
越来越多企业正通过自动化与智能化升级工作模式,聚焦科技、制造、医疗三大领域。从RPA、AI到低代码平台,技术赋能提升效率、保障安全;智能制造优化运维;智慧医疗减轻负担。超自动化推动流程互联,让员工更专注创新与核心事务,实现高效协同与可持续发展。
713 1
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
931 6
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
373 4
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
2390 10
|
人工智能 JSON 自然语言处理
Function AI 工作流发布:以 AI 重塑企业流程自动化
本文介绍了基于函数计算 FC 打造的全新 Function AI 工作流服务,该服务结合 AI 技术与流程自动化,实现从传统流程自动化到智能流程自动化的跨越。文章通过内容营销素材生成、内容安全审核和泛企业 VOC 挖掘三个具体场景,展示了 Function AI 工作流的设计、配置及调试过程,并对比了其与传统流程的优势。Function AI 工作流具备可视化、智能性和可扩展性,成为企业智能化转型的重要基础设施,助力企业提升效率、降低成本并增强敏捷响应能力。
1294 28
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
492 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1789 23

推荐镜像

更多