国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

如何實(shí)現(xiàn)工具無關(guān)化?關(guān)于自動(dòng)化測試腳本的設(shè)計(jì)

0
分享至

1.問題的提出

最近幾年來,我的自動(dòng)化測試工具之旅大致是這樣的,最早用的是QTP,然后是RFT(IBM的功能測試自動(dòng)化產(chǎn)品),之后也經(jīng)歷了Selenium, Watir等,再后還是一些商業(yè)工具主要是偏web自動(dòng)化及移動(dòng)自動(dòng)化,如sahi, appnium, Keynote DeviceAnywhere, SeeTest, HP UFT等,這一系列的變化,讓人痛苦的不是學(xué)習(xí)的過程,也不是各種編程語言的轉(zhuǎn)換,最痛苦的是我們的自動(dòng)化測試腳本要因?yàn)楣ぞ叩淖兓枰貙懀驗(yàn)闊o法重用,我們或是維護(hù)多種自動(dòng)化工具腳本,或是將自動(dòng)化測試腳本為最近使用的工具進(jìn)行重寫編寫,有太多的effort花在這些事情上。

我們?cè)趺唇鉀Q這類問題呢?試想,如果我們能夠有這樣一個(gè)平臺(tái),如果提供統(tǒng)一的自動(dòng)化編程API,而且獨(dú)立于某種工具,那該 有多好。所以本文的目的要設(shè)計(jì) 這樣一個(gè)平臺(tái),能夠?qū)ψ詣?dòng)化測試人員提供統(tǒng)一的編程接口,能夠適應(yīng)測試工具的變化,而無須修改已經(jīng)基于此平臺(tái)編程好的自動(dòng)化測試腳本。

2. 如何實(shí)現(xiàn)工具無關(guān)化

首先,我們要考慮工具無關(guān)化,如果要實(shí)現(xiàn)工具無關(guān)化,那么對(duì)于使用者(自動(dòng)化測試腳本實(shí)現(xiàn)者)一定是使用一致的api,一致的測試元素,一致的數(shù)據(jù)訪問方式。那么我們先要考慮一下測試元素的一致性。

這里我們先假設(shè)我們未來的待測試應(yīng)用都是web應(yīng)用或是mobile應(yīng)用,而mobile應(yīng)用我們使用的都是hybrid應(yīng)用。對(duì)于測試元素來講,最重要的是如何能夠識(shí)別它,我們?cè)谧R(shí)別元素的時(shí)候,都會(huì)找到一個(gè)唯一id或?qū)傩詠順?biāo)識(shí)它。來看我們上邊假設(shè)的應(yīng)用,我們可以使用xpath來做為唯一id來識(shí)別元素。你可能根據(jù)自已實(shí)際場景來設(shè)計(jì)來定義它。除此之外,為了能夠操作元素,我們需要知道它的名字,因?yàn)槲覀冞需要為它命名。除此之外,我們還需要使用一個(gè)類型字段來區(qū)別不同工具之間可能對(duì)測試元素有些特別的要求,我們通常使用type字段來標(biāo)識(shí)它。所以我們從邏輯上來看,一個(gè)工具無關(guān)的測試元素大致看起來是這樣的。

對(duì)于測試數(shù)據(jù)來講,我認(rèn)為,每個(gè)數(shù)據(jù)都是有一個(gè)列和一個(gè)值組成,所有數(shù)據(jù)看起來比較簡單。

數(shù)據(jù)有一點(diǎn)需要注意一下,如果我們要實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測試,我們就需要在此平臺(tái)提供處理多行數(shù)據(jù)能力。

有了測試對(duì)象和測試數(shù)據(jù)之后,我們需要了解我們的待測試應(yīng)用,我們的平臺(tái)需要對(duì)待測試應(yīng)用使用之前進(jìn)行一些配置,使用時(shí)還要進(jìn)行一些初始化等工作,使用完我們還會(huì)對(duì)些進(jìn)行一些清理銷毀等工作。。如此一來,我們的平臺(tái)需要考慮如何進(jìn)行測試設(shè)置工作,因?yàn)槲磥砦覀兤脚_(tái)面對(duì)可能各種不同的測試工具,那么在這里我們也需要在些考慮好一致的接口。所以此部分看來如下所示:

對(duì)于測試元素的操作,我們通常會(huì)使用類似 click, setValue 等一些點(diǎn)擊,填值的操作,我們同時(shí)還會(huì)檢查一些測試元素是否在頁面中存在,也會(huì)檢測一個(gè)測試元素是否展示在屏幕上。我們可以將些部分統(tǒng)一歸結(jié)為 action. 所以對(duì)象的 action 看起來如下所示:

除了 action 之外,我們的平臺(tái)還要提供 checkpoint 功能,此功能是為了能夠讓我們腳本有能力判斷最近測試結(jié)果是通過還是失敗。即有一個(gè) checkpoint 失敗了,整個(gè)測試腳本就是失敗狀態(tài)。Checkpoint 的功能使用起來極其簡單,我們需要為其輸入兩個(gè)參數(shù),一個(gè)為 expect,一個(gè)為 actual,二者進(jìn)行比較并返回比較結(jié)果。這里需要強(qiáng)調(diào)的一點(diǎn)是,我們?cè)O(shè)計(jì) checkpoint 時(shí),要使其能夠?yàn)槠涠䝼(gè)參數(shù)可以自適應(yīng)到各種數(shù)據(jù)類型,因?yàn)槲覀儗?shí)際應(yīng)用時(shí),有時(shí)會(huì)使用兩個(gè)布爾值進(jìn)行判斷,有時(shí)可能會(huì)使用兩個(gè)字符串進(jìn)行判斷,也可能我們可能直接將兩個(gè)對(duì)象傳過來進(jìn)行比較。所以這里我們要讓其能夠自適應(yīng)。

講到這里,我們的平臺(tái)還需要至少要有的一個(gè)功能是 report, 我們的 report 要能夠展示測試腳本最終是通過了還是失敗了。同時(shí)能夠記錄每個(gè)步驟的狀態(tài),能夠截屏。當(dāng)然,如果 report 能夠提供更多的 metric 數(shù)據(jù)就更好了。方便未來計(jì)算 ROI.

講到這里我們都是講的都是對(duì)外提供的統(tǒng)一的 API,從使用都角度,這些已經(jīng)基本夠用了。但是對(duì)于工具來講,我們要實(shí)現(xiàn)工具無關(guān)化,我們要講起來可能會(huì)簡單一些,但是實(shí)際做的時(shí)候還是比較麻煩的。因?yàn)槲覀冃枰槍?duì)我們平臺(tái)支持的每一套測試工具編寫接口,使其在外邊看起來是一樣的。所以平臺(tái)這邊說起來是簡單的,但實(shí)現(xiàn)工作量還是比較大的,因?yàn)槊刻坠ぞ叨加衅鋸?fù)雜性,再次封裝后并提供統(tǒng)一的簡單易用接口并非總是那么容易。所以編寫接口的人,必須 是對(duì)其封裝的工具是極其熟悉的,并且有豐富的實(shí)際應(yīng)用經(jīng)驗(yàn),因?yàn)檫@種你們才能為使用者寫出他們真正所需的接口。

3. 總結(jié)

在上面我大致講解了要實(shí)現(xiàn)一個(gè)工具無關(guān)的自動(dòng)化測試平臺(tái)所應(yīng)該具有最少元素集合。在實(shí)際應(yīng)用中,我們所做的工作遠(yuǎn)遠(yuǎn)大于這個(gè)集合。但是有了這個(gè)平臺(tái)之后,我們自動(dòng)化腳本的重用率有了很大的提升。對(duì)于團(tuán)隊(duì)中的自動(dòng)化實(shí)現(xiàn)者來說,它們不需要再痛苦了學(xué)習(xí)和掌握每一種新的工具,或是因?yàn)楣ぞ叩淖兓貙懽詣?dòng)化測試腳本了。

最后:在我的V :atstudy-js,可以費(fèi)領(lǐng)取一份10G軟件測試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動(dòng)化測試、APP自動(dòng)化測試、接口自動(dòng)化測試、測試高級(jí)持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
WTT世界乒聯(lián)“點(diǎn)名”孫穎莎,釋放三個(gè)強(qiáng)烈信號(hào),王曼昱真沒說錯(cuò)

WTT世界乒聯(lián)“點(diǎn)名”孫穎莎,釋放三個(gè)強(qiáng)烈信號(hào),王曼昱真沒說錯(cuò)

八斗小先生
2026-02-28 17:15:54
一位腫瘤醫(yī)生的忠告:這世上除了生死,都是小事

一位腫瘤醫(yī)生的忠告:這世上除了生死,都是小事

洞見
2026-02-28 21:27:24
牡丹花下死!這次曝光新戀情的黃曉明,沒給楊穎、葉柯留一絲體面

牡丹花下死!這次曝光新戀情的黃曉明,沒給楊穎、葉柯留一絲體面

情感大頭說說
2026-03-01 06:40:17
一位34歲大齡剩女的相親標(biāo)準(zhǔn):“想娶我,必須要滿足這三個(gè)條件”

一位34歲大齡剩女的相親標(biāo)準(zhǔn):“想娶我,必須要滿足這三個(gè)條件”

多久情感
2026-02-28 09:03:32
特朗普呼吁伊朗政權(quán)更迭

特朗普呼吁伊朗政權(quán)更迭

界面新聞
2026-02-28 15:47:47
美元拋售潮來了!2 萬億海外美元正瘋狂回流,人民幣殺瘋了

美元拋售潮來了!2 萬億海外美元正瘋狂回流,人民幣殺瘋了

白淺娛樂聊
2026-03-01 01:47:54
中領(lǐng)館提醒: 18-65歲在俄長期居留男性 須同意在俄軍事單位等至少服役1年

中領(lǐng)館提醒: 18-65歲在俄長期居留男性 須同意在俄軍事單位等至少服役1年

閃電新聞
2026-02-26 12:46:48
哈梅內(nèi)伊的生死,是一個(gè)悖論

哈梅內(nèi)伊的生死,是一個(gè)悖論

劉遠(yuǎn)舉
2026-02-28 23:09:07
一年流出視頻294部的小寶到底探過多少朵花?

一年流出視頻294部的小寶到底探過多少朵花?

挪威森林
2026-01-25 17:18:42
奧美拉唑被列為重點(diǎn)監(jiān)控藥物!醫(yī)生提醒:長期服用,注意5大細(xì)節(jié)

奧美拉唑被列為重點(diǎn)監(jiān)控藥物!醫(yī)生提醒:長期服用,注意5大細(xì)節(jié)

醫(yī)學(xué)原創(chuàng)故事會(huì)
2026-03-01 00:07:02
逃離三亞大潰!一萬四天價(jià)機(jī)票逼瘋打工人,中產(chǎn)游客已窮哭

逃離三亞大潰!一萬四天價(jià)機(jī)票逼瘋打工人,中產(chǎn)游客已窮哭

烈史
2026-02-26 14:51:59
3月外片陣容豪華,影迷:又要過節(jié)了

3月外片陣容豪華,影迷:又要過節(jié)了

澎湃新聞
2026-02-28 16:30:28
伊朗外長:目前美伊之間沒有直接聯(lián)系

伊朗外長:目前美伊之間沒有直接聯(lián)系

界面新聞
2026-02-28 23:26:14
掀桌子了,哈梅內(nèi)伊梭哈到底?

掀桌子了,哈梅內(nèi)伊梭哈到底?

漢唐智庫
2026-02-28 07:52:21
我們不相信蒸汽機(jī)是中國發(fā)明的,但美國經(jīng)濟(jì)學(xué)家薩克斯說蒸汽機(jī)是一項(xiàng)在中國開發(fā)的偉大發(fā)明

我們不相信蒸汽機(jī)是中國發(fā)明的,但美國經(jīng)濟(jì)學(xué)家薩克斯說蒸汽機(jī)是一項(xiàng)在中國開發(fā)的偉大發(fā)明

青陸
2026-02-27 14:47:40
如今黃河已成懸河,為啥不讓挖泥船把泥沙清走,讓黃河整體下移?

如今黃河已成懸河,為啥不讓挖泥船把泥沙清走,讓黃河整體下移?

天下十三洲獵奇
2026-03-01 00:21:41
外交部發(fā)言人就美國和以色列軍事打擊伊朗答記者問

外交部發(fā)言人就美國和以色列軍事打擊伊朗答記者問

界面新聞
2026-02-28 21:45:34
玄武門之變,李世民為啥只霸占李元吉之妻,卻沒霸占李建成老婆?

玄武門之變,李世民為啥只霸占李元吉之妻,卻沒霸占李建成老婆?

老媹古裝影視解說
2026-02-26 20:08:25
內(nèi)塔尼亞胡稱越來越多跡象表明哈梅內(nèi)伊“已不在人世”

內(nèi)塔尼亞胡稱越來越多跡象表明哈梅內(nèi)伊“已不在人世”

澎湃新聞
2026-03-01 03:39:07
越看越上頭!小七寶萌化全網(wǎng),張?zhí)m直言:這娃來的正是好時(shí)候!

越看越上頭!小七寶萌化全網(wǎng),張?zhí)m直言:這娃來的正是好時(shí)候!

樂悠悠娛樂
2026-02-28 15:12:32
2026-03-01 09:40:49
51Testing軟件測試網(wǎng) incentive-icons
51Testing軟件測試網(wǎng)
中國軟件測試人的精神家園
1528文章數(shù) 13252關(guān)注度
往期回顧 全部

科技要聞

狂攬1100億美元!OpenAI再創(chuàng)融資神話

頭條要聞

牛彈琴:中東大戰(zhàn)開始 有三個(gè)可怕的后果

頭條要聞

牛彈琴:中東大戰(zhàn)開始 有三個(gè)可怕的后果

體育要聞

球隊(duì)主力全報(bào)銷?頂風(fēng)擺爛演都不演了

娛樂要聞

周杰倫兒子正面照曝光,與父親好像

財(cái)經(jīng)要聞

沖突爆發(fā) 市場變天?

汽車要聞

嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

態(tài)度原創(chuàng)

家居
時(shí)尚
旅游
本地
軍事航空

家居要聞

素色肌理 品意式格調(diào)

普通人穿衣不需要太復(fù)雜!顏色恰當(dāng)、搭配和諧,高級(jí)又耐看

旅游要聞

春晚一鳴,“爾濱”“燃”冬!百萬人潮涌入中央大街,道里區(qū)交出開年最“熱”文旅答卷

本地新聞

津南好·四時(shí)總相宜

軍事要聞

美國以色列聯(lián)合襲擊伊朗 實(shí)時(shí)戰(zhàn)況

無障礙瀏覽 進(jìn)入關(guān)懷版