基于Ruby的watir-webdriver自动化测试方案与实施(二)
接着基于Ruby的watir-webdriver自动化测试方案与实施(一)
继续 ... ...
回顾
软件自动化测试的概述
Web自动化测试的方案设计
功能方案设计
业务方案设计
Web自动化测试的方案实施
自动化测试脚本的录制和编写
自动化测试的执行和具体实现
测试操作和测试数据的回收
自动化测试脚本设计和录制
•工具: WatirRecorder++
统一预置参数输入规则,提供规则模板,做到一个用例一个类,一个方法一个输出。(一个类可以多个方法)
•例子一: (实现hao123,搜索“ruby”功能)
require 'watir-webdriver' include Watir require 'test/unit' class TC_recorded < Test::Unit::TestCase def test_recorded @@b = Watir::Browser.new @@b.goto('http://www.hao123.com/') @@b.text_field(:name, 'word').set('ruby') @@b.text_field(:name, 'word').set('ruby') @@b.button(:value, '百度一下').click end end
自动化测试的具体实现
•具体实现在Tools工具类中,多以Linux、Mysql体现
•
•列子二: (通过linux查询黑白名单是否生效)
class Linux < Mysql def initialize ( host ) @@host = host @@username = "root" @@password = "rootmengmeng“ def L.gethost return @@host end def L.getusername return @@username end def L.getpassword return @@password end def acl(ip) @name = ip a = "#{@name}" server_cmd1 = "{ echo ' acl -L'; sleep 2; echo -e '\n'; } | telnet 0 1234 | grep #{a}" ssh = Net::SSH.start(L.gethost, L.getusername, :password => L.getpassword) do |ssh| result = ssh.exec!(server_cmd1) @result=result ….. .…. end attr_writer :host
软件自动化测试成本投入和风险分析
软件自动化测试的成本投入
•脚本的维护成本:自动化的测试流程,使得脚本的维护成为自动化实施的一个关键性的依据。对于一个规范化的系统开发流程来说,实现测试的自动化是很有必要的。但是自动化的脚本维护使得我们的自动化测试在成本上变得较为昂贵。每一个系统的开发都是时刻随着需求的变更而改变,然而在大多数的情况下,就是很微小的一点系统修改都会导致我们去大量的修改自动化的测试脚本。
(这就是我们为什么要引入架构的关系!)
我们的架构的好处就是业务与逻辑分开,就是页面出现了更新或修改只需重新录制或编写新的用例即可,不会影响业务结果。
自动化测试的脚本的维护
•整个自动化测试开放平台分两个部件:
JAVA前端(负责数据的预置、与执行的发起)
Ruby底层(负责业务的实现、与操作的执行)
•关于维护
JAVA前端所有配置参数都是动态获取,后期业务变更无需修改
Ruby底层
Test用例层与Control控制层随着需求的迭代,需要长期的进行维护
Tools工具层只会根据业务上有很大的变动而更改
othe无需更改
软件自动化测试的风险分析
•风险的存在原因:
自动化测试只是针对系统的大部分主要功能进行了有效的测试和验证,从而使得覆盖的测试面较为狭窄,导致系统的有些隐藏问题无法发现。
•风险的减小建议:
在自动化测试的实现初期 ,设计好自动化的测试用例,把握好系统的重点功能及可能会出现的问题,进而再实现测试自动化。在现有条件下减小可预计的系统风险。
•目标:
在现有条件下减小可预计的系统测试风险。
说在最后的
1、自动化并不是全自动,需要花精力才能让他自动化。
2、自动化工具不是万能的,他也有自己的缺陷。
3、自动化永远不可能取代人工的位置。
4、自动化脚本的维护有时是很致命的,需要有一定的经验才能做好。
2、自动化工具不是万能的,他也有自己的缺陷。
3、自动化永远不可能取代人工的位置。
4、自动化脚本的维护有时是很致命的,需要有一定的经验才能做好。
技术微信群:
加微信:wonter 发送:技术Q
医疗微信群:
加微信:wonter 发送:医疗Q
更多文章关注公众号:
加微信:wonter 发送:技术Q
医疗微信群:
加微信:wonter 发送:医疗Q
更多文章关注公众号:

标签:
watir-webdriver
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】