UI 自動化測試整合 Charles breakpoint & mock 等功能
Scripts_Web_UI_Autotest
簡介: 一款結合 breakpoint && mock 的 Web-UI 自動化測試工具,讓你的前端自動化徹底擺脫後端和抓包工具的束縛,直接起飛。
專案地址: shaonianyr/Scriptes_Web_UI_Autotest
技術棧: node.js && puppeteer
備註: demo 裡面通過 goto.url 的方式來觸發攔截,實際上可以通過模擬自動點點點的方式來觸發攔截,支援監聽正常 Response 做校驗斷言,也支援攔截超時,中斷請求,mock資料等各種異常狀態的模擬,已封裝好函式可快捷呼叫實現。
Usage
# 部署專案
git clone https://github.com/ShaoNianyr/Scripts_Web_UI_Autotest
cd Scripts_Web_UI_Autotest
# 跳過 puppeteer 的 chronium 安裝
npm i --ignore-scripts
# 手動訪問如下地址版本下載 puppeteer 的 chronium,解壓至專案根目錄下
https://storage.googleapis.com/chromium-browser-snapshots/Mac/756035/chrome-mac.zip
# 啟動 demo 後端
cd server
node app.js
# 啟動 demo 攔截測試
cd ..
node index.js
Methods
// 正常監聽 request 和 reponse
try {
listen_url = 'http://localhost:5000/';
var page = await browser.newPage();
await page.setRequestInterception(true);
scripts_listen(page, listen_url);
await page.goto('http://localhost:5000/');
await page.waitFor(1000);
await page.close();
} catch (error) {
await page.close();
}
// 模擬 request timout
try {
timeout_url = 'http://localhost:5000/';
var page = await browser.newPage();
await page.setRequestInterception(true);
scripts_abort(page, timeout_url, "timedout");
await page.goto('http://localhost:5000/');
} catch (error) {
await page.close();
}
// mock reponse
try {
mock_url = 'http://localhost:5000/';
var page = await browser.newPage();
await page.setRequestInterception(true);
scripts_mock(page, mock_url, 500, 'text/plain', 'Mock body what you want!');
await page.goto('http://localhost:5000/');
await page.waitFor(1000);
await page.close();
} catch (error) {
await page.close();
}
View
Contributing
相關文章
- 自動化測試系列 —— UI自動化測試UI
- 自動化測試系列(三)|UI測試UI
- UI 自動化測試平臺UI
- UI自動化測試之AirtestUIAI
- UI自動化測試實戰UI
- UI自動化測試工程實踐UI
- UI自動化測試框架Cypress初探UI框架
- Postman實現UI自動化測試PostmanUI
- android 5個自動化測試Ui框架AndroidUI框架
- 前端自動化UI測試的完整方案前端UI
- 關於Web端-UI自動化測試WebUI
- APP UI自動化測試思路總結APPUI
- 前端ui自動化測試sdk封裝前端UI封裝
- UI自動化測試-web元素選擇UIWeb
- Jenkins整合appium自動化測試(Windows篇)JenkinsAPPWindows
- 移動端 UI 自動化測試框架對比UI框架
- UI自動化測試介紹及入門UI
- 使用Selenium自動化測試SAP CRM WebClient UIWebclientUI
- iOS appium UI 自動化測試配置可控 xpathiOSAPPUI
- 關於 ui 自動化測試 driver 疑問?UI
- ui自動化測試,頁面方法的使用UI
- jenkins介面、UI自動化持續整合JenkinsUI
- UI自動化測試之selenium超神之路(1)UI
- 【自動化測試入門】自動化測試思維
- 一種基於 cypress 的 UI 自動化測試框架UI框架
- 從一次故障聊聊前端 UI 自動化測試前端UI
- 思考如何將自動化測試加入持續整合中
- 自動化裝置測試與自動化測試的區別
- 如何做自動化測試?什麼是自動化測試?
- 軟體測試:自動化測試
- python+selenium UI自動化測試環境搭建及使用PythonUI
- 內部UI自動化測試培訓之python基礎UIPython
- Flutter UI自動化測試技術方案選型與探索FlutterUI
- airTest自動化測試AI
- selenium自動化測試
- 自動化測試篇
- python自動化測試Python
- API自動化測試API