自動化測試框架:擁抱Ruby-創(chuàng)新互聯(lián)

目前,自動化測試框架已經(jīng)基本成型。朋友們的一些建議,還在陸續(xù)消化中,在不久的將來或許都會加入到其中,謝謝大家的鼓勵和支持。

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設、域名、雅安服務器托管、網(wǎng)站托管維護、企業(yè)網(wǎng)站設計、冊亨網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

最近,在一次技術交流會中,我的一位同事向我提起QTP(QuickTest Pro),肯定了它的描述性編程和我們框架中的設計有類似之處,并指出QTP的可擴展性比較強,比如流程控制(IF、LOOP、SWITCH等)。特別是裝載數(shù)據(jù)批量操作軟件方面比較強。我深以為然。

因此,我開始和我的另一位同事小賈琢磨。我們有兩種選擇,一是在腳本編輯中擴展有關流程的節(jié)點(這點很像FinalBuilder),還有就是支持腳本語言。我們選擇了后者,因為第一種雖然可以擴展,但最終畢竟還是不靈活。

在對編程語法方面,一開始考慮的是PascalScript,因為我們都是使用的Delphi。但是考慮到測試人員并不是熟悉Delphi的,況且,對于腳本化編程,我最先想到的是Ruby,而不是Delphi。因此我做了一個大膽的假設,如果在我們引擎中,加入對Ruby的支持,應該怎么做呢?

首先是引擎調用Ruby腳本。我查找了一下資料。發(fā)現(xiàn)Delphi下有現(xiàn)成的開源控件,而且Ruby其實已經(jīng)公布了API了。因此這不是問題了。

那么下面就是最重要的問題了,Ruby腳本如何調用引擎去控制控件?我將所有針對引擎的操作,都歸結于控件的操作,這簡化了依賴性。但是關鍵的問題還是在于技術上如何實現(xiàn)調用。

必須承認,我對Ruby的了解很少,這方面小賈是專家。在和小賈討論過程中,發(fā)現(xiàn)Delphi寫Ruby的擴展沒有明確的幫助,倒是有C的實現(xiàn)方式。我相信研究一下C的實現(xiàn)方式,應該可以找到Delphi的實現(xiàn)方式。

但在這個時候,我們忽然提到了Http。這讓我想起了引擎中已經(jīng)存在的一個Http的Server。因此我提出直接通過Http調用引擎。這樣就跨越了語言的障礙。我們顯然是抓住了RPC的精髓。這個方案一下子得到了小賈的支持。

并且我還想到另外一個理由:先實現(xiàn)了再說(Do it First)。這點小賈更是同意。

在這個基礎上,小賈更是提出了利用Ruby定義DSL的方式,來進行編程。對于Ruby定義DSL我也是不怎么了解。在簡單研究過范例之后,發(fā)現(xiàn)有一定的可行性,但是難度也確實不小。

下面是我和小賈討論的一些內容,也能初步看出其中的難度。

有關DSL,還真麻煩。我考慮這樣的情況:DSL可以轉換成窗體實現(xiàn)。但是窗體實現(xiàn)并不完全對應DSL描述。事實上,對于客戶的應用來說,一個確定按鈕往往不是他的DSL描述的內容,包括所謂的Edit啊,Grid啊都不是的。這些只是實現(xiàn)某類DSL的方式。從反推的方式來設計DSL,確實有難度啊??丶恼{用必須做到自動識別了。

比如一個簡單的Input對話框,只有一個Value的Edit控件。那么對于DSL描述,我希望是這樣的:在沒彈出對話框之前,就應該是:設置 屬性 新值。對于對話框的彈出是在DSL中不可預計的

可見,DSL的實現(xiàn)還是比較有挑戰(zhàn)的。而且這里面也存在一個疑問,DSL適合測試嗎?或者說我說的DSL原本是設計給需求人員或者程序員的,而不是特別給測試的。真正在自動化測試中的DSL,應該使用一種全新的方式去定義DSL。

不管怎么說,實現(xiàn)的方案已經(jīng)基本成熟了。我們也可以展望一下如果實現(xiàn)了Ruby的腳本支持,會帶來什么。

  1. 對于Ruby,我計劃是作為一個測試步驟(TestStep)加入到原有腳本中。這樣既不會丟掉原有腳本編輯的優(yōu)勢,又同時擁有了強大擴展能力。

    創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。

    分享名稱:自動化測試框架:擁抱Ruby-創(chuàng)新互聯(lián)
    鏈接分享:http://muchs.cn/article36/ddohsg.html

    成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、全網(wǎng)營銷推廣、標簽優(yōu)化小程序開發(fā)、建站公司關鍵詞優(yōu)化

    廣告

    聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設