<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用手冊|1 月更新速遞

          共 9745字,需瀏覽 20分鐘

           ·

          2024-04-11 12:35

          文章目錄

          • 一、前言

          • 二、環(huán)境安裝

          • 三、簡要操作步聚

          • 四、詳細(xì)操作步聚

          • 五、版本發(fā)布

          • 六、技術(shù)交流

          5684411d480057072e859819cee5e9f7.webp


          前言:

          1、 Autotestplat是一站式自動化測試平臺系統(tǒng),目前集成了接口,性能、AppUI 、WebUI 自動化測試 的功能 。

          2、 實現(xiàn)了接口自動化完整功能,產(chǎn)品,用戶設(shè)置,系統(tǒng)參數(shù)設(shè)置、接口用例、參數(shù)化,測試計劃,定時設(shè)置,測試報告。

          實現(xiàn)了實時接口性能測試,生成測試腳本,執(zhí)行測試,測試報告。

          實現(xiàn)了AppUI自動化設(shè)置,用例錄入,單個用例運行,全部用例運行。

          實現(xiàn)了WebUI自動化設(shè)置,用例錄入,單個用例執(zhí)行,全部用例執(zhí)行。

          3、 無需修改任何代碼或腳本,支持團隊,多項目,測試報告詳情及保存,直觀方便可視化,達(dá)到了企業(yè)級自動化測試平臺需求。

          一、環(huán)境安裝

          第一步:安裝pycharm,安裝包版本 https://github.com/testdevhome/installPackage

          第二步:安裝Python3.6

          第三步:安裝mysql

          第四步:下載Autotestplat源碼包  https://github.com/testdevhome/Autotestplat

          第五步:安裝如下第三方庫 pip install -r requirements.txt

          setuptools==28.8.0 

          kombu==3.0.37 

          celery==3.1.26.post2 

          django==2.1.3 

          django-celery==3.2.2 

          redis==2.10.6 

          celery-with-redis==3.0 

          django-redis==4.0.0 

          PyMySQL==1.0.2 

          requests==2.15.1 

          urllib3==1.22 

          chardet==3.0.4 

          certifi==2023.7.22 

          idna==2.6 

          adbutils==1.2.11

          django-cors-headers==3.0.0

          mysqlclient==1.4.6

          paramiko==3.3.1 

          psutil==5.9.5  

          pywin32==305 

          faker==14.2.1

          uiautomator2==2.16.25 

          weditor==0.6.4 

          selenium==3.141.0 


          第六步: 創(chuàng)建數(shù)據(jù)庫名autotestplat,導(dǎo)入 數(shù)據(jù) autotestplat.sql

          第七步:python manage.py runserver 0.0.0.0:80

          步:redis-server redis.windows.conf

          步:python manage.py celery worker -c 6 -l debug

          步:python manage.py celery beat

          二、簡要操作步聚

          接口測試

          第一步、設(shè)置用戶,設(shè)置產(chǎn)品/項目,用戶設(shè)置 默認(rèn)產(chǎn)品 ,也就是當(dāng)前正在進(jìn)入使用的產(chǎn)品。 第二步、在系統(tǒng)設(shè)置中設(shè)置參數(shù), 環(huán)境設(shè)置 即設(shè)置host地址, 常量 即設(shè)置固定值作為參數(shù), 變量 可以是時間戳,隨機數(shù)字、字符等。 第三步、在接口用例中進(jìn)行接口用例錄入調(diào)試,設(shè)置 斷言 ,通過正則表達(dá)式設(shè)置 關(guān)聯(lián)參數(shù) ,執(zhí)行;在接口中通過 {關(guān)鍵字} 設(shè)置參數(shù)。 第四步、在測試計劃中選擇接口用例, 定時設(shè)置 ,勾選調(diào)試 ,更新,增行,減行,更改順序 第五步、在測試報告中查看測試記錄,報告的詳情數(shù)據(jù)。

          性能測試

          第一步、 選擇接口,輸入并發(fā)數(shù),持續(xù)壓測時間,點擊生成jmeter腳本 。 第二步、 點擊測試開始 第三步、 點擊查看結(jié)果。

          AppUI測試

          第一步、 系統(tǒng)設(shè)置App設(shè)置 第二步、 啟動weditor,連接手機,抓取App元素控件,錄入用例 。 第三步、 執(zhí)行,查看用例結(jié)果。

          WebUI測試

          第一步、系統(tǒng)設(shè)置Web設(shè)置。 第二步、安裝谷歌瀏覽器版本100.0.4896.75 (正式版本) (32 位)。 第三步、執(zhí)行,查看用例結(jié)果。

          三、詳細(xì)操作步聚

          1、  產(chǎn)品管理

          37a105883651d5f100d65c5c3e3ca8c3.webp

          ▲圖  1 .1

          2、  用戶設(shè)置

          用戶設(shè)置默認(rèn)產(chǎn)品,也就是當(dāng)前正在進(jìn)入使用的產(chǎn)品 ,那么以下其他模塊(3-6步聚)都默認(rèn)為當(dāng)前產(chǎn)品的操作和數(shù)據(jù)顯示。

          fc991822586d91826140501a33c58a1f.webp

          ▲圖  2 .1

          3、  系統(tǒng)設(shè)置

          3.1、 常量參數(shù)化,例如在引用一些公共相同的數(shù)據(jù)時,采用常量的方式定義,參數(shù)里面對某個固定商品ID進(jìn)行查看,編輯,添加屬性,訂購等,就可以給它定義為常量。當(dāng)要對另一個商品ID進(jìn)行類似操作時,就改一下常量里面的值即可,因而不需要逐個修改每個ID,只需改一次這個常量的參數(shù)值,因為在引用時統(tǒng)一使用的是定義的常量。

          ccaf4e42da697d1d1cb8c37e9ff61833.webp

          ▲圖  3 .1

          3.2、 變量參數(shù)化,例如當(dāng)新增冪等數(shù)據(jù)時,自動化新增一個產(chǎn)品名為A的數(shù)據(jù),但這個產(chǎn)品A不能重復(fù)新增,重復(fù)的話會新增失敗,這時必須使用變量隨機生成不同值的方式避免產(chǎn)品名為A重復(fù),執(zhí)行一次的時候新增產(chǎn)品A,再次執(zhí)行時這個變量隨機可能生成了C,這時就可以新增成功

          58b4e6aa6deb4842dff387c3755e7027.webp

          ▲圖  3 . 2

          3.3、 環(huán)境設(shè)置參數(shù)化,環(huán)境設(shè)置其實就是常量,只是為了方便區(qū)分,它專用于環(huán)境主機host地址的專用設(shè)置

          c2c6409feccf67b9d8dc393d9fab8147.webp

          ▲圖  3 . 3

          3.4、 token認(rèn)證參數(shù)化,正則表達(dá)式參數(shù)化其實就是變量,也是為了便于區(qū)分,它專用于在響應(yīng)數(shù)據(jù)中動態(tài)取值,例如token取值,登錄接口執(zhí)行后需要把動態(tài)的token值從響應(yīng)數(shù)據(jù)中匹配出來,就可以采用正則表達(dá)式的方式提取,另外還可以用jsonpath的方式

          8589e8f2b10891db4fb72bbde4d84499.webp

          ▲圖  3 . 4

          系統(tǒng)參數(shù)設(shè)置好以后,在接口測試用例各個參數(shù)里面{關(guān)鍵字}進(jìn)行讀取。

          4、  測試用例

          4.1、 接口錄入,

          測試環(huán)境,是系統(tǒng)設(shè)置里面的環(huán)境設(shè)置參數(shù),{關(guān)鍵字};

          請求,包括請求方式和url

          請求Body,

          參數(shù),

          認(rèn)證,

          斷言,目前斷言進(jìn)包含一個字段的設(shè)置;

          正則表達(dá)式,  正則表達(dá)式是對當(dāng)前接口返回值設(shè)置參數(shù)后,后續(xù)接口請求中可用 {關(guān)鍵字} 動態(tài)取值 ,通常在流程接口中需要使用到。

          698440018983843ae82dd751197d150a.webp

          ▲圖 4 .1

          在如上圖4.1所示,在各個字段填寫正確接口信息,點擊發(fā)送,可以看到響應(yīng)Body一欄,出現(xiàn)接口的響應(yīng)信息,如下圖4.2所示:

          3fe1ca473153ee3d250a841c053e6f29.webp

          ▲圖 4 .2

          通常接口錄入時,如果是post請求且是json數(shù)據(jù)則在請求Body里面填入。

          如果是get請求,或者post請求的form格式數(shù)據(jù),則在參數(shù)一欄填寫,如下圖4.3所示:

          e7b63abfd5b9aee78ef5d1026af11f88.webp

          ▲圖 4 .3

          頭信息 默認(rèn)設(shè)置了3個參數(shù),全刪或不填再次編輯時默認(rèn)是3個字段,如下圖4.4所示:

          426d563a7e269b40679de1ff17874853.webp

          ▲圖 4 .4

          認(rèn)證 一般填token參數(shù),這參數(shù)在是上一個登錄接口返回值中用正則表達(dá)式關(guān)鍵字設(shè)置為token,先發(fā)送執(zhí)行上一個接口,則在當(dāng)前接口中通過認(rèn)證可以獲取token動態(tài)值。后面會把token設(shè)置在系統(tǒng)參數(shù)設(shè)置項里面就會更方便一些,不用每次在接口列表中先執(zhí)行登錄接口獲取,而是在系統(tǒng)參數(shù)里面自動執(zhí)行登錄接口來獲取token,功能還在開發(fā)中。如下圖4.5所示:

          d2ed3a9eb8a3e9cd0cb844b9b7f5aa91.webp

          ▲圖 4 .5

          斷言 是輸入要判斷的響應(yīng)數(shù)據(jù),如下圖4.6所示:

          541bbd4fe0472356e8284809c0c766c9.webp

          ▲圖 4 .6

          正則表達(dá)式,填寫關(guān)鍵字,如token等,索引是指有多個匹配值時,匹配第0個,第1個,第2個,一般輸入0或1,或2,如下圖4.7所示:

          716b4dcfa1898c4411cc0d78241e9abf.webp

          ▲圖 4 .7

          發(fā)送,調(diào)試通過后,點擊保存。此時即完成了接口自動化測試用例的錄入。

          eb020bb4f3a30ac7d9b9adaf83dd1202.webp

          ▲圖 4 .8

          4.2、接口編輯

          在上圖4.8用例列表中,可以編輯和復(fù)制,界面信息和新增是一樣的。點擊編輯,則進(jìn)入編輯頁面,如果接口內(nèi)容存在一部分相同內(nèi)容,則可以點擊復(fù)制來進(jìn)行新增用例的操作,提高接口用例錄入的效率,非常的方便。

          如果redis沒啟動,或者token接口沒有執(zhí)行,則在發(fā)送執(zhí)行當(dāng)前有token參數(shù)的接口時,接口執(zhí)行速度會很慢,執(zhí)行完成后會響應(yīng)Body中報相應(yīng)error信息,如下圖4.9所示:

          4ca81a9de48d8c9a16855acf4a8458e2.webp

          ▲圖 4 .9

          這時,你再可以啟動redis以及執(zhí)行有token正則表達(dá)式的登錄接口,再來執(zhí)行當(dāng)前接口,就會不會報異常了,你在請求頭中可以看到token的具體值,以及斷言結(jié)果,響應(yīng)碼和響應(yīng)時間等接口執(zhí)行結(jié)果信息,如下圖4.10,4.11所示:

          6a62e597e8ec16bfdc38c7ef1b3d1a1a.webp

          ▲圖 4 .10

          ▲圖 4 .11

          接口的參數(shù)化值,通過{關(guān)鍵字}獲取,參數(shù)在系統(tǒng)設(shè)置里面。

          如下接口入?yún)numRandom}是表示一個動態(tài)的隨機數(shù)字。

          ▲圖  4 . 12

          4.3、 接口復(fù)制

          當(dāng)有類似或相同內(nèi)容的接口信息時,通過 接口 復(fù)制以及修改部分內(nèi)容 來新增接口用例以及 保存,可以節(jié)省接口錄入時間,提高效率,非常實用。

          ▲圖  4 . 13

          新增模塊,修改模塊,刪除模塊,如下圖4.14,4.15,4.16所示

          ▲圖 4.14

          ▲圖 4.15

          ▲圖 4.16

          新增子模塊,修改子模塊功能,刪除子模塊功能:如下圖4.17,4.18,4.19所示

          ▲圖 4.17

           

          ▲圖 4.18

          ▲圖 4.19

           

          5、  測試計劃

          5. 1、進(jìn)入測試計劃模塊,點擊“添加”,如下圖5.1:

          ▲圖  5.1

          5.2、 彈出添加測試計劃頁面,分別輸入計劃名稱,選擇測試執(zhí)行環(huán)境,選擇定時觸發(fā)自動執(zhí)行時間,如下圖5.2:

          ▲圖  5. 2

          5.3  上圖5.2中點擊“選擇接口”,彈出界面中,在第一頁點擊“全選框”,如下圖5.3:

          ▲圖  5. 3

          5.4、 點擊“下一頁”,復(fù)選框勾選編號8、9、10一共10個用例,加入到測試計劃中,點擊“選擇”,如下圖5.4:

          ▲圖  5. 4

          5.5、 然后在測試計劃頁面,可以看到剛剛選擇的10個用例,此時,如果想增加或減少用例,點擊“重選”。如果確定就點擊“保存”。到此測試計劃添加創(chuàng)建完成,如下圖5.5:

          ▲圖  5. 5

          5.6、 在測試計劃模塊,可看到剛剛創(chuàng)建的測試計劃,可以點擊“執(zhí)行”,如下圖5.6,然后等待,執(zhí)行進(jìn)度 會實時顯示執(zhí)行進(jìn)度,也 可以在django服務(wù)啟動的后臺查看接口運行情況和進(jìn)度,完成后 提示執(zhí)行成功,可 進(jìn)入測試報告模塊查看該測試計劃的報告。

          ▲圖  5. 6

          5.7、 然后是編輯,測試計劃頁面點擊“編輯”,如下圖5.7:

          ▲圖  5. 7

          5.8、 進(jìn)入編輯頁面,通常情況,需要對測試計劃增加用例,減少用例,以及接口有改動。那么測試計劃里面要相應(yīng)的編輯。如下圖5.8, 在第5行處,點擊“+”,會在下面新增一行,點擊“-” 會刪除當(dāng)前這一行

          ▲圖  5. 8

          5.9、 在新增的這一行,即第6行處,點擊“選擇接口”,如圖5.9:

          ▲圖  5. 9

          5.10、 在編輯選擇接口頁面,選擇編號為13的接口,點擊“選擇”,如下圖5.10:

          ▲圖  5.1 0

          5.11、 在測試計劃編輯頁面,就可以看到剛剛新增的這條用例,然后點擊勾選調(diào)試,執(zhí)行完成后可以看到狀態(tài)為測試通過,日志輸出最后一條用例的執(zhí)行信息, 當(dāng)顯示測試失敗時,根據(jù)右側(cè)執(zhí)行日志,在接口用例中重新修改接口信息,再次添加調(diào)試,當(dāng)然,也可以去掉勾選不執(zhí)行當(dāng)前這條用例繼續(xù)調(diào)試其他的接口用例。 如下圖5.11:

          ▲圖  5. 11

          5.12、 然后點擊“保存”,此時,新增和刪除的一條用例的編輯就完成了。接下來看看修改了接口如何編輯,首頁在測試用例模塊,修改3條用例的名稱或參數(shù),且這3條接口用例在以上測試計劃中已加入,修改完用例后,再在測試計劃里點“編輯”,此時,剛剛修改的3個測試用例后面,出現(xiàn)了“更新”,如下圖5.12:

          ▲圖  5. 12

          5.13、 然后在要同步要更新的接口用例后面點擊“更新”,完成后會提示該接口已更新,已保存!然后點擊確定。如下圖5.13:

          ▲圖  5.1 3

          5.14、 在編輯測試計劃頁面,可以看到剛剛點擊的接口名稱已經(jīng)更新成了之前在測試用例模塊修改的測試用例名稱。

          ▲圖  5.1 4

          5.15、 最后就是查詢、刪除測試計劃,這個就沒什么好講的了,這里刪除測試計劃后,之前執(zhí)行該測試計劃的測試報告不受影響,依然是保留在測試報告模塊里面。

          6、  測試報告

          6.1、 根據(jù)id,測試計劃,執(zhí)行時間,查看測試報告列表

          ▲圖  6 .1

          6.2、 根據(jù)報告id,詳情查看報告的詳細(xì)接口自動化測試結(jié)果信息

          ▲圖  6 . 2

          6.3、 下載保存為報告id的html文件,以及詳細(xì)接口自動化測試結(jié)果信息數(shù)據(jù)

          ▲圖  6 . 3

          7、  性能測試

          性能測試基于jmeter引擎,目前版本暫時沒有設(shè)計存儲數(shù)據(jù)庫表,因此測試過程和結(jié)果數(shù)據(jù)都是屬于實時一次性的。環(huán)境需要安裝jdk1.8版本,下載當(dāng)前jmeter版本是5.6.2,把jmeter文件以及包含的報告漢化包放到Autotestplat目錄下,啟動django,登錄自動化測試平臺系統(tǒng)。

          7. 1,點擊 “選擇” ,看到選擇的接口列表下會顯示相應(yīng)接口名稱,要移除選擇的話,在選擇的接口列表點擊相應(yīng)的接口即可;然后在設(shè)置行輸入 并發(fā)線程數(shù) 、 持續(xù)時間 ,如下圖7.1所示

          ▲圖 7.1

          7. 2   點擊 “生成Jmeter文件” ,接口運行沒問題的話,幾毫秒時間,界面就右側(cè)會顯示 狀態(tài):已生成;生成的apitest.jmx文件在Autotestplat\apache-jmeter-5.6.2\bin目錄;如下圖7.2所示:

          ▲圖 7.2

          7. 3,點擊 “測試開始” ,看執(zhí)行進(jìn)度條,以及后臺并發(fā)壓測的接口請求,如下圖7.3所示:

          ▲圖 7.3

          7.4, 執(zhí)行完成后,右側(cè)會顯示 狀態(tài):測試完成,如下圖7.4所示

          ▲圖 7.4

          7.5 ,點擊 "查看結(jié)果" ,概述,圖表中可以看響應(yīng)時間,TPS性能測試結(jié)果指標(biāo)等。如下圖7.5

          ▲圖 7.5

          8、  AppUI測試

          安裝pip install -U uiautomator2

          安裝pip install -U weditor

          1,在系統(tǒng)設(shè)置中,選擇App設(shè)置項,填寫自動化框架,appium或uiautomator2,如果是appium則要必須輸入Android版本號,手機序列號,待測app包名和初始頁activity?;谠膗iautomator相對簡單一些,所以 這里 默認(rèn)設(shè)置為它。如下圖8.1所示:

          ▲圖 8.1

          2、手機開啟開發(fā)者模式,開啟debug開關(guān),連接電腦。python -m wedtor,允許手機存儲文件模式,以及自動安裝atx到手機并啟動,然后在電腦上可對手機微信app頁面元素控件抓取。如下圖8.2所示:

          (圖片有點小,可點擊擴大查看)

          ▲圖 8.2

          3、新增AppUI自動化操作微信,查看朋友圈的用例,在AppUI中,點擊“新增”,輸入用例名稱,第1步輸入對象名稱為啟動微信、選擇正確的定位方法、元素、操作方法和測試數(shù)據(jù),點擊“+”,第2步參考第一步的輸入,點擊發(fā)現(xiàn),第3步點擊朋友圈,則用例完成。如下圖8.3所示:

          ▲圖 8.3

          4,執(zhí)行用例,連接和設(shè)置手機,執(zhí)行過程如果步聚都為未執(zhí)行,則該用例測試結(jié)果會顯示未執(zhí)行,如果有步聚是失敗的,則該用例會顯示紅色fail,如果每個步聚都是pass,則該用例顯示綠色pass。如下圖8.4所示

          ▲圖 8.4

          5,如果新增時用例有相同或相似步聚,則點擊復(fù)制,然后修改保存即可,如下圖8.4所示

          ▲圖 8.5

          6、修改用例時,多了一個字段,即排序,在全量執(zhí)行用例時,會按照用例排序依次按順序逐個執(zhí)行每個用例。如下圖8.5,8.6所示:

          ▲圖 8.6

          ▲圖 8.7

          9、  WebUI測試

          第1步:安裝谷歌瀏覽器,版本為100.0.4896.75 ,驅(qū)動與版本一致即可。

          第2步:系統(tǒng)設(shè)置中,設(shè)置默認(rèn)web自動化框架為selenium,如下圖9.1所示:

          ▲圖 9.1

          第3步:依次錄入了3個不同的用例,登錄Autotestplt系統(tǒng),新增WebUI用例,執(zhí)行接口測試計劃。元素定位方式通常用id,name,xpath;操作方法通常用click和sendkey。如下圖9.2,9.3所示:

          ▲圖 9.2

          ▲圖 9.3

          第4步:執(zhí)行單個用例,或全量執(zhí)行用例,查看用例測試結(jié)果。

          四、版本發(fā)布

          1、 2018 年5月發(fā)布 V1.0 版本 https://githubfast.com/testdevhome/Autotestplat/tree/V1.0

          2、 2023 11 月發(fā)布 V2.0 版本 https://githubfast.com/testdevhome/Autotestplat/tree/V2.0

          3、 2023 12 月發(fā)布 V3.0 版本 https://githubfast.com/testdevhome/Autotestplat/tree/V3.0

          4、 2023 12 月發(fā)布 V4.0 版本 https://githubfast.com/testdevhome/Autotestplat/tree/V4.0

          5、 2024 1 月發(fā)布 V5.1 版本 https://githubfast.com/testdevhome/Autotestplat/tree/V5.1.2


          6、20241月發(fā)布V5.2版本https://githubfast.com/testdevhome/Autotestplat 

           

          項目地址:

          https://pan.baidu.com/s/13nMWWFTmY__IArrvYrICBA?pwd=1234

          https://github.com/testdevhome/Autotestplat

          https://gitee.com/mirrors/autotestplat



          A ut otestplat-V5.2.2版本在 baidu云盤和github 發(fā)布了。 https://pan.baidu.com/s/13nMWWFTmY__IArrvYrICBA?pwd=1234

          ?? 新功能
          新增(使用手冊): 新增了鏈接使用手冊功能。 新增(產(chǎn)品切換): 新增了產(chǎn)品/項快速切換功能。


          ?? BUG修復(fù)

          修復(fù)了若干。



          、技術(shù)交流



          本月你最喜歡哪些功能,歡迎評論區(qū)告訴我們 ?? 

          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91人妻综合 | 色大香蕉色大香蕉色大香蕉色大香蕉色色 | 午夜激情啪啪 | 婷婷五月天基地 | 东京热成人AV无码 |