999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Vue的Web自動(dòng)化測(cè)試平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

2023-06-10 07:33:59張慧肖光華王寒芳
電腦知識(shí)與技術(shù) 2023年12期

張慧 肖光華 王寒芳

關(guān)鍵詞:Python;Selenium;自動(dòng)化測(cè)試;回歸測(cè)試

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2023)12-0051-03

0 引言

隨著軟件技術(shù)的逐漸成熟,新技術(shù)產(chǎn)生的同時(shí),促進(jìn)了軟件測(cè)試的改變。由于現(xiàn)在的社會(huì)的變化,敏捷開發(fā)模式逐漸成熟,同時(shí)它對(duì)軟件質(zhì)量可以進(jìn)行持續(xù)、及時(shí)和全面的跟蹤,很多傳統(tǒng)的開發(fā)模式正在逐步朝著敏捷開發(fā)模式轉(zhuǎn)變。隨著敏捷開發(fā)模式的使用,版本的發(fā)布越來越頻繁。同時(shí)回歸測(cè)試中的代碼也變得越來越頻繁。因此市場(chǎng)上逐漸開發(fā)出了一些成熟的自動(dòng)化測(cè)試框架[1],例如robotframework等,雖然利用這些工具,可以提供測(cè)試的工作效率,但是這些框架也有一定的局限性,必須按照工具原有的規(guī)則來編寫測(cè)試用例,這類自動(dòng)化測(cè)試用例往往存在冗余度高和復(fù)用性地的問題。本次自動(dòng)化平臺(tái)設(shè)計(jì)解決了這樣的問題,根據(jù)測(cè)試的實(shí)際需求,實(shí)現(xiàn)一個(gè)方便維護(hù)、減少冗余、提高自動(dòng)化測(cè)試用例的復(fù)用性自動(dòng)化框架結(jié)構(gòu)。

1 自動(dòng)化測(cè)試的意義

當(dāng)軟件的功能比較成熟、穩(wěn)定性較好的時(shí)候,軟件版本迭代頻繁,改動(dòng)性較小,主流程測(cè)試用例在每次迭代更新時(shí)都需要執(zhí)行,比較費(fèi)人力和時(shí)間。如果能將這些測(cè)試用例進(jìn)行自動(dòng)化測(cè)試用例,讓它自動(dòng)執(zhí)行,那么就會(huì)節(jié)省成本。每次版本更新的時(shí)候,這些自動(dòng)化測(cè)試用例可以在回歸測(cè)試中自動(dòng)執(zhí)行。尤其是在測(cè)試周期很短的大項(xiàng)目中,回歸測(cè)試用例較多,幾百個(gè)測(cè)試用例回歸執(zhí)行時(shí),手動(dòng)執(zhí)行可能需要一個(gè)工程師十天的工作量,但是在自動(dòng)化測(cè)試用例則可能幾個(gè)小時(shí)就可以執(zhí)行完畢。同時(shí)自動(dòng)化測(cè)試用例的時(shí)間靈活。較多自動(dòng)化運(yùn)行上千個(gè)測(cè)試用例的時(shí)間段,且時(shí)間靈活,且能夠在非工作內(nèi)執(zhí)行,充分利用了公司的資源。同時(shí)自動(dòng)化的腳本沒有變化,重復(fù)執(zhí)行時(shí)可保證原有功能不發(fā)生變化。

2 自動(dòng)化測(cè)試的相關(guān)技術(shù)

2.1 Python 語言與自動(dòng)化測(cè)試

Selenium是應(yīng)用在Web類型的自動(dòng)化測(cè)試工具。它的能夠支持Java、Python、C#、PHP Perl和Ruby等多種語言,所以不同的語言需要安裝對(duì)應(yīng)的Selenium庫包文件。Python語言是一個(gè)極簡(jiǎn)的語言,它非常簡(jiǎn)單容易上手。近年來,由于Python語言的諸多優(yōu)點(diǎn):簡(jiǎn)潔性、易讀性和可擴(kuò)展性,使得Python語言越來越成熟,越來越多的公司選用了Python語言。雖然Java語言在市場(chǎng)上仍然占有很大的分量,但是在未來的一段時(shí)間內(nèi),Python占的比重將越來越高。在自動(dòng)化測(cè)試語言的選擇中,越來越多的自動(dòng)化測(cè)試工程師選擇了Python語言。它不需要讓開發(fā)或測(cè)試人員搞明白語言本身,能夠讓測(cè)試功能師能很快上手,花更多的時(shí)間在研究問題上。

2.2 Selenium 自動(dòng)化測(cè)試工具

Selenium是目前使用最廣泛的一個(gè)Web用戶界面自動(dòng)化測(cè)試套件之一。它可以使用支持的任何一種編程語言進(jìn)行編寫,同時(shí)可以在大部分的Web瀏覽器中直接運(yùn)行。它對(duì)應(yīng)了多種語言,其中Python和C# 兩種Selenium Web驅(qū)動(dòng)目前使用最多的。

2.3 Pytest 單元測(cè)試框架

test相Py比te起st是來,P更yth加on簡(jiǎn)的潔一和種高單效元。測(cè)它試有框以架下,它的幾與點(diǎn)un優(yōu)it?點(diǎn):上手簡(jiǎn)單,入門容易,文檔也很豐富,文檔中也提供了很多的示例進(jìn)行參考;能夠很好地支持測(cè)試用例集和測(cè)試用例的運(yùn)行;支持參數(shù)化;在執(zhí)行的過程中可以跳過測(cè)試用例,或者將預(yù)定失敗的測(cè)試用例標(biāo)記為失敗;支持重復(fù)執(zhí)行失敗的用例;能夠生成HTML 測(cè)試報(bào)告,還可以與Allure相結(jié)合生成好看的測(cè)試報(bào)告;可以自定義擴(kuò)展第三方插件。

2.4 Allure

Allure是一個(gè)非常靈活的輕量級(jí)開源測(cè)試框架,它能夠支持Pytest。同時(shí)有上手簡(jiǎn)單和易于集成的特點(diǎn)。在使用的時(shí)候通過語句“pytest.main (–alluredir report/result Demo.py)”,就會(huì)在當(dāng)前文件夾創(chuàng)建一個(gè)report文件夾,在report文件夾下創(chuàng)建result,生成json 類型的測(cè)試報(bào)告。通過語句os.system“( allure + gen? erator./report/result+‘-o‘+‘./report/result‘+-‘o‘+./report/html‘+--clean”)將json格式測(cè)試報(bào)告轉(zhuǎn)化為好看的HTML測(cè)試報(bào)告的命令字符串;并通過OS的System函數(shù)將字符串轉(zhuǎn)化為命令執(zhí)行。

3 自動(dòng)化測(cè)試平臺(tái)的設(shè)計(jì)

自動(dòng)化測(cè)試平臺(tái)的設(shè)計(jì),應(yīng)該有前端頁面,主要包含有用戶管理、測(cè)試用例管理和挑選待運(yùn)行的自動(dòng)化測(cè)試用例的功能[2]。測(cè)試用例管理能夠列舉出所有的測(cè)試用例,也能也能查看每個(gè)用例的運(yùn)行記錄。因此本W(wǎng)eb自動(dòng)化測(cè)試平臺(tái)采用的是前后端分離的模式進(jìn)行設(shè)計(jì)的,前端的內(nèi)容采用的是Vue框架來實(shí)現(xiàn)的,后端的業(yè)務(wù)通過Python和Selenium編寫的自動(dòng)化框架實(shí)現(xiàn)[3],數(shù)據(jù)庫的存儲(chǔ)使用的MySQL數(shù)據(jù)庫來實(shí)現(xiàn)的,主要用來存儲(chǔ)用戶信息和測(cè)試用例的執(zhí)行結(jié)果,如圖1所示。

4 自動(dòng)化測(cè)試平臺(tái)實(shí)現(xiàn)

4.1 前端功能實(shí)現(xiàn)

自動(dòng)化測(cè)試平臺(tái)的前端主要是現(xiàn)實(shí)測(cè)試用例集以及其下面的測(cè)試用例,在前端頁面中,測(cè)試人員可以根據(jù)需要挑選合適的自動(dòng)化測(cè)試用例執(zhí)行。

前端由Vue完成,其中用戶的管理頁面包含創(chuàng)建用戶,用戶權(quán)限、編輯用戶等功能。數(shù)據(jù)則保存在數(shù)據(jù)庫之中。

前端頁面中也可以顯示用例集和測(cè)試用例。首先便利測(cè)試用例文件夾下的所有文件,然后通過Py? thon中的dir()函數(shù),查看每個(gè)文件包含的全部成員(函數(shù)和類),記錄在文件中。通過采用讀取文件的方式,得到所有的測(cè)試用例集合以及測(cè)試用例,然后在前端頁面列舉出來[4]。

前端頁面也能自定義勾選選擇相關(guān)的測(cè)試用例集和測(cè)試用例進(jìn)行執(zhí)行,加入到會(huì)執(zhí)行列表中,進(jìn)行執(zhí)行。

4.2 后臺(tái)的實(shí)現(xiàn)

基于自動(dòng)化測(cè)試的分層思想,本文論述的自動(dòng)化測(cè)試在實(shí)現(xiàn)上分為4 層,分別為公共處理層、業(yè)務(wù)處理層、測(cè)試用例層、執(zhí)行結(jié)果表現(xiàn)層。

1) 公共處理層是一些通用的基本功能,如初始化配置文件、日志處理模塊、webdriver驅(qū)動(dòng)模塊、文件讀取與解析、常用的頁面操作方法封裝、數(shù)據(jù)庫操作封裝、生成隨機(jī)數(shù)據(jù)等功能,和測(cè)試結(jié)果數(shù)據(jù)或測(cè)試報(bào)告文件的存放信息。

2) 業(yè)務(wù)處理層是以PageObject設(shè)計(jì)模式展開,包含了以頁面為單位封裝的操作和屬性。包含了該頁面的每個(gè)頁面元素的定位屬性或者定位表達(dá)式,以及每個(gè)頁面元素的操作方法。在PageObject設(shè)計(jì)模式中,元素定位屬性和頁面元素的操作是分開定義的,減少了自動(dòng)化框架的耦合性。當(dāng)頁面元素的屬性發(fā)生變化時(shí),只需要修改頁面元素的定位屬性,而不需要操作方法。該層的實(shí)現(xiàn)是為了測(cè)試用例執(zhí)行的時(shí)候簡(jiǎn)化調(diào)用和減少重復(fù)代碼。

3) 測(cè)試用例層含有測(cè)試用例套件和測(cè)試用例兩個(gè)部分。該層是自動(dòng)化測(cè)用例執(zhí)行的主入口。測(cè)試的數(shù)據(jù)是通過數(shù)據(jù)驅(qū)動(dòng)的方式發(fā)送,執(zhí)行時(shí)首先對(duì)數(shù)據(jù)驅(qū)動(dòng)方法進(jìn)行執(zhí)行,得到測(cè)試數(shù)據(jù)。數(shù)據(jù)的輸入采用的是Pytest框架的數(shù)據(jù)驅(qū)動(dòng),它是一款由Pytest自動(dòng)化測(cè)試框架自帶的一個(gè)數(shù)據(jù)驅(qū)動(dòng)。它是由pytest.emtrairzke()方法實(shí)現(xiàn)的 。Pytest.mark.param-etrize是pytest的一個(gè)內(nèi)置裝飾器,允許在class類和函數(shù)function上定義多組參數(shù)后者通過fixture裝飾器擴(kuò)展數(shù)據(jù)驅(qū)動(dòng)來實(shí)現(xiàn)驅(qū)動(dòng)。根據(jù)業(yè)務(wù)功能點(diǎn)編寫自動(dòng)化測(cè)試用例文檔,再在相應(yīng)的測(cè)試套件中,根據(jù)測(cè)試用例文檔編寫自動(dòng)化測(cè)試用例。最后獲取斷言的實(shí)際結(jié)果,與期望結(jié)果進(jìn)行斷言對(duì)比。在執(zhí)行自動(dòng)化測(cè)試用例的過程中,能夠在不同的測(cè)試套件中挑選自動(dòng)化測(cè)試用例進(jìn)行組合。

4)執(zhí)行結(jié)果表現(xiàn)層是通過pytest框架來實(shí)現(xiàn),Py-test是Python第三方的測(cè)試庫。提供了比unittest更加強(qiáng)大更靈活的測(cè)試機(jī)制。通過pytest-repeat和pytest-xdist框架實(shí)現(xiàn)了重復(fù)測(cè)試和并行測(cè)試。對(duì)于結(jié)果顯示本文使用的是pytest和allure來實(shí)現(xiàn)的,通過pytest和allure結(jié)合實(shí)現(xiàn)漂亮的測(cè)試報(bào)告。Allure是一個(gè)輕量級(jí)語言測(cè)試報(bào)告工具,它具有靈活性的特點(diǎn),能夠?qū)y(cè)試結(jié)果以簡(jiǎn)潔的報(bào)告呈現(xiàn)出來。同時(shí)也將測(cè)試用例的步驟生成了運(yùn)行日志模塊,可記錄測(cè)試用例的執(zhí)行過程和執(zhí)行情況,通過日志也可以查詢測(cè)試用例失敗的原因。也可以為自動(dòng)化測(cè)試用例的維護(hù)和優(yōu)化提供依據(jù)。同時(shí)有眾多的插件可以實(shí)現(xiàn)更多測(cè)試場(chǎng)景[5]。同時(shí),也將測(cè)試用例的執(zhí)行結(jié)果插入數(shù)據(jù)庫的結(jié)果表單中,以保存每次運(yùn)行的測(cè)試結(jié)果。

5 自動(dòng)化框架的應(yīng)用

5.1 被測(cè)系統(tǒng)簡(jiǎn)介

被測(cè)系統(tǒng)是一款醫(yī)藥批發(fā)網(wǎng)站W(wǎng)eb端,該網(wǎng)站主要包括了前臺(tái)和后臺(tái)兩個(gè)部分:前端商城的功能主要包括有用戶注冊(cè)、用戶登錄、商品列表、查詢商品、查看商品詳情、加入購物車、購物車頁面、提交訂單頁面、訂單詳情頁面、取消訂單、個(gè)人中心頁面,而后臺(tái)管理頁面則包括用戶管理、商品管理、訂單管理、營(yíng)銷活動(dòng)模塊等功能。

5.2 測(cè)試需求

本文將以用戶采購藥品流程為例子,測(cè)試的步驟包括下面幾點(diǎn)。

1) 用戶注冊(cè)

點(diǎn)擊注冊(cè)鏈接,進(jìn)入“用戶注冊(cè)”頁面,在該頁面中填入用戶名和密碼等必填信息,點(diǎn)擊提交按鈕。由于驗(yàn)證碼需要手機(jī)查看,所以本例子中使用的是開發(fā)設(shè)定的固定驗(yàn)證碼來解決該問題。

2) 用戶登錄

在用戶登錄頁面中,使用創(chuàng)建好的用戶名、密碼和驗(yàn)證碼進(jìn)行登錄。登錄頁面中的驗(yàn)證碼,與用戶注冊(cè)頁面相同,采用的是開發(fā)設(shè)定的固定驗(yàn)證碼。

3) 查詢商品

登錄成功后,進(jìn)入列表頁面,在商品查詢頁面上輸入商品信息,點(diǎn)擊查詢按鈕。

4) 驗(yàn)證商品價(jià)格

查詢到商品后,驗(yàn)證該商品的原價(jià)與促銷價(jià)是否正確。

5) 加入購物車

將該商品加入購物車,在購物車頁面中,驗(yàn)證該商品的原價(jià)和促銷價(jià)格。

6) 提交訂單。

在購物車中勾選商品信息,然后點(diǎn)擊提交訂單按鈕,進(jìn)行下單操作。在訂單頁面中,驗(yàn)證該訂單提交成功。

5.3 測(cè)試過程

1) 構(gòu)建測(cè)試框架。

安裝測(cè)試環(huán)境,安裝Python環(huán)境,安裝相關(guān)的Py? thon庫包文件,pytest、selenium、allure。安裝MySQL同時(shí)創(chuàng)建好相關(guān)的數(shù)據(jù)庫表,安裝Vue 前端開發(fā)架構(gòu)軟件。

2) 分析需求。

分析該條測(cè)試用例,涉及的頁面有用戶注冊(cè)頁面、用戶登錄頁面、查詢商品頁面,商品詳情頁面,購物車頁面以及提交訂單頁面。在設(shè)計(jì)模式中涉及的PageObject應(yīng)該有6個(gè)頁面。

第一個(gè)頁面是用戶注冊(cè)頁面,其中包含的操作有:① 點(diǎn)擊注冊(cè)按鈕;② 用戶名的定位,用戶名的清除與輸入操作;③ 密碼的元素定位、密碼的清除與輸入操作;④ 驗(yàn)證碼的元素定位,驗(yàn)證碼的清除與輸入操作;⑤ 點(diǎn)擊注冊(cè)按鈕;⑥ 注冊(cè)成功彈框提示期望值獲取。

第二個(gè)頁面是用戶登錄頁面,該頁面中包含的操作有:① 點(diǎn)擊登錄按鈕;② 用戶名的定位,用戶名的清除與輸入操作;③ 密碼的元素定位、密碼的清除與輸入操作;④ 驗(yàn)證碼的元素定位,驗(yàn)證碼的清除與輸入操作;⑤ 點(diǎn)擊登錄按鈕;⑥ 登錄成功彈框提示期望值獲取。

第三個(gè)頁面是查詢商品頁面,在頁面中包含的操作有:① 按照傳入的參數(shù),獲取指定的商品所在的位置;② 得到商品的總條數(shù)。

第四個(gè)頁面是商品詳情頁面,在該頁面中包含的操作有:① 商品的名稱定位;② 商品的原價(jià)價(jià)格定位、商品的原價(jià)獲取操作;③ 商品的促銷價(jià)定位、商品的促銷價(jià)獲取操作;④ 加入購物車。

第五個(gè)頁面是加入購物車頁面,在該頁面中包含的操作有:① 定位商品的信息元素、點(diǎn)擊指定的商品加入購物車;② 點(diǎn)擊“提交訂單”按鈕。

第六個(gè)頁面是提交訂單頁面,在該頁面中包含的操作有:① 定位付款方式位“余額抵扣”“確認(rèn)提交”元素;② 選擇付款方式為“余額抵扣”;③點(diǎn)擊“確認(rèn)提交”按鈕。

3)實(shí)現(xiàn)自動(dòng)化測(cè)試用例平臺(tái)。

系統(tǒng)模塊:醫(yī)藥批發(fā)網(wǎng)站,設(shè)計(jì)到的模塊有:用戶注冊(cè)頁、首頁、查詢商品頁面、商品詳情頁面、購物車頁面和提交訂單頁面。

概述:實(shí)現(xiàn)了一個(gè)訂單流程的測(cè)試用例:自動(dòng)化測(cè)試用例中用戶注冊(cè)、用戶登錄以及下訂單的一個(gè)測(cè)試用例。

目標(biāo):驗(yàn)證一個(gè)訂單的流程的實(shí)現(xiàn)。通過標(biāo)準(zhǔn)的框架結(jié)構(gòu)為前提,通過PageObject框架結(jié)構(gòu),將每個(gè)頁面分成了數(shù)據(jù)、元素和動(dòng)作腳本三個(gè)腳本。使腳本易讀取,易集成且便于維護(hù),相關(guān)的方法還能重復(fù)調(diào)用,降低了維護(hù)的成本,同時(shí)也提高了代碼利用率[5]。在pytest中編寫測(cè)試用例,通過頁面元素的獲取,得到實(shí)際結(jié)果,與期望結(jié)果進(jìn)行對(duì)比,來驗(yàn)證測(cè)試用例結(jié)果。自動(dòng)化的測(cè)試用例的結(jié)果報(bào)告通過Allure可以生成。

對(duì)應(yīng)的測(cè)試用例步驟如下:

①建立WebDriver初始類,其中包含了初始化瀏覽器驅(qū)動(dòng)。同時(shí)打開初始化界面“首頁”;

②新建一個(gè)Common文件,在該文件中新建二個(gè)類:第一個(gè)類是建立用于存放元素操作的基本操作的類,例如:點(diǎn)擊、清除、先清除再輸入數(shù)據(jù)、輸入數(shù)據(jù)、滑動(dòng)頁面、讀取頁面元素?cái)?shù)據(jù)、讀取頁面表格元素、點(diǎn)擊表格中指定列的元素。第二個(gè)類是建立用于存放文件讀取操作的類,例如:讀取excel和csv操作、讀取文件操作、寫入excel和csv文件操作、寫入文件操作。通過該類可以讀取和寫入文件數(shù)據(jù)。

③創(chuàng)建PageObject文件夾,在每個(gè)頁面中新建兩個(gè)文件,以供在測(cè)試用例中調(diào)用。一個(gè)用于存放數(shù)據(jù)和控件元素,另外一個(gè)用于存放頁面操作的文件。當(dāng)頁面元素的定位或者數(shù)據(jù)發(fā)生變化的時(shí)候,只需要更新該控件元素的路徑或數(shù)據(jù)值;

④創(chuàng)建TestCases文件平,創(chuàng)建測(cè)試用例集TestOrder類下創(chuàng)建測(cè)試方法test_order,該方法中用到的測(cè)試數(shù)據(jù)是通過pytest.mark.parametrize()來設(shè)置的,在本測(cè)試用例中用到的測(cè)試數(shù)據(jù)有:用戶名、密碼、驗(yàn)證碼、藥品名“感冒藥”,商品商量為“1”,單價(jià)為“20”,促銷價(jià)為“18”。

在該類中依次調(diào)用如下方法:

①點(diǎn)擊注冊(cè)鏈接:調(diào)用“首頁”中的點(diǎn)擊“注冊(cè)”方法;

②注冊(cè)新用戶:調(diào)用“注冊(cè)”頁面中的先清除再輸入用戶名、密碼和確認(rèn)密碼,點(diǎn)擊“確定”按鈕方法;

③登錄用戶:調(diào)用“首頁”中點(diǎn)擊“登錄”按鈕,調(diào)用登錄框中的先清除再輸入用戶名和密碼操作,調(diào)用登錄框中的點(diǎn)擊“登錄”按鈕操作;

④查詢商品,調(diào)用“首頁”中的先清除和再輸入值搜索框方法,調(diào)用“首頁”中的點(diǎn)擊“查詢”按鈕方法;

⑤驗(yàn)證查詢結(jié)果:商品詳情頁面,調(diào)用“查詢結(jié)果”中的點(diǎn)擊“第一行記錄”方法,進(jìn)入商品詳情頁;調(diào)用商品詳情頁中的獲取商品名稱方法,得到期望的商品名稱。在這一步中進(jìn)行第一次驗(yàn)證,驗(yàn)證商品是否查詢正確;

⑥加入購物車:調(diào)用“商品詳情”頁中的點(diǎn)擊“加入購物車”圖標(biāo);調(diào)用“商品詳情”頁中的點(diǎn)擊“購物車”圖標(biāo);

⑦下訂單:調(diào)用“購物車”頁面中的點(diǎn)擊“提交訂單”按鈕;

⑧驗(yàn)證訂單是否提交成功:調(diào)用“訂單”頁面中的點(diǎn)擊“待付款”訂單頁面;調(diào)用“代付款”頁面中的訂單信息,如:商品與價(jià)格,驗(yàn)證訂單是否正確。

在Vue實(shí)現(xiàn)的前端頁面中列出所有的測(cè)試用例方法,并勾選出相關(guān)的測(cè)試用例集下的測(cè)試用例,寫入記事本文件中。新建執(zhí)行run_testcases 的執(zhí)行文件,在該文件中通過pytest.main中的方法“pytest.main (‘[ -s,‘-v,‘-k ,‘從記事本中讀取相關(guān)的測(cè)試方法路徑,‘–alluredir,‘./report/xml])”運(yùn)行指定的測(cè)試用例,并將結(jié)果生成allure數(shù)據(jù)集合,再通過Python 命令os. system“( allure generate ./temp -o ./report -- clean”)生成相關(guān)的allure 數(shù)據(jù)集合生成allure 報(bào)告文檔。

6 結(jié)束語

隨著軟件技術(shù)越來越成熟,Web應(yīng)用的發(fā)展通常采用了迭代快和周期短的敏捷開發(fā)模式,Web自動(dòng)化測(cè)試用例的發(fā)展的也成為必然趨勢(shì),隨著自動(dòng)化測(cè)試技術(shù)的深入,如何有效地提高內(nèi)部測(cè)試人員的效率,降低成本,具有很高的使用價(jià)值,但是該Web自動(dòng)化平臺(tái)依然還有很多值得改進(jìn)的地方,例如:加入Jen? kins和Ant技術(shù)后,能夠每日在指定的時(shí)間自動(dòng)運(yùn)行測(cè)試用例,這樣能使運(yùn)行時(shí)間更加靈活,希望在日后的使用過程中更加完善。

主站蜘蛛池模板: 999国内精品久久免费视频| 亚洲水蜜桃久久综合网站| 亚洲成人动漫在线| 亚洲伦理一区二区| 国产高清又黄又嫩的免费视频网站| 99精品欧美一区| 97视频免费在线观看| 亚洲第一在线播放| 久青草国产高清在线视频| 日韩亚洲综合在线| 亚洲h视频在线| 天天色天天综合| 国产成年无码AⅤ片在线| 亚洲天堂免费观看| 香蕉精品在线| 日本一区高清| 国产精品自拍合集| 亚洲无码37.| 成年看免费观看视频拍拍| 国产在线无码一区二区三区| 亚洲一区网站| 国产视频入口| 亚洲男人在线天堂| 国产在线小视频| www精品久久| 97青青青国产在线播放| 国产不卡一级毛片视频| 十八禁美女裸体网站| 亚洲精品视频免费| 亚洲欧美成人综合| a国产精品| 国产久操视频| 国产成人精品第一区二区| 国产精品天干天干在线观看| 欧美亚洲国产日韩电影在线| 找国产毛片看| 国产日韩欧美在线播放| 国产99在线| 国产91丝袜在线播放动漫 | 欧美成人一级| 亚洲国产成人精品无码区性色| 午夜日韩久久影院| 午夜啪啪网| 国产精品福利一区二区久久| 欧美一级大片在线观看| 欧美日韩中文字幕在线| 久久国产香蕉| 欧美乱妇高清无乱码免费| 久久大香香蕉国产免费网站| 免费人成黄页在线观看国产| 狠狠操夜夜爽| 亚洲精品欧美日本中文字幕| 亚欧美国产综合| 国产杨幂丝袜av在线播放| 中文字幕av一区二区三区欲色| 天天色天天操综合网| 欧美亚洲一区二区三区导航 | 91精品国产91欠久久久久| 日韩a在线观看免费观看| 欧美一级黄色影院| 日韩精品成人在线| 欧美一级高清片欧美国产欧美| 日本免费一级视频| 成年午夜精品久久精品| 精品福利视频导航| 亚洲精品成人福利在线电影| h视频在线观看网站| 国产一区亚洲一区| 亚洲欧洲自拍拍偷午夜色| 67194成是人免费无码| 天天操天天噜| 国产青榴视频| 亚洲视频在线青青| 亚洲国产精品一区二区高清无码久久 | 狠狠操夜夜爽| 中文字幕不卡免费高清视频| …亚洲 欧洲 另类 春色| 激情亚洲天堂| 国产精品999在线| 亚洲综合亚洲国产尤物| 中文字幕亚洲电影| 五月激情婷婷综合|