成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

掌握Ruby DSL測(cè)試技巧

開發(fā) 開發(fā)工具
Ruby DSL測(cè)試是可以作為測(cè)試領(lǐng)域的專用語言,對(duì)于測(cè)試人員來說,這是一款非常實(shí)用的方法。在這里我們將會(huì)系統(tǒng)的認(rèn)識(shí)到一些測(cè)試的基本方法。

我們?cè)谶@里做了一個(gè)簡(jiǎn)單的代碼示例,是關(guān)于Ruby DSL測(cè)試的一個(gè)小的實(shí)驗(yàn)。希望通過對(duì)這段代碼的解讀,大家可以進(jìn)一步了解Ruby語言的含義。#t#

做了一個(gè)小小的demo。如果成型的話,測(cè)試人員就可以這樣寫TC了。
這是一段檢查百度搜索,然后驗(yàn)證的小demo。(實(shí)際測(cè)試當(dāng)然不會(huì)這樣子了)

host "www.baidu.com"
port 80
page "s"
field "wd","足球"
field "sourceid","Mozilla-search"
get
check_content "足球"
check_content "體育"

把以上內(nèi)容存到文件里,系統(tǒng)就可以自動(dòng)運(yùn)行了。
登陸baidu,查詢“足球”,然后檢查里面是否有“體育”。

Ruby DSL測(cè)試定義代碼如下

 

  1. # To change this template, 
    choose Tools | Templates  
  2. # and open the template in the editor.  
  3. require 'open-uri'  
  4. class MyDSL  
  5. def self.dsl_accessor(*symbols)  
  6. symbols.each { |sym|  
  7. class_eval %{  
  8. def #{sym}(*val)  
  9. if val.empty?  
  10. @#{sym}  
  11. else  
  12. @#{sym} = val.size == 1 ? val[0] : val  
  13. end  
  14. end  
  15. }  
  16. }  
  17. end  
  18. def method_missing(sym, *args)  
  19. self.class.dsl_accessor sym  
  20. puts "method missing #{sym}, #{args}"  
  21. send(sym, *args)  
  22. end  
  23. attr_accessor :query  
  24. dsl_accessor :test  
  25. def self.load(filename)  
  26. dsl = new 
  27. dsl.instance_eval(File.read
    (filename), filename)  
  28. puts File.read(filename)  
  29. dsl  
  30. end  
  31. def self.loads(filename)  
  32. dsl = new 
  33. dsl.instance_eval(filename)  
  34. dsl  
  35. end  
  36. def field(field_string,value)  
  37. puts "#{field_string}=#{value}"  
  38. if ! @query  
  39. @query="#{field_string}=#{value}" 
  40. else  
  41. @query="#{@query}&#{field_string
    }=#{value}"
     
  42. end  
  43. puts @query  
  44. end  
  45. def get  
  46. puts 'get'  
  47. @request="http://#{@host}:#
    {@port}/#{@page}?#{@query}"
     
  48. puts @request  
  49. @result=open(@request)  
  50. end  
  51. def check_content(s)  
  52. tmp=@result.read.scan(s).uniq  
  53. if tmp.length!=0  
  54. puts "found"  
  55. puts tmp  
  56. else  
  57. puts "not found"  
  58. end  
  59. end  
  60. def post  
  61. puts 'post'  
  62. end  
  63. end#class MyDSL  
  64. dsl=MyDSL.loads('  
  65. host "www.baidu.com"  
  66. port 80  
  67. page "s"  
  68. field "wd","xxxxxxx"  
  69. field "sourceid","Mozilla-search"  
  70. field "yy",0.222  
  71. parameter 0.55,2.1,[2,3,4],
    {
    :a=>7,:b=>8,:c=>9}  
  72. get  
  73. check_content "xxx"  
  74. check_content "ffffffffffffff"  
  75. ')  
  76. p dsl  
  77. p dsl.instance_variables 

以上這段代碼示例就是Ruby DSL測(cè)試的相關(guān)方法介紹。

責(zé)任編輯:曹凱 來源: 51testing.com
相關(guān)推薦

2009-12-14 16:35:28

Ruby文件行數(shù)計(jì)算

2009-12-18 14:19:45

Ruby on Rai

2009-12-17 14:36:57

Ruby on Rai

2009-12-14 18:30:59

Ruby DSL特點(diǎn)

2009-12-14 18:14:27

Ruby DSL

2009-12-16 17:31:30

Ruby on Rai

2009-12-16 17:07:27

Ruby on Rai

2009-12-14 15:54:34

Ruby轉(zhuǎn)義字符

2009-12-15 10:23:23

Ruby應(yīng)用技巧

2009-12-14 09:33:04

Ruby安裝

2009-12-16 10:57:16

Ruby文件鎖

2009-12-14 17:23:31

2017-10-11 08:51:50

Ruby編程微服務(wù)架構(gòu)邊緣計(jì)算

2009-12-14 15:30:43

安裝Ruby on R

2009-12-15 18:24:02

Ruby連接到orac

2009-12-17 17:37:42

Ruby on Rai

2009-12-18 10:47:16

Ruby裝飾模式

2009-12-15 18:15:24

Ruby連接到LDAP

2010-02-06 13:46:55

Android開發(fā)

2011-01-18 10:51:27

職場(chǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩中文字幕在线观看 | 免费看国产一级特黄aaaa大片 | 91影视| 人人干天天干 | 欧美日韩国产不卡 | 香蕉一区二区 | 欧美.com | 久久久久成人精品 | 一级黄色片在线看 | 精品久久久一区 | 一区二区精品在线 | 精品久久久久久久 | 精品欧美一区二区三区久久久 | 国产精品色哟哟网站 | 亚洲一区二区三区四区在线观看 | 成人在线视频网 | 国产精品久久久久久久7电影 | 久久成人18免费网站 | 日韩亚洲视频 | 亚洲第一区久久 | 免费一区 | 亚洲欧美日韩网站 | 亚洲成人免费在线观看 | 国产精品毛片久久久久久 | 成人亚洲一区 | 武道仙尊动漫在线观看 | 一区二区三区精品在线视频 | 羞羞在线观看视频 | av影音| 亚洲第一区久久 | 亚洲高清免费视频 | 中文一区 | 国产在线一区二区三区 | 久久国产精品精品国产色婷婷 | 成人av在线播放 | 成人做爰999| 国产精品精品 | 国产免费观看久久黄av片涩av | 中文字幕亚洲欧美日韩在线不卡 | 日本成人综合 | 欧美日韩三级视频 |