日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

端到端測(cè)試實(shí)戰(zhàn):從環(huán)境搭建到CI流水線的完整指南

端到端測(cè)試實(shí)戰(zhàn):從環(huán)境搭建到CI流水線的完整指南 1. 端到端測(cè)試到底在測(cè)什么先說結(jié)論e2eend-to-end這個(gè)縮寫在我這個(gè)崗位每天都會(huì)出現(xiàn)它不是某個(gè)工具的名字而是一整套測(cè)試思路——把整個(gè)系統(tǒng)當(dāng)成一個(gè)黑盒從用戶視角走完一條完整的業(yè)務(wù)鏈路驗(yàn)證用戶能做的事情系統(tǒng)真的能讓他做成。舉個(gè)最直白的例子。你做一個(gè)電商網(wǎng)站單元測(cè)試只驗(yàn)證購(gòu)物車加一件商品后數(shù)量從0變成1接口測(cè)試只驗(yàn)證POST /cart 返回200。但用戶不會(huì)關(guān)心這些用戶關(guān)心的是打開首頁(yè)、搜商品、點(diǎn)加入購(gòu)物車、去結(jié)算、填地址、付款——這一串動(dòng)作能不能流暢走通。這個(gè)過程里任何一個(gè)環(huán)節(jié)出問題哪怕中間十個(gè)接口都返回正常用戶層面最終就是買不了東西。e2e測(cè)的就是這條完整鏈路。我剛工作那兩年也不太理解為什么要單獨(dú)搞e2e總覺得單元測(cè)試和接口測(cè)試覆蓋率夠了就萬事大吉。后來線上出過一次事故下單接口返回成功但前端跳轉(zhuǎn)支付頁(yè)的時(shí)候因?yàn)橐粋€(gè)字段名對(duì)不上頁(yè)面白屏。接口測(cè)試和單測(cè)全綠用戶就是付不了錢。那次之后我徹底想明白了測(cè)試金字塔再漂亮缺了e2e這層你永遠(yuǎn)不知道拼起來之后系統(tǒng)到底能不能用。這篇文章我用實(shí)際項(xiàng)目里的經(jīng)驗(yàn)把e2e從環(huán)境搭建、用例設(shè)計(jì)、執(zhí)行策略到問題排查完整拆一遍。適合剛接觸e2e的測(cè)試開發(fā)也適合寫了幾年e2e但總覺得用例跑不穩(wěn)的同學(xué)對(duì)照參考。2. 環(huán)境準(zhǔn)備工具選型和profile1配置的來龍去脈2.1 測(cè)試框架選型別盲目追新e2e的工具生態(tài)這幾年變化很快。老牌的Selenium還在但它走的是WebDriver協(xié)議啟動(dòng)瀏覽器、執(zhí)行命令的鏈路很長(zhǎng)跑起來慢而且對(duì)現(xiàn)代前端框架里那種動(dòng)態(tài)DOM的兼容性越來越吃力。Cypress當(dāng)年很火把執(zhí)行環(huán)境從瀏覽器外面挪到瀏覽器內(nèi)部速度確實(shí)快了一個(gè)量級(jí)但它有個(gè)天然的短板只能在Chromium系跑多瀏覽器覆蓋不方便而且它對(duì)多標(biāo)簽頁(yè)、跨域場(chǎng)景支持得很別扭。目前我主推Playwright。它是微軟開源的項(xiàng)目底層走的是CDPChrome DevTools Protocol啟動(dòng)速度和執(zhí)行穩(wěn)定性比Selenium強(qiáng)太多API設(shè)計(jì)上對(duì)等待策略做了內(nèi)置處理能自動(dòng)等元素可見、可點(diǎn)、可操作一個(gè)腳本能同時(shí)控Chromium、Firefox、WebKit三種內(nèi)核對(duì)用戶可能用不同瀏覽器訪問這個(gè)場(chǎng)景覆蓋得最省力。工具選型這件事我不建議糾結(jié)太久記住一個(gè)原則有長(zhǎng)期維護(hù)、社區(qū)活躍、API設(shè)計(jì)符合直覺、能覆蓋你的目標(biāo)瀏覽器。目前Playwright在這幾個(gè)維度上都是最優(yōu)解。2.2 e2e profile1是什么意思很多項(xiàng)目中你都會(huì)看到測(cè)試配置文件帶profile字樣的命名比如profile1其實(shí)就是一套端到端測(cè)試的崗位職責(zé)配置文件。不同項(xiàng)目叫法不太一樣有的叫env有的叫config有的叫profile。核心作用只有一個(gè)把跑哪套環(huán)境、連哪個(gè)服務(wù)、用哪組賬號(hào)、跑哪些用例這些決定測(cè)試行為的參數(shù)從代碼里抽離出來單獨(dú)管理。我習(xí)慣這樣組織profile1對(duì)應(yīng)默認(rèn)的本地開發(fā)和測(cè)試環(huán)境localhost 測(cè)試庫(kù) 測(cè)試賬號(hào)組profile2對(duì)應(yīng)預(yù)發(fā)布環(huán)境staging 預(yù)發(fā)布庫(kù) 隔離賬號(hào)組profile3對(duì)應(yīng)生產(chǎn)驗(yàn)證環(huán)境灰度域名 只讀賬號(hào) 核心鏈路用例這樣做的原因很樸素一套測(cè)試腳本如果能同時(shí)適配多套環(huán)境那它就是可復(fù)用的資產(chǎn)而不是一次性腳本。你想想開發(fā)環(huán)境、測(cè)試環(huán)境、預(yù)發(fā)布環(huán)境、生產(chǎn)環(huán)境本質(zhì)上是同一套業(yè)務(wù)代碼跑在不同配置下沒理由每次換環(huán)境就重寫一遍測(cè)試。2.3 項(xiàng)目目錄結(jié)構(gòu)和基礎(chǔ)配置先看一個(gè)我常用的項(xiàng)目初始化結(jié)構(gòu)e2e-project/ ├── package.json ├── playwright.config.ts ├── profiles/ │ ├── profile1.json │ ├── profile2.json └── tests/ ├── auth.spec.ts ├── order.spec.ts └── payment.spec.tspackage.json里需要裝的東西很少核心就一個(gè)npm init -y npm install -D playwright/test npx playwright installnpx playwright install這條命令會(huì)把三個(gè)內(nèi)核的瀏覽器二進(jìn)制下載到本地這一步在國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下有時(shí)候比較慢建議提前配好鏡像源或者手動(dòng)下載瀏覽器包放到緩存目錄能省不少時(shí)間。然后是配置文件核心部分// playwright.config.ts import { defineConfig, devices } from playwright/test; import profile1 from ./profiles/profile1.json; export default defineConfig({ testDir: ./tests, timeout: 60000, retries: 1, use: { baseURL: profile1.baseURL, trace: retain-on-failure, video: on-first-retry, }, projects: [ { name: chromium, use: { ...devices[Desktop Chrome] }, }, ], });這里最關(guān)鍵的是讀取了profile1.json里的baseURL整個(gè)測(cè)試套件跑哪套環(huán)境完全由profile文件決定改測(cè)試代碼的頻次大大降低。3. 用例設(shè)計(jì)思路從業(yè)務(wù)鏈路反推測(cè)試步驟3.1 用戶旅程優(yōu)先e2e用例設(shè)計(jì)的最大誤區(qū)是照著接口文檔一個(gè)個(gè)點(diǎn)頁(yè)面。真正有效的做法是先從業(yè)務(wù)價(jià)值出發(fā)把用戶最常走的路徑列出來然后逐個(gè)覆蓋。以電商系統(tǒng)為例最高優(yōu)先級(jí)的用戶旅程有幾條登錄 - 搜索商品 - 加購(gòu)物車 - 結(jié)算 - 下單成功登錄 - 領(lǐng)取優(yōu)惠券 - 結(jié)算時(shí)校驗(yàn)價(jià)格 - 支付 - 訂單狀態(tài)更新未登錄 - 瀏覽商品 - 加購(gòu)物車 - 結(jié)算時(shí)引導(dǎo)登錄 - 登錄后訂單鏈路繼續(xù)這三條鏈路的共同點(diǎn)是每一步都依賴上一步成功任一處斷裂用戶行為就終止了。e2e的價(jià)值恰恰在于驗(yàn)證這種連續(xù)依賴。設(shè)計(jì)用例的時(shí)候我習(xí)慣先畫一條業(yè)務(wù)時(shí)序然后確認(rèn)每一步的頁(yè)面入口和斷言點(diǎn)。比如登錄后用戶名出現(xiàn)在頁(yè)面右上角是斷言點(diǎn)搜索結(jié)果的第一個(gè)商品標(biāo)題包含關(guān)鍵詞也是斷言點(diǎn)。斷言點(diǎn)不一定要多但必須要能證明這一步真的成功。3.2 用例數(shù)量控制不是越多越好很多人一上來就寫幾百條e2e用例跑一遍一兩個(gè)小時(shí)結(jié)果每天光排查flaky就花掉半天。e2e用例的定位是核心鏈路守門員不是全功能覆蓋者。全功能覆蓋應(yīng)該由單元測(cè)試和接口測(cè)試去完成。我個(gè)人的經(jīng)驗(yàn)是一個(gè)中等復(fù)雜度的后端系統(tǒng)e2e用例控制在30到50條比較合理。每條用例對(duì)應(yīng)一條關(guān)鍵用戶旅程或者一個(gè)核心業(yè)務(wù)規(guī)則。如果用例數(shù)量超過100條先看看是不是把本該在接口層測(cè)的東西寫到了e2e里。3.3 數(shù)據(jù)準(zhǔn)備與清理策略e2e測(cè)試最頭疼的問題是數(shù)據(jù)。測(cè)試環(huán)境的數(shù)據(jù)總量、污染程度、并發(fā)隔離方式直接決定了用例的穩(wěn)定性。我的做法是優(yōu)先用測(cè)試框架的API造數(shù)據(jù)不要通過UI一步步創(chuàng)建。比如注冊(cè)用戶這個(gè)前置條件直接調(diào)后端的注冊(cè)接口生成賬號(hào)比用UI跑一遍注冊(cè)流程快得多也省去UI注冊(cè)時(shí)的驗(yàn)證碼、短信等干擾。用例之間隔離每個(gè)用例盡量使用獨(dú)立數(shù)據(jù)。比如下單用例每次生成一個(gè)新的隨機(jī)手機(jī)號(hào)作為登錄賬號(hào)避免上一個(gè)用例殘留的訂單數(shù)據(jù)影響下一個(gè)用例。測(cè)試數(shù)據(jù)清理跑完用例后把創(chuàng)建的數(shù)據(jù)在teardown里清理掉。如果清理成本高至少保證測(cè)試數(shù)據(jù)有統(tǒng)一前綴便于定期批量清理。4. 從零寫一條完整的e2e用例4.1 登錄注冊(cè)模塊的e2e實(shí)戰(zhàn)我拿注冊(cè) 登錄這條鏈路來演示完整寫法。注冊(cè)登錄是幾乎所有系統(tǒng)的入口也是e2e里最容易出現(xiàn)理解偏差的模塊——很多人把它當(dāng)兩個(gè)用例寫其實(shí)從用戶視角來看注冊(cè)完之后自動(dòng)登錄這是一條連續(xù)旅程。import { test, expect } from playwright/test; test(新用戶注冊(cè)后自動(dòng)登錄并進(jìn)入首頁(yè), async ({ page }) { // 生成唯一手機(jī)號(hào)保證每次運(yùn)行不會(huì)撞庫(kù) const timestamp Date.now(); const phone 138${String(timestamp).slice(-8)}; const password Test12345; // 打開注冊(cè)頁(yè)面 await page.goto(/register); // 填寫注冊(cè)表單 await page.getByLabel(手機(jī)號(hào)).fill(phone); await page.getByLabel(設(shè)置密碼).fill(password); await page.getByLabel(確認(rèn)密碼).fill(password); // 提交注冊(cè) await page.getByRole(button, { name: 注冊(cè) }).click(); // 關(guān)鍵斷言注冊(cè)成功后應(yīng)自動(dòng)登錄并跳轉(zhuǎn)首頁(yè) await expect(page).toHaveURL(/\/home/); // 斷言登錄態(tài)右上角出現(xiàn)用戶昵稱或手機(jī)號(hào)掩碼 const userMenu page.getByTestId(user-menu); await expect(userMenu).toBeVisible(); await expect(userMenu).toContainText(phone.slice(0, 3) ****); });這里有幾個(gè)細(xì)節(jié)值得展開說。手機(jī)號(hào)用時(shí)間戳生成是為了防止測(cè)試環(huán)境里出現(xiàn)重復(fù)賬號(hào)如果不用時(shí)間戳第二次跑同一個(gè)用例就會(huì)遇到手機(jī)號(hào)已注冊(cè)的異常用例直接失敗但這不是被測(cè)系統(tǒng)的bug是測(cè)試代碼自己的問題。這類問題統(tǒng)稱為測(cè)試自身不穩(wěn)定因素要在設(shè)計(jì)階段就規(guī)避掉。getByLabel、getByRole、getByTestId這些是Playwright推薦的定位API優(yōu)先于className和id選擇器。原因在于className和id是前端代碼的實(shí)現(xiàn)細(xì)節(jié)重構(gòu)時(shí)很容易變而label、role、testid這些相對(duì)更接近用戶可見的語義穩(wěn)定性要好很多。我見過太多項(xiàng)目因?yàn)榍岸税杨惷麖腷tn-login改成了login-button結(jié)果整個(gè)e2e套件紅一片。用語義化定位器之后這種情況基本絕跡。4.2 電商下單全流程用例下單鏈路是e2e中最能體現(xiàn)端到端價(jià)值的場(chǎng)景。這里要覆蓋搜索、加購(gòu)、購(gòu)物車校驗(yàn)、結(jié)算、支付回調(diào)、訂單生成一整串流程。test(用戶購(gòu)買商品后訂單狀態(tài)為待支付, async ({ page }) { // 登錄這里直接調(diào)用接口造數(shù)據(jù)不走UI const phone 13800000001; await page.request.post(/api/auth/login, { data: { phone, password: Test12345 }, }); // 進(jìn)入首頁(yè)搜索商品 await page.goto(/); await page.getByPlaceholder(搜索商品).fill(無線耳機(jī)); await page.keyboard.press(Enter); // 第一個(gè)搜索結(jié)果點(diǎn)擊進(jìn)入詳情 const firstItem page.locator(.product-list-item).first(); await firstItem.click(); // 詳情頁(yè)加購(gòu) await page.getByRole(button, { name: 加入購(gòu)物車 }).click(); // 去購(gòu)物車頁(yè)結(jié)算 await page.goto(/cart); await expect(page.getByText(無線耳機(jī))).toBeVisible(); await page.getByRole(button, { name: 去結(jié)算 }).click(); // 結(jié)算頁(yè)確認(rèn)訂單 await page.getByRole(button, { name: 提交訂單 }).click(); // 跳轉(zhuǎn)支付頁(yè)驗(yàn)證訂單號(hào)存在 await expect(page).toHaveURL(/\/payment/); const orderNo await page.locator(.order-no).innerText(); expect(orderNo.length).toBeGreaterThan(0); });這條用例我特意把登錄前置到api層理由很簡(jiǎn)單登錄本身不是這條用例的測(cè)試目標(biāo)下單才是。如果讓每條下單用例都先走一遍UI登錄不但拖慢執(zhí)行時(shí)間還會(huì)因?yàn)榈卿浤K的偶發(fā)問題污染其他模塊的測(cè)試結(jié)果。e2e的粒度要遵循只測(cè)這條鏈路應(yīng)該測(cè)的東西這個(gè)原則。4.3 踩過的坑選擇器、等待和斷言時(shí)機(jī)寫e2e必然會(huì)遇到三個(gè)經(jīng)典問題。第一個(gè)是選擇器不穩(wěn)定。我剛才一直強(qiáng)調(diào)語義化定位器但這還不夠。很多現(xiàn)代前端框架比如Vue、React渲染是異步的數(shù)據(jù)加載中頁(yè)面先顯示骨架屏數(shù)據(jù)到了之后才渲染真實(shí)內(nèi)容。如果在骨架屏階段就去定位元素大概率會(huì)失敗。Playwright的自動(dòng)等待機(jī)制解決了一部分問題但仍要養(yǎng)成習(xí)慣關(guān)鍵交互前先斷言前置條件比如等加載完成標(biāo)識(shí)出現(xiàn)再點(diǎn)擊按鈕。第二個(gè)是等待策略。不要用硬編碼的sleep比如page.waitForTimeout(3000)。這類寫法是flaky用例的最大源頭——這3秒在網(wǎng)絡(luò)快的時(shí)候是浪費(fèi)在網(wǎng)絡(luò)慢的時(shí)候還不夠。正確做法是等待某個(gè)期望狀態(tài)出現(xiàn)Playwright里就是await expect(locator).toBeVisible()這類斷言式等待它會(huì)在元素滿足條件時(shí)立刻返回不滿足時(shí)一直重試直到超時(shí)。這套機(jī)制比固定等待穩(wěn)得多。第三個(gè)是斷言時(shí)機(jī)。很多新手在頁(yè)面跳轉(zhuǎn)后立刻斷言URL但跳轉(zhuǎn)過程可能還在路由切換中斷言太早就會(huì)失敗。正確做法是先斷言一個(gè)目標(biāo)頁(yè)面特有的元素再斷言URL。比如跳轉(zhuǎn)支付頁(yè)后先等支付金額這個(gè)元素可見再校驗(yàn)URL里有沒有payment字段順序別反過來。5. 執(zhí)行策略從本地調(diào)試到CI流水線5.1 本地運(yùn)行 Debug 模式不直接跑全量我在本地開發(fā)時(shí)很少一上來就跑全量測(cè)試那樣效率極低。Playwright提供了headed模式和調(diào)試模式我會(huì)先用--headed跑一條單用例肉眼確認(rèn)頁(yè)面行為對(duì)得上預(yù)期。如果中途出問題可以打開trace viewer回放每一步操作和頁(yè)面截圖定位是選擇器寫錯(cuò)還是頁(yè)面邏輯有變化。調(diào)試完之后再切回headless模式跑全量回歸。實(shí)際使用中trace這項(xiàng)功能特別值得開。它會(huì)在測(cè)試失敗時(shí)自動(dòng)記錄一段執(zhí)行軌跡包含網(wǎng)絡(luò)請(qǐng)求、DOM快照、控制臺(tái)日志、鼠標(biāo)鍵盤事件。排查線上環(huán)境復(fù)現(xiàn)不了的問題靠它基本能一次定位。5.2 CI里怎么跑e2e持續(xù)集成中跑e2e最怕兩件事環(huán)境不一致和并發(fā)沖突。我見過太多項(xiàng)目在本地跑得干干凈凈一上CI就各種失敗十有八九是環(huán)境差異導(dǎo)致的。我的做法是在CI里用容器來跑測(cè)試保證每次跑的瀏覽器版本、Node版本、依賴版本完全一致。GitHub Actions里可以這樣配置name: e2e-tests on: push: branches: [main] pull_request: jobs: e2e: runs-on: ubuntu-latest services: mysql: image: mysql:8.0 env: MYSQL_ROOT_PASSWORD: root ports: [3306:3306] steps: - uses: actions/checkoutv3 - uses: actions/setup-nodev3 with: node-version: 18 - run: npm ci - run: npx playwright install --with-deps - run: npx playwright test這個(gè)配置里把數(shù)據(jù)庫(kù)也作為服務(wù)一起起在CI里測(cè)試環(huán)境就能完整自包含不需要依賴外部環(huán)境。并發(fā)執(zhí)行方面Playwright默認(rèn)是跑在多個(gè)worker里的可以同時(shí)跑多個(gè)用例文件。但要特別注意多個(gè)worker同時(shí)操作同一個(gè)測(cè)試環(huán)境如果環(huán)境有共享數(shù)據(jù)就會(huì)產(chǎn)生互相干擾。比如兩個(gè)用例同時(shí)下單庫(kù)存數(shù)可能被兩個(gè)用例同時(shí)扣減最后斷言的口徑就亂了。我的方案是盡量讓每個(gè)用例的數(shù)據(jù)互相獨(dú)立如果實(shí)在沒辦法獨(dú)立就在playwright.config里把用例串行執(zhí)行export default defineConfig({ workers: process.env.CI ? 2 : 1, fullyParallel: false, });5.3 報(bào)告和失敗通知測(cè)試跑完報(bào)告必須讓人一眼看出哪破了、破在哪。Playwright默認(rèn)生成HTML報(bào)告包含每個(gè)用例的耗時(shí)、狀態(tài)、失敗截圖、trace回放入口。我會(huì)在CI里把報(bào)告上傳為artifact每次構(gòu)建完都能直接查看。失敗通知我用的是定時(shí)任務(wù)方式CI跑完如果非零退出就把結(jié)果推到團(tuán)隊(duì)的IM群里。這一步的核心價(jià)值在于快速響應(yīng)e2e掛了往往意味著主干鏈路有問題早一分鐘知道就少一批受影響的用戶。6. 常見問題與排查技巧實(shí)錄6.1 flaky測(cè)試的三大來源和解決思路flaky測(cè)試就是那種這次跑過、下次跑掛、重跑又過了的用例。它比穩(wěn)定的失敗更讓人頭疼因?yàn)槟悴淮_定是自己代碼的問題、測(cè)試的問題還是環(huán)境的問題。歸納下來98%的flaky來自下面三個(gè)地方來源典型表現(xiàn)解決方向異步渲染競(jìng)態(tài)頁(yè)面還沒渲染完就去點(diǎn)按鈕用斷言式等待替代固定sleep數(shù)據(jù)污染上一個(gè)用例殘留數(shù)據(jù)影響下一個(gè)每個(gè)用例獨(dú)立數(shù)據(jù)teardown清理環(huán)境抖動(dòng)網(wǎng)絡(luò)慢、第三方接口超時(shí)增加重試機(jī)制關(guān)鍵接口mock重試機(jī)制我建議謹(jǐn)慎使用。在CI里配置retries: 1是合理的超過3次重試就有問題了——它不是幫你解決問題而是幫你掩蓋問題。重試通過之后沒有人為這個(gè)flaky根因負(fù)責(zé)它就會(huì)一直潛伏下去。6.2 定位失敗用例的標(biāo)準(zhǔn)排查流程遇到用例失敗了我現(xiàn)在的排查流程基本固定分享出來給大家參考。第一步看失敗截圖不要急著猜。Playwright失敗時(shí)會(huì)自動(dòng)截圖先看截圖里頁(yè)面是什么狀態(tài)——是空白頁(yè)、是彈了報(bào)錯(cuò)、還是停留在上一步?jīng)]跳轉(zhuǎn)。這一眼能過濾掉一半的問題。第二步看trace。如果截圖看不出原因打開trace看操作回放重點(diǎn)看失敗前最后幾步的DOM狀態(tài)和網(wǎng)絡(luò)請(qǐng)求。如果某個(gè)接口返回了500那就是后端問題如果接口正常但斷言失敗那就是前端渲染問題。第三步看執(zhí)行日志??刂婆_(tái)的報(bào)錯(cuò)信息有時(shí)候會(huì)直接給出線索比如Failed to fetch說明網(wǎng)絡(luò)層有問題Cannot read properties of undefined說明前端JS異常。這三步走完90%以上的問題都能定位到具體層級(jí)。我強(qiáng)烈建議大家養(yǎng)成這個(gè)習(xí)慣而不是一看到失敗就重跑一遍——重跑一百遍也只能碰到運(yùn)氣好的時(shí)候通過真正的問題始終沒有暴露。6.3 前端點(diǎn)擊無效的經(jīng)典案例復(fù)盤有一個(gè)問題我想單獨(dú)拿出來說因?yàn)閹缀趺總€(gè)團(tuán)隊(duì)都會(huì)遇到按鈕明明存在點(diǎn)擊了卻沒有反應(yīng)。這個(gè)問題的根源往往是元素被某個(gè)透明遮罩層擋著或者元素看起來在頁(yè)面上、但被判定為不可點(diǎn)擊。Playwright的click會(huì)自動(dòng)檢查元素是否接收事件如果檢測(cè)到遮罩會(huì)把click攔截就會(huì)報(bào)element is not receiving events。我踩過最深的一次坑是在一個(gè)彈窗組件里彈窗關(guān)閉按鈕點(diǎn)擊之后關(guān)閉動(dòng)畫還在執(zhí)行此時(shí)頁(yè)面上殘留一層透明的遮罩層再點(diǎn)其他按鈕就會(huì)被攔截。排查了很久才發(fā)現(xiàn)是動(dòng)畫時(shí)長(zhǎng)的問題。解決方案很土但很有效點(diǎn)擊之前先斷言遮罩層已經(jīng)消失。await page.locator(.modal-mask).waitFor({ state: hidden });這一行加下去問題沒有再出現(xiàn)過。這類問題提醒我一點(diǎn)e2e測(cè)試不只驗(yàn)證業(yè)務(wù)功能它還在驗(yàn)證用戶體驗(yàn)的真實(shí)反饋。動(dòng)畫未結(jié)束、按鈕變灰、加載中狀態(tài)這些在真實(shí)用戶眼里都是點(diǎn)不了的現(xiàn)象。測(cè)試把這些問題暴露出來對(duì)業(yè)務(wù)是好事。7. 一些經(jīng)驗(yàn)之外的個(gè)人體會(huì)做了幾年e2e之后我越來越覺得它不是一個(gè)純技術(shù)工作。寫用例的時(shí)候要想業(yè)務(wù)是怎樣的買商品要走多少步用戶什么時(shí)候會(huì)退出系統(tǒng)提示應(yīng)該出現(xiàn)在哪里排查問題的時(shí)候要判斷是自己代碼還是前端邏輯還是后端服務(wù)。它逼著人從代碼能不能跑往系統(tǒng)能不能用的方向思考。所以如果你問我e2e測(cè)試框架里哪個(gè)功能最值得投入時(shí)間學(xué)習(xí)我的答案不是選擇器、不是斷言API、不是并行執(zhí)行而是讀懂一條業(yè)務(wù)鏈路的能力。工具只是實(shí)現(xiàn)手段真正決定e2e項(xiàng)目?jī)r(jià)值的是你對(duì)業(yè)務(wù)的拆解能力。把一條業(yè)務(wù)鏈路拆清楚哪里是核心、哪里是分支、哪里可以妥協(xié)比掌握任何框架的細(xì)節(jié)都重要。最后分享一個(gè)實(shí)用小技巧e2e用例命名不要用模塊名要用用戶故事。比如用戶可以用優(yōu)惠券抵扣訂單金額就比coupon_order_test更容易讓人理解這條用例為什么存在。多人協(xié)作的時(shí)候其他同事看到用例名就知道這個(gè)測(cè)試在整個(gè)系統(tǒng)里保護(hù)的是什么。這個(gè)習(xí)慣的成本幾乎為零收益卻能持續(xù)很久。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成年人网站在线免费观看| 91丝袜人妻| 无码免费在线观看黄色片| 久久超碰97中文字幕| 91亚洲色人| 国产一区二区在线看| 日韩精品区二区三区不卡| 综合网91| yazhououmeizongya| 无码99| 日本精品无码三级网站| 日韩亚洲欧美中文字幕| 日本精品久久久久久久| 色噜噜国产在线| 少妇干B| 国产兽交视频在线播放| 欧美日本不卡在线| 亚州久久9| 日本熟妇熟色97一本在线观看| 在线性黄高清免费视频| 久久成人国产精品| 大逼色网站| 亚洲图片 激情小说| 激情五月丁香五月| 亚洲欧美综合区自拍另类| 日韩欧视频| 色哟哟精品1精品2| 久草久热| 亚洲中文字幕噜噜噜久久久| 超碰99在线观看| 欧美一级久久久久久久大片动画| 99久久精品无码一区二区毛片免费| 欧美夜夜| 26uuu久久| 网友自拍第1页| 亚洲中文sv| 狠狠干妹子| 久久久男人的天堂| 日本黄页视频在线观看| 97在线免费视频观看| 9久在线视频只有精品| 国产97色在线 | 亚洲| 另类av综合久久| 久都青青视频| 免费观看有码高清视频| 91啪啪视频| 东京热男人的天堂精品| 粉嫩绯色AV一区二区在线| 日韩精品人妻一| 男女激烈网站最新| 亚洲中文字幕精品一区| 日本色色色网站免费看不卡| 日韩激情毛片一级久久久| 亚洲av成人精品一区| 久久春色| 无码精品一区二区三区潘金莲| 在线国产福利网址导航| 亚洲精品日韩国产欧美| 91人妻Pr| 在线啊啊啊啊| 97操B| 夜色91| 久久透逼视频| 多乙久久久久久| 99热只有这里有精品| 91动漫操逼视频| 日韩av不卡在线观看| 国内三级自拍小视频在线观看| 欧美日韩成人在线| 色老汉色| 91激情国产| 蜜臀99久| 天天天天天天天天天天干美女| 婷婷AV一区二区三区| 国产精品老师| 欧美日韩淫加| 亚洲狠狠入| 精品69网| 超碰九色| www.av不卡中文字幕| 97在线播放| 春色综合网| 在线观看不卡一区二区三区| 2024人人操人人摸| 国产欧美伊人| 精品人妻一区二区三区蜜桃视频| 超碰97网站| 免费观看国产小粉嫩喷水精品午| 色色色网站| 午夜精品久久久99| 亚洲男人的天堂网| 78精品| 啪啪视频亚洲第一| 日本在线视频导航| 伊人综合色网| 夜夜夜夜爽| 97在线免费看视频| 欧美一二三级精品在线| 韩国一区二区精品亚洲| 日韩小电影| 欧美人妻久久精品二区三区| 久久精品72| 玖玖综合网| 操逼www.| 嗯嗯,好大,好爽,好骚| 亚洲图片欧美另类综合免费视频大大香| 日本伦乱九九九综合| 国产真实野战在线视频| 亚洲瓯美色图| 大香蕉中文在线| 久久亚洲欧美中文字幕国语| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91精品老女人| 亚卅熟女乱色| 另类图片五月天| 夜夜操美女| 国产欧美伊人| 老熟女91视频| 人妻熟女字幕一区二区| 国产怡红院在线| 亚洲导航深夜福利| 综合网久久| 国产精品96| 色噜噜狠狠色综合日日| 久草线上视频免费看| 日熟女| 91激情网| 国产女人成人精品视频| 中出20p| 日本福利二区视频| 风骚少妇视频中文字幕| 精品偷拍13p欧美dodk视频| 蜜桃成人1区2区3区| 欧美亚洲手机在线| 日韩人妻无码专区| WWW美腿丝袜香蕉中文| 日韩亚洲精品一区二区| 另类 综合 日韩 欧美 亚洲| 一线黄色免费性爱片| 三级三久久线久久99久目本WW| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 无码WWW免费视频网站| 精品十三区| 欧美片第一页| 一区,二区,三区视频| 小视频国产| 东北女人操比视频| 亚洲91在线播放影院| 欧亚成人在线视频| 91艹B视频| AV色五月天| 国产一区二区三区精品观看啪| 中文字幕一区二区三区人妻不卡 | 欧美国产成人在线| 精品国产91av一区二区三区| 自拍啪啪视频| 真实高潮91| 中文字幕高清精品一区| 日韩欧美蜜桃精品久久中文字幕久久 | 亚欧国产无码精品在线| 91爱| 风骚少妇视频中文字幕| 亚洲五月婷婷| 午夜操逼不卡| 国产精品另类一区大香蕉| 99热这里只有精品地址| 伊人操| 九九九九九九九九九九精品视频| 插入综合网| 黄色av网站在线播放| 操91| 色综和网| 久久久av爱| 在线性黄高清免费视频| 欧美性第一页| 91欧美少妇| 97综合在线观看| 黑人白女精品一区| 尤物视频新赏网鲜网色诱网| 性性久久| 激情文学欧美| 3571色综合一区二区二区| 国产精品探花色| 夜夜爽夜夜| 精品少妇人妻| 91jk色拍| 亚洲丝袜天堂| 激情小说五月天| 国产精品黑人一区二区三区| www.91视频网| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 最新av网站在线观看| 91亚洲黄色网| 中文字幕-区二区三区四区视频中国| 99久久网站| 欧美aa一级片| 午夜啪| 综合97| 人妻熟女一区二区在线视频| 国产伊人精品在线| 91熟女综合| 天天干一区二区| 99ri精品| 人人乐大香蕉| 性色高清在线| 9/A片| 麻豆亚洲Av成人无码一区精品| 欧美一区二区亚洲天堂| 老熟妇一区二区三区…| 97人人夜夜精品视频| 日夜精品| 亚洲精品国产精品成人| 精品三级在线专区| 99rre在线精品99re8| 99爱爱| 久久久男人的天堂| 久久色激情一区二区三区| 开心五月婷婷| 亚洲高潮少妇| 亚洲激情网一二三四区| 男人亚洲91首页在线| 色九区| 婷婷五月丁香五月| 欧美国产伊人久久久久| 国产精品自产拍在线观看社区| 精品国产一级久久| 国产成人一级av88| 秋霞怕怕片| 欧美乱伦专区| 亚洲激情在线观看一区| 久久HD| 这里只有精品视频在线| 色综合五月天| 亚洲色图美腿丝袜| 亚洲人妻熟妇三十三区| 午夜后入| 校园春色AV天堂| 亚洲熟女av中文字幕| 久久久久久久9| 91欧洲国产成人久久精品网站| 大香蕉免费3| 日本精品网站在线中文| 亚洲 国产 精品一区| 国产一区二区精品久久99| 国产精品呦一区二区三区| 亚洲中文国际强奸字幕| 天天插天天操| 天美国产精品| 亚洲综合性网址| 乱色老一区二区三区的观看方式| 国内毛片欧美香蕉精品| 噜噜噜在线视频| 色牛牛AV| 日韩懂色网| 欧洲精品欧洲精品| 亚洲久草AV色图| 美女诱惑久久| 亚洲第一精品在线视频| 色五月丁香五月| 91精品人妻一区二区三区蜜桃臀| 中文字幕一二三av| 老司机福利青青草| 狠狠色伊人亚洲综合网站色| 色情成人五月天| 宅男午夜在线视频| 91N综合在线| 亚洲性高潮| 少妇啪啪自拍| 手机不卡视频不卡在线一二三区| 91无码人妻精品一区二区三区蜜桃| 国产无吗在线播放| 家庭乱伦性爱av| 亚洲午夜免费狠狠干| 久久、1234| 老司机香蕉| www.伪伪| 蜜臀AV成人精品蜜臀| 色色九区| 五月丁香网站| 中文字幕av片| 91社操逼| 超碰久久精品| A片A5445444| 99久久99久久综合| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 日本不卡一二区| 亚洲 一区二区 自拍| 麻豆精品久久久久久久| 欧美日韩亚洲天堂| 国产免a费看黄片在线| 亚洲高潮少妇| 亚洲情色无码一区二区三区| 熟女六十路| 热久久99999| 最新亚洲黄色免费电影 | 久久久99999久网站| 日韩97P| 99色综合| 九九无码| 四季AV综合网址| 91精品人妻一区二区三区蜜臀| 大香蕉久| 91丝袜美女视频| 超碰免费在线| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 国产精品探花色| 爱爱动态120秒| 97在线视频免费看| 秋霞蝌科网日本一区| 97超碰天天爱天天爱| 屁股久久久久久| 偷拍伦理视频| 高潮精品| 色综合99999| 久久国产免费激情视频| 国产一区二区久久| 国产亚洲精品激情| 亚洲av热热色| 国产成人精品亚洲日本| 国产蜜臀精品一区二区尤物| 中文字幕av久久爽Av| 日本操逼aaaaa| 久久伊人青青草| 国产精品视频麻豆入口| 加勒比久久av| 亚洲熟妇极品| 蜜臀AV秘一区翔田千里| 色臀aV| 免费黄色片子| 91麻豆天美国产欧美高潮| 韩日色费| 99久久99九九99九九九| 99九九久久| 麻豆精品一区二区三区四区免费观看| 色婷婷成人| 精品久久97观看在线视频| 亚洲欧洲偷拍一区| 精品免费一区| 天堂综合| 久久中出在线| 亚洲成aⅴ人片不卡无码| 精品91摸| 国产精品ⅴ无码大片在线看.| 另类综合另类| 欧美日韩 强奸乱伦| 亚洲天在线| 精久久久91| 熟女视频久久| 超碰95| 99抽插| 不卡av在线中文字幕| 欧美三级一级| 亚洲人妻中文高清| 日日躁夜夜躁狠狠躁超爽| 日本裸体久久色噜噜| 最新三级网址| 99re9| 久草精品在线| 久9久精品视频| 久久极品伊人| 九九探花视频在线观看| yaouchengrenav| 欧美精品系列| 久久久久久久久国产| 久都青青视频| 日韩午夜啪啪视频| 370p日韩欧美亚洲精品| 青青在线视频日韩欧美| 亚州色阁| 99re99视频在线免费观看| 人人透人人操| 色婷婷九月天天综合| 国产精品人妻无码久久久老鸭窝| 七月婷婷综合| 91美女视频。| 久久影视二区三区行押| 久久一二三四不卡| 91久久婷婷| 欧美国产伊人久久久久| 国产操操日韩三级黄| 草草电影院| 中国和日本人色哪个不下载能放| 中出20p| 怡春院久久| 加勒比色综合| 黑人粗大V S日韩女优视频| 91麻豆天美传媒HD| 高凊专区人人操| 婷婷五月天激情小说| 欧美性爱一级操| 91人妻做a观看视频| 性爱乱伦视频免费| 思思热国产高清| 极品肉射| 性饥渴少妇av无码毛片| 久热在线精品免费观看| 亚洲啪AⅤ永久无码| 91被操| 老司机天天操| 国产极品美女高潮无套在线观看| 日本三级韩三级99久久| 超碰av在线| 啪啪一区| 天天色悠悠激情| 欧美综合站| 国产欧美日韩女同性恋ww喷水精品 | 伊人影院在线理论播放| 厕所偷拍在线| 久久美女国产| 久9re热视频这里只有精品| 久九九九九九九九热| 少妇久久久免费| 欧美国产操逼| 人妻喷水| 欧差乱伦二三| 91人妻精华帖| 久精品无码av一区二免费国产在线观看 | 成人久久久| 青春草莓视频在线观看网址| 日韩无码a片| 天天日B夜夜干B时时操B| 国产精品内射婷婷一级二| 欧美爆操91| caopeng97人妻| 天天舔九色婷婷| 中出后入| 人妻天天爽夜夜爽爽| 九t超碰| 国产97在线 | 亚洲| 欧美男人天堂| 在线观看成人性爱免费小视频| 亚洲AV无码久久精品蜜桃小说| 97香蕉碰碰人妻国产欧美| 久99| 韩日精品福利视频一区不卡在线免 | 婷婷性网| 久久久蜜桃一区二区三区| 日韩成人高清一区二区| 中文日本免费高清| 日本免费专区| 色玖玖| 久9精品| 久久东京热成人| 欧美影院一区二区三区| 操逼内射干逼白丝91| 秋霞视频一区二区| 欧美日韩97在线| 日韩情色视频| 午夜人人操| 欧成人精品H无码| 国产资源中文字幕在线 | 一区二区日韩欧美久久| 一区,二区,三区视频| 国内一级精品| 丁香五月综合| 午夜福利区| 亚洲无992tv| a级理论午夜日本| 久久久久久久国产| 视频二区美腿制服人妻欧美| 亚洲综合中文字幕有码| 中国黑人三级片网站上区| 东北女人高潮视频| 日韩性爱1级片视频| 色综合91| 私人尤物在线精品不卡| 人人操av| 婷婷色综合欧美日韩| 久久老子无码午夜伦不卡| 白 大 人妻 区 在线| 大香蕉一级黄色片久久| 色香蕉影院| 久欲AV| 亚洲国产精品无码AV在线| 久久9久9久99久9久9| 欧美一区二区| 色99视频| 久久精品一区二区一8| 久久久久久国产精品| 青青操青娱乐| 四方色播| 精爱久久| 精品无码久久久久久国产浪潮| 亚洲精品一二三四区| 大香蕉性欧美| 激情久久av一区av二区av| 天堂涩涩| 色999五月色| 78精品在线| 91Chinese在线| 日日爽熟女| 日本女人操逼| 亚州综合色| 热久久91婷婷| 你懂的在线观看区国产| 好爽,再快点啊哈嗯嗯嗯嗯| 91天天| 午夜呻吟欧美| 一区二区三区黄色片a| 色偷综合| 日韩精品 资源| 免费a v| 91熟女.com| 欧美性爱另类综合| 亚洲另类色综合网站| 丁香五月婷婷五月| 日韩色香| 色五月激情AV在线| 日本一级性爱| 精品人妻一区二区三区四区不卡在| 曰本精品久久久| 欧美,日韩综合久久| 91亚洲狠狠色| 久久国色天香香蕉| 免费人成毛片乱码| 色999偷自拍拍| 日本一区二区成人在线| 嗯嗯啊啊操我| 嗯嗯啊啊的视频| 色色99| 欧美熟女操屄| 中文一区二区三区影院| 欧美大片天天看| 久久久中文| 18禁在线视频| 67914在线兔费成人视频| 99国产精品人妻人伦| www.yeyecao| 黑人干亚洲| 色玖玖| 91精品亚洲内射孕妇| 欧美性五月| 伊人97色天使| 新版天堂中文资源8在线| 熟女探花啪啪| 久久久久久久久女黄| 天天天肏屄欧美| 久草视频分类在线| 91天天| 大香久久| 91 综合网| 久久精品人妻一区二区| 久久久久久夜夜夜夜夜| 国内毛片免费h片在线| 高清国产无码av| 国产丝袜啪啪| 久久9精品网站| 麻豆AV96熟妇人妻| 日韩成人网址| 秋霞曰韩R级| 蜜乳成人AV| 久操免费在线| 欧美se综合| 成人精品水蜜桃久久久久久久| 亚码人妻| 91无摭挡| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲清纯唯美| 亚洲性综合| 青娱乐蜜桃臀AV色婷| 97天天搞在线| 中文字暮97| 99热66| 色五月婷婷五月天| 操逼啊啊啊91| 加勒比久久综合网高清| 日本三级一区二区 在线| 老熟妇乱轮| 男人天堂电影院| 国产精品福利视频| 在线洲亚线| 人妻另类| 天天日天天操天天射河南省| 手机在线免费看的av| 久久天天艹| 四虎在线免费视频| 亚洲狼狼干综合1| 第45页一区二区| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠 | 立川理惠加勒比无码| www.91理论| 成人无码影片视频在线| 亚洲精品日韩国产欧美| 99久视频| 成人老鸭窝人人在线视频| 久久精品一区| 欧美精品三区| 国产伊人精品在线| 97网站在线观看| 一本久道久久综合狠狠爱一密臀精| 九九无码| 在线视频免费播放一区| 2024人人操人人摸| 婷婷天堂站| 96精品在线| 啊啊啊在线观看免费视频| 日本九九久久99| 丰满欧美放荡少妇在线| 97精品在线视频| 一区二区三区国产在线播放| 乱欲一区二区| 一区二区偷拍拍视频| 色婷婷综合久久中文字幕雪峰 | 最新的亚洲无吗| 日本中文字幕在线电影| 校园春色制服丝袜中文字亚洲| 色婷婷婷五月天激情四射| 色网1| 超碰色综合| 思思热国产在线视频| 亚洲天堂 视频你懂的| 超碰调教97| 亚热日本熟女| 日本天天干天天操一区| 一类av片在线看| 欧美激情综合色综合啪啪五月| 媚薬在线视频麻豆| 超碰偷拍| 色伊人91| 久久中日麻豆| 酒色综合网| 亚洲强奸乱伦影视网| 91逼逼女人91| 78m啪啪啪| av在线一区二区三区| 精品丰满人妻一区二区三区免费观| 97超碰人操| 麻豆国产97在线| 婷婷丁香在线| 中国的操老妇女| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产sv美女内射| 中文字幕一区二区在线日韩精品| 久久9 9 9精品| 我爱操| 日本高清有码网址视频| 青青草乱入乱欲视频在线观看| 日韩人妻丝袜中文字幕| 天堂种子在线www网资源| 亚洲大色堂| 老熟妇乱轮| 中文字幕在线观看丝袜| 怡红院亚洲怡春院av| 秋霞一集毛片观看| 国产高潮AA片免费看| 中出后入| 精品一啪| AV中文字幕三四五| 天天色黄色影院天天操| 中美日韩毛片| PMv在线观看| 精品久久久久9999| 欧美色91| 97舔舔| 国产操逼网站亚洲一级黄色| 高树玛利亚无码流出| 亚洲美女AV无码| 99热精品在线| 精品久久久久久久| 久久精品国产免费观看99| 91激情综合| 双插性欧美一二三区| 嗯嗯,好大,好爽,好骚 | 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 午夜毛片亚洲精品片国产久久久| 99自拍视频在线观看| 亚洲色图第四色| 日本操大逼| 日本中文字幕熟妇| 日韩在线一区高清在线| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 麻豆国产视频精品观看| 国产黄色动态精品| 欧美少妇色图| 欧美18禁91| 国产最火爆久久国产网站网站 | 亚洲国产成人精品无码专区| 清纯唯美第一页| 志村玲子视频一区二区| 91久久久久久久久18| 久久久久性熟视频| 九九九九热| 亚洲视频,小说| 国产高清MV操逼视频| 亚洲,欧美,综合网| 丰满人妻av一区二区三区 | 精品成人亚洲午夜电影| 欧美国产操逼| 人妻少妇一区二区| 亚洲影视综合| 大香蕉综合久久| 国产成人无码高清| 丝袜美腿丝袜| 国产亚卅97| 91在线精品| 97视频在线播放| 午夜毛片高清免费不卡| 日本123区操B视频| 人妻熟女一区二区在线视频| 国产AV人人 夜夜人人澡| 亚洲啪啪视频一区二区| 蜜臀久久99精品久久久久久酒店| 日韩无码AB| 五月丁香六月激情| 视频国产成人精品日本亚洲18| 午夜精品久久久久久久| 五月天黄色av| 欧美亚洲日本激情在线| 亚洲网站一区二区在线| 操老熟女AV| 日本一区二区三区欧美日韩中文字幕| 久久久国产成人一区二区三区在线| AⅤ片水多多| 亚州五月| 国产AV线| 97精品中文字幕| 亚洲精品色| 日韩成人免费电影| 人人操,人人液| 91热色| 精品视频久久区| 亚洲AV免费在线观看| 九月丁香综合网| 麻豆国产精品午夜视频| 97色欧洲| 人妻人久久精品中文字幕| 少妇同性| 久草视频制服诱惑| 91呆哥人妻| 九色精品视频导航1| 人妻少妇久久中文字幕一区二区 麻豆 | 精品妇操一区二区三区| 亚洲中文人妻色| 色婷婷在线视频| 国产剧情AV不卡在线观看| 亚洲欧美国产va在线播放频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 久热伊人| 女人被添高潮免费视频| 国产精品无码成人精品| 9丨久久九九九| 女人天堂网| WWW美腿丝袜香蕉中文| 综合 青草 伊久久 影院 综合| 99国产在线 精品 视频| 久久精品店| 亚洲天堂一区| 日本三级精品| 日日日日做夜夜夜夜做无码97| 97国产精品在线观看| 欧美日韩人人精品| 久久久久精| 九九亚洲视频| 日韩成人大片在线观看| 国产麻豆福利av在线播放| 久久久久免费看少妇A片特黄| 一本精品日本在线视频精品| 十八禁av无码免费网站APP| 欧美人与动性人交a| 91一区二匹| 啊啊啊啊啊啊好多水| 久久久久久久| 久久精品店| 亚洲精品97| 91丨国产丨白浆秘 洗澡动漫| WWW操逼| 欧美性爱第一区| 日韩欧美aⅴ综合网站发布| 激情抓乳插进去啪啪啪日韩 | 中文乱码字字幕在线第5页| 日本不卡免费二区| 91 丝袜在线观看| 你草精品在线视频| 男人天堂.AB| 麻豆黄四叶草网站| 蜜色网色哟哟| 一区二区三区男女操逼黄色小电影| 1区2区3区中文字幕日韩| 欧美亚洲高清不卡| 精品乱码久久久久| 美女主播色欲91抠b在线播放| 亚洲熟女乱色一区二区三区久久久| 色与欲影视天天看综合网| 另类欧美色| 欧美后入| 中文自拍欧美影视| 亚洲日韩精品在线播放| 五月丁香成人网| AV天天综合| 97干天天| 熟妇色99| 欧美丝袜制服久久| 久久激情亚洲精品无码?V| 婷婷精品视频| A啊啊在线观看| 997色在线| 欧美亚洲天堂| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲天堂久久久久久粉红视频| 无码逼| 中文字幕视频在线观看一区二区| 东京热大香焦| 日本熟妇浓毛hdsex| 一级黄色性爱A级片| 日日夜夜狠狠| 91少妇香蕉久久精品| 老司机香蕉| 嗯啊视频免费在线观看| 天天爽夜夜操| julia中文字幕在线观看| 欧美色九九| 久久毛卡| 一区,二区,三区视频| 亚洲Av诱惑| 亚洲精品人妻在线| 久久久com| 免费成人在线熟妇网| 四虎在线观看视频| 中国一级操逼视频| 国产女性无套 免费观看| 激情露脸爱| 人妻天堂网| 久久男女激情视频网站 | 美欧色综合| 人妻中文字幕日韩电影| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 色网站导航大全| 九色PORNY9l原创自拍| 国产精品久久久九九九| 亚洲av性爱电影| 婷婷六月色| 欧美色图小说综合| 日本操逼无码| 久久久98网站免费视频| 青青草在线视频播放器| 亚洲欧洲日韩国产自在线| 欧美激情超碰777| 毛片一区二区| 日韩人妻资源网| 唯美清纯 妖精视频| 探花激情视频| 色网亚洲人| 中文自拍欧美影视| 日韩人妻无码精品系列| 高清国产无码av| 爆乳免费黄网站| 国产又黄又爽| 大香蕉AV丝袜| 国产h小视频在线观看免费| 激情五月天色色| 加勒比色99999| 超碰免费人人| 96久久久久久久| 狠狠色综合网| 91狠狠综合网| 天天干一区二区| 亚洲无码超碰免费| 精品女人999| 日韩欧美日韩| 一及黄久一点| 亚洲熟女性高潮久久久| 国产精品一区二区后入| 国语精品内射在线观看| 国产精品乱码久久久、久久| 久久 国产精品 一区| 日本久久超碰| 二区熟妇韩日| 久久久亚洲高清不打码| 91超碰在线播放| 第一高清av中文字幕| 国产熟女无套内射| 激情综合亚洲| 久久一二三四| 久久大线蕉一区| 亚洲九月丁香| 啊v在线观看视频| 欧美色图亚洲特色| 韩美日操逼| 99re6国产精品99re| 日韩在线观看中文字幕视频| 婷婷超| 九九这里只有精品| 毛片电影一区二区三区| 色悠久| 精品综合久久久久久97| 狠狠干狠狠干| 国产对白刺激视频| 欧美激情久久久久| 日本色色色视频| 亚洲激情综合另类| 亚洲s在线观看| 91在线视频免费播放| 春色91| 肉丝无码中文高清| 久久艹逼视频| 国产无吗在线播放| 少妇内射www在线观看视频| 丁香五月天堂网| 无码 黑人一区二区三区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 五十路熟女工口| 午夜精品视频777| 亚洲A曰本VA欧美VA视频| 丝袜天堂网| 人妻一区二区三区| 人人操人人干网页| 91热色| www.男人天堂| 成年男人的天堂| 黄网在线播放| 日日操丁香五月天| 久久久偷拍| 日韩人妻精品| 啊啊啊啊啊在线视频| 99爱在线视频| 人妻人人做人人澡人人爽欧美一区| 日韩激情电影中文字幕| 大粗鳼巴久久久久| 国产亚卅97| 欧美|91色综合| 人人考人人摸人人干| 五十路六十路七十路熟婆| 久久春色| 免费视频97| 亚洲综合色图欧美| 青青草国产亚洲精品久久 | 欧美在线视频播放| 天天干少妇| 在线啊v一区| 免费观看的黄色的网站| 另类小说综合网| 老司机福利青青草| 蜜臀99久久精品| 偷拍综合亚洲| oumeizonghese,www| 暖暖精品二区三区观看| 可以免费观看的AV| 26uuu性| 草草影院最新网址| 操一操摸一摸| av网站免费看| 麻豆九九九| 日韩性爱再线视频| 日逼97| 五月激情视频| 黄片免费久久久久久久| 国内亚洲高清无码| 97国产精选| 精品9999| 91在线观看,天天综合| 997色在线| 大屁股熟女一区二区三区| 99色日| 97欧美色综合| 97天天插| 人妻91少妇| 97在线视频免费看| 97久久精品不卡| 2020中文字幕在线| 久久超碰98| 超碰97欧美日韩| 老色鬼成人精品视频下载大在线观看| wuyechaopeng| 97亚洲综合在线| 91欧美网| 51国产午夜精品视频| 国内精品a| 欧洲成人性爱视频| 强奸乱伦AV网站| 亚洲免费成人精品电影| 在免费jIzzjIzz在线视频| 欧美日韩性爱视屏免费看了| 天堂精品在线| 欧美色九九九| 国产精品久久久777| 久久九九国产精品| 欧美性性性| 四虎精品一区二区| 日本 情色 1区2区3区| 美女好片色日本| 午夜一区| 久久riav中文精品| 在线无码网站| 懂色AV蜜臀无码精品APP | 成人综合色网| 97se综合网| 天天综合麻豆视频| 熟女久久久| 伊人久久AV诱惑悠悠| 中字幕人妻一区二区三区| 波多野结衣AV无码一区| 久草国产在线视频| 免费在线黄片视频| 丝袜熟女一区二区三区| 国产亚洲人妻综合日韩 久久| 国精综合一二三区影视| 日本不卡中文| 91啦人妻| 99视频只有精品| 成人热久久精品| 撸无码不卡免费视频| 我要去看2个日本美女.com曹逼| 欧美亚洲日本视频久久久| 亚洲 欧美都市激情| 97丝袜亚洲在线播放| 人妻丝袜日本| 欧美大香蕉专区网| 99re国产中文字幕| 97WW精品| 91白嫩| 日韩av在线免费网站| 狠狠躁AV| 91熟女网| www.91久久| 粉嫩久久久久| 日韩性爱一级片| 色五月首页| 91欧美性| 男人的天堂午夜av| www久| 日日骚av| 天天日天天干天天整| 成人日本精品九区| 综合色久欲| 久久东京伊人一本到鬼色| www.色综合| 久操视频这里只有精品| 锕锕好爽 死我在线观看| 亚洲青色欧美| 色婷婷国产精品一区在线观看| 黄片不用下载在线观看| 99xav| www.99色| 99操| 日韩美女啪啪一区| 五月丁香啪| 超碰97极品9| 中文字幕国产| 天天干少妇| 亚洲色图欧美色图制服丝袜| 99999精品| 色婷婷电影网| 快播久久人人aV| 97人人操人人摸人人爱| 精品十三区| 久久久久久久免费A片国产成a人亚洲精∨品无码| 久久一二三四五六七八九区区区| 熟女91网站| 激情综合五月| 日韩有码中文字幕女同性恋 | 2017大香蕉国产精品久久| 国内偷拍精品一区二区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 中亚精品极乱| 五十路三区在线| 五月色综合| 日韩精品-原创伙伴| 色婷婷狠狠| 97欧美综合| 大香蕉操久久| 亚洲一区二区在线观看91| 亚洲91少妇| 99精品国产户外露出| 色月天AV导航| 最新av网站在线观看| 久久这里| 欧美视频在线视频免费va| 69久久| 国产欧美美女免费观看视频| 操国产逼| 丰满人妻一区| 国产精品国产拍高清AV| 狠狠入| 日韩传媒在线| 午夜福利精品| 熟妇人妻一二三区免费| 婷婷成人五月天| 青春草莓视频在线观看网址| 日韩美女高潮喷水视频| 深夜激情无码| 亚欧美综合网| 欧美欲色| 无码伊人久久大杳蕉中文无码| 欧美在线91| 淫乱图区 | 欧美亚洲情色| 欧美中字二区| 亚卅熟女乱色| 日韩在线国产字幕| 韩日男人的天堂| 国产人伦a片信息免费片| 黄页网站成人免费| www.色婷婷.com| 欧美亚洲国产91在线| 97视频新免费| 蜜桃视频精品一区二区| 国产日韩在线播放av| 高潮9999外国| 欧美色997| 五月婷婷激情综合| 91亚洲综合在线| 色老牛| 草b在线 | 夜夜春夜夜操| 老熟女91av| 亚洲天堂无码| 国产91亚洲精品一区二区三区| 亚洲色图日韩丝袜制服一区二区五月在线| 亚洲国产综合久久久性感熟妇| 人人看人人摸人人色| 午夜啪| 9118禁| 992大香蕉| 欧美韩日精品资源| 大香蕉综合| 亚洲国产精品有声| 97色欧洲| 欧美色图片欧美色图| 久久综合精品一区二区三区| 美女刺激久久国产欧美| 国产福利在线视频网站| 大香蕉一级黄色片久久| 蜜臀va69| 国产一| 狠狠做深爱婷婷久久二区| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 九九探花视频在线观看| 日韩成人精品| 色噜噜国产精品视频一区二区| 亚洲综人| 欧美91久久久久| 亚洲影院小综合| 操狠狠| 猛交交| 九九色色| 五月激情综合网| 日韩AV熟女乱伦| 青青久久手机线视频| 欧美成人A√在线一区二区| 久久久久久久| 久久久女人| 日本高清一本二本免费不卡| 日韩少妇在线视频| 天天色悠悠激情| 这里只有精品久久| 黄页网站免费高清在线观看| 美女尤物人人操| 人人干黄色| 亚洲国产精品成人综合| 26uuu久久| 人妻天天爽天天爽三区| 亚州综合色| 中文 人妻 制服| 97亚洲在线| 欧美加勒比| 成人性交免费视频| 日本天堂在线播放| 97色妞| 天美麻豆黄色录像| 熟妇高潮一区二|