自动化测试脚本设计和录制html
统一预置参数输入规则,提供规则模板,作到一个用例一个类,一个方法一个输出。(一个类能够多个方法)前端
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
自动化测试的具体实现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
软件自动化测试成本投入和风险分析web
软件自动化测试的成本投入sql
(这就是咱们为何要引入架构的关系!)ruby
咱们的架构的好处就是业务与逻辑分开,就是页面出现了更新或修改只需从新录制或编写新的用例便可,不会影响业务结果。 架构
自动化测试的脚本的维护ssh
JAVA前端(负责数据的预置、与执行的发起)工具
Ruby底层(负责业务的实现、与操做的执行)测试
JAVA前端全部配置参数都是动态获取,后期业务变动无需修改
Ruby底层
Test用例层与Control控制层随着需求的迭代,须要长期的进行维护
Tools工具层只会根据业务上有很大的变更而更改
othe无需更改
软件自动化测试的风险分析