基于Ruby的watir-webdriver自动化测试方案与实施(二)
自动化测试脚本设计和录制
统一预置参数输入规则,提供规则模板,做到一个用例一个类,一个方法一个输出。(一个类可以多个方法)
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
自动化测试的具体实现
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无需更改
软件自动化测试的风险分析
2、自动化工具不是万能的,他也有自己的缺陷。
3、自动化永远不可能取代人工的位置。
4、自动化脚本的维护有时是很致命的,需要有一定的经验才能做好。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。