免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

端到端測(cè)試實(shí)踐:用profile1搭建穩(wěn)定可復(fù)用的E2E工程

端到端測(cè)試實(shí)踐:用profile1搭建穩(wěn)定可復(fù)用的E2E工程 干測(cè)試這些年最常被問(wèn)的一句話就是“你測(cè)的到底是不是真實(shí)用戶會(huì)走的路”。這個(gè)問(wèn)題光靠單元測(cè)試答不上來(lái)得靠e2e。今天聊的這個(gè)“e2e”項(xiàng)目不單單是“端到端測(cè)試”這個(gè)詞本身而是一個(gè)真實(shí)落地過(guò)的測(cè)試工程實(shí)踐。里面的profile1也不是什么高深術(shù)語(yǔ)它是一套封裝好的端到端測(cè)試場(chǎng)景配置——說(shuō)白了就是把“用戶在真實(shí)瀏覽器里打開(kāi)你的產(chǎn)品、一步步完成核心任務(wù)”這一整套流程用自動(dòng)化腳本固定下來(lái)跑一次就能告訴你哪里斷了。這篇東西適合誰(shuí)看就是那些已經(jīng)寫(xiě)過(guò)一點(diǎn)接口測(cè)試、想往上層走走的測(cè)試開(kāi)發(fā)以及每天都在被“測(cè)試環(huán)境沒(méi)問(wèn)題啊”這句話折磨的前后端同學(xué)??赐昴阒辽倌馨裡2e的工程骨架搭起來(lái)知道profile1這種配置該怎么設(shè)計(jì)遇到定位不到元素的時(shí)候不會(huì)第一反應(yīng)是“換個(gè)xpath試試”。1. 端到端測(cè)試想解決的問(wèn)題和profile1的由來(lái)1.1 為什么單元測(cè)試全綠了線上還是崩說(shuō)個(gè)挺典型的場(chǎng)景。你負(fù)責(zé)一個(gè)電商項(xiàng)目后端接口測(cè)了一百多個(gè)覆蓋率快90%了前端組件測(cè)試也寫(xiě)了每個(gè)按鈕點(diǎn)擊都有斷言。結(jié)果上線第二天用戶投訴說(shuō)下單按鈕點(diǎn)了沒(méi)反應(yīng)。查了半天發(fā)現(xiàn)是某個(gè)接口在特定場(chǎng)景下返回的字段結(jié)構(gòu)變了前端拿著新結(jié)構(gòu)去渲染直接白屏。單元測(cè)試和接口測(cè)試各自都在自己的“小院子”里驗(yàn)證院墻之間那段路誰(shuí)也不負(fù)責(zé)。這就是e2e存在的理由。它不關(guān)心你某一個(gè)函數(shù)寫(xiě)得對(duì)不對(duì)也不關(guān)心接口契約是否嚴(yán)格匹配它只關(guān)心一件事把產(chǎn)品當(dāng)成一個(gè)黑盒用真實(shí)用戶的視角走完一條核心業(yè)務(wù)鏈路整條鏈路能不能通。用戶注冊(cè)能不能完成、登錄狀態(tài)能不能保持、購(gòu)物車?yán)锛拥臇|西結(jié)算時(shí)還在不在、支付回調(diào)回來(lái)之后訂單狀態(tài)對(duì)不對(duì)——這些跨模塊、跨系統(tǒng)、跨端口的協(xié)作問(wèn)題只有e2e能兜住。我見(jiàn)過(guò)很多團(tuán)隊(duì)把e2e當(dāng)成“重復(fù)手工回歸”的替身這其實(shí)是一個(gè)很窄的理解。e2e更大的價(jià)值是約束它逼著團(tuán)隊(duì)把用戶路徑顯性化把所有外部依賴數(shù)據(jù)庫(kù)狀態(tài)、第三方服務(wù)、消息隊(duì)列的約定固化下來(lái)。一旦這條路徑上某個(gè)環(huán)節(jié)悄悄變了e2e會(huì)第一時(shí)間拉響警報(bào)而不是等用戶來(lái)當(dāng)測(cè)試員。1.2 profile1到底是什么從測(cè)試數(shù)據(jù)到環(huán)境配置的打包很多剛接觸e2e的人會(huì)問(wèn)profile是什么意思我最初也困惑過(guò)。后來(lái)在工程里反復(fù)折騰才明白profile本質(zhì)上就是“一組環(huán)境與數(shù)據(jù)預(yù)設(shè)的總和”。你想想一套e2e腳本要跑起來(lái)光有代碼是不夠的。它得知道我現(xiàn)在打的是哪套環(huán)境的域名用哪個(gè)賬號(hào)登錄這個(gè)賬號(hào)有沒(méi)有初始化數(shù)據(jù)測(cè)試商品庫(kù)存多少支付方式是走模擬網(wǎng)關(guān)還是沙箱這些如果寫(xiě)死在代碼里換套環(huán)境就得改代碼改完還得重新部署太蠢了。profile1就是把這些東西打包成一個(gè)命名配置。我習(xí)慣用profile1表示“第一套完整可用的端到端測(cè)試基準(zhǔn)環(huán)境”。具體來(lái)說(shuō)它包含四塊內(nèi)容環(huán)境指向baseURL、網(wǎng)關(guān)地址、回調(diào)地址身份憑據(jù)測(cè)試賬號(hào)、密碼、token、密鑰數(shù)據(jù)準(zhǔn)備預(yù)置用戶、預(yù)置商品、優(yōu)惠券、訂單號(hào)規(guī)則行為參數(shù)超時(shí)時(shí)間、重試次數(shù)、是否啟用模擬支付為什么要單獨(dú)抽一個(gè)profile因?yàn)閑2e最怕“環(huán)境漂移”。今天是staging環(huán)境明天數(shù)據(jù)庫(kù)被某個(gè)人手動(dòng)改了一條數(shù)據(jù)后天又有人說(shuō)“我在本地把后端起起來(lái)就行了吧”結(jié)果同一個(gè)腳本在不同人手里跑出完全不同的結(jié)果。有了profile1所有人都對(duì)著同一個(gè)基準(zhǔn)環(huán)境說(shuō)話腳本參數(shù)對(duì)了結(jié)果就是可復(fù)現(xiàn)的。這套思路并不是我發(fā)明的很多成熟框架里的test profile、environment config都是同一個(gè)道理只是很多小團(tuán)隊(duì)沒(méi)意識(shí)到它值得被認(rèn)真設(shè)計(jì)。2. 工具選型與核心細(xì)節(jié)e2e工程怎么搭才穩(wěn)2.1 主流e2e框架怎么選別只看誰(shuí)火2024年聊e2e繞不開(kāi)三個(gè)框架Selenium、Cypress、Playwright。我三個(gè)都寫(xiě)過(guò)說(shuō)說(shuō)真實(shí)感受。Selenium是老前輩生態(tài)最全什么瀏覽器都能驅(qū)動(dòng)理論上的兼容性天花板最高。但它的問(wèn)題也最明顯慢而且API設(shè)計(jì)停留在“模擬人操作瀏覽器”的層面沒(méi)有太多面向測(cè)試的語(yǔ)義。寫(xiě)久了會(huì)有一種“我在替用戶點(diǎn)鼠標(biāo)而不是在測(cè)產(chǎn)品”的割裂感。如果團(tuán)隊(duì)里全是Java出身的老測(cè)試用Selenium可能順手一些但我個(gè)人不推薦新項(xiàng)目再選它除非你有很強(qiáng)的多瀏覽器廠商兼容需求。Cypress是后來(lái)居上者它的殺手锏是開(kāi)發(fā)者體驗(yàn)。時(shí)間旅行式的調(diào)試、自動(dòng)等待、斷言風(fēng)格和Mocha/Chai一脈相承前端同學(xué)上手幾乎是零門(mén)檻。但它有個(gè)硬傷只支持自家控制的瀏覽器環(huán)境多標(biāo)簽頁(yè)和跨域場(chǎng)景處理起來(lái)很別扭。如果你測(cè)的產(chǎn)品是純內(nèi)部系統(tǒng)、技術(shù)棧又偏前端Cypress能讓你爽到飛起。Playwright是我現(xiàn)在的主力。它最大的優(yōu)勢(shì)是所有主流瀏覽器統(tǒng)一API而且內(nèi)置了自動(dòng)等待和網(wǎng)絡(luò)攔截這意味著你不需要像Selenium那樣手動(dòng)寫(xiě)一堆WebDriverWait也不需要像Cypress那樣為了繞過(guò)跨域限制折騰插件。再加上它支持移動(dòng)端模擬、可以同時(shí)維護(hù)多個(gè)上下文做復(fù)雜業(yè)務(wù)鏈路的時(shí)候省力非常明顯。我給你的建議很簡(jiǎn)單團(tuán)隊(duì)前端基因強(qiáng)、產(chǎn)品形態(tài)是單頁(yè)應(yīng)用優(yōu)先Cypress需要強(qiáng)兼容、強(qiáng)并行、鏈路特別復(fù)雜直接上Playwright除非公司有嚴(yán)格的既有技術(shù)棧綁定否則別碰Selenium。2.2 profile1的目錄設(shè)計(jì)與配置要點(diǎn)選完框架接下來(lái)就是工程結(jié)構(gòu)。一個(gè)能長(zhǎng)期維護(hù)的e2e項(xiàng)目千萬(wàn)不要把所有腳本堆在一個(gè)文件夾里。我按照這個(gè)結(jié)構(gòu)來(lái)組織e2e/ ├── profiles/ │ ├── profile1.json │ └── profile2.json ├── tests/ │ ├── smoke/ │ ├── regression/ │ └── business/ ├── pages/ │ ├── login.page.js │ ├── cart.page.js │ └── order.page.js ├── utils/ │ ├── api.helper.js │ └── data.factory.js ├── reports/ └── playwright.config.jsprofiles目錄專門(mén)放各類profiletests按測(cè)試級(jí)別和業(yè)務(wù)模塊拆分pages放頁(yè)面對(duì)象utils放公共方法。這套結(jié)構(gòu)符合Page Object Model的經(jīng)典思想目的就一個(gè)把“用例”和“實(shí)現(xiàn)細(xì)節(jié)”解耦。你測(cè)試腳本里只描述“用戶做什么”不關(guān)心“具體的元素選擇器是什么”一旦前端改了按鈕的class名你只需要改pages目錄里那個(gè)頁(yè)面對(duì)象而不是全項(xiàng)目搜索替換。以profile1.json為例我會(huì)寫(xiě)成這樣{ name: profile1, baseURL: https://staging.example.com, apiBaseURL: https://api.staging.example.com, credentials: { defaultUser: { username: e2e_tester_01, password: Passw0rd!Test } }, testData: { productId: P10086, couponCode: E2E-SAVE-10 }, payment: { mode: mock, callbackUrl: https://webhook.staging.example.com/pay/callback }, timeout: 30000, retries: 2, video: off, screenshot: only-on-failure }配置里每一項(xiàng)都是有講究的。比如timeout不要默認(rèn)用框架的5秒e2e走的是真實(shí)瀏覽器接口響應(yīng)、前端渲染、資源加載都是全鏈路30秒是我試過(guò)比較穩(wěn)妥的基準(zhǔn)。retries設(shè)2是因?yàn)閑2e偶爾會(huì)因?yàn)榫W(wǎng)絡(luò)抖動(dòng)或者第三方服務(wù)偶發(fā)超時(shí)而失敗重跑一次往往就過(guò)了但你得保證重試的是整條用例而不是用例里的某個(gè)步驟否則容易踩臟數(shù)據(jù)。screenshot設(shè)成失敗時(shí)截圖這是排查問(wèn)題的最低需求別為了省空間關(guān)掉它。2.3 數(shù)據(jù)準(zhǔn)備profile1里不寫(xiě)死數(shù)據(jù)的藝術(shù)配置里寫(xiě)測(cè)試數(shù)據(jù)是必要的但你要小心一件事不要把e2e用例改成依賴固定主鍵數(shù)據(jù)的家伙。比如測(cè)試商品IDP10086今天它是存在的明天數(shù)據(jù)庫(kù)重建商品沒(méi)了你的用例就開(kāi)始飄紅。更穩(wěn)的做法是通過(guò)API在測(cè)試執(zhí)行前動(dòng)態(tài)創(chuàng)建數(shù)據(jù)profile1里放的是“種子數(shù)據(jù)”或“數(shù)據(jù)生成規(guī)則”不是“永固數(shù)據(jù)”。我一般會(huì)在utils/data.factory.js里暴露幾個(gè)方法像這樣async function createTestUser(apiContext, profile) { const username e2e_${Date.now()}_${Math.floor(Math.random() * 1000)}; const response await apiContext.post(${profile.apiBaseURL}/users, { data: { username, password: Passw0rd!Test, role: buyer } }); return { username, password: Passw0rd!Test, userId: response.data.id }; }這樣每條用例跑的時(shí)候都有獨(dú)立的測(cè)試賬號(hào)互相不干擾也可以重復(fù)跑。用固定賬號(hào)容易撞數(shù)據(jù)比如上一次跑完購(gòu)物車沒(méi)清空這一次斷言購(gòu)物車數(shù)量是0直接掛。這就是為什么e2e工程里“數(shù)據(jù)獨(dú)立性”比“用真實(shí)數(shù)據(jù)”更重要——真實(shí)數(shù)據(jù)往往是臟的而臟數(shù)據(jù)會(huì)讓你的測(cè)試結(jié)果變得不可信。3. 實(shí)操?gòu)牧闩芡ㄒ粋€(gè)profile1場(chǎng)景3.1 環(huán)境準(zhǔn)備用5分鐘把Playwright拉起來(lái)下面我以Playwright為例帶你把一個(gè)profile1場(chǎng)景從零跑通。首先安裝依賴npm init -y npm install -D playwright/test npx playwright install第一條命令創(chuàng)建項(xiàng)目第二條裝測(cè)試框架第三條下載瀏覽器內(nèi)核。這里有個(gè)細(xì)節(jié)npx playwright install默認(rèn)只裝Chromium如果你要測(cè)Safari和Firefox得用npx playwright install --all。公司內(nèi)部系統(tǒng)一般Chromium夠用商業(yè)項(xiàng)目建議全裝。安裝完創(chuàng)建一個(gè)playwright.config.js最簡(jiǎn)配置長(zhǎng)這樣const { defineConfig } require(playwright/test); const profile1 require(./profiles/profile1.json); module.exports defineConfig({ testDir: ./tests, timeout: profile1.timeout, retries: profile1.retries, use: { baseURL: profile1.baseURL, screenshot: profile1.screenshot, viewport: { width: 1280, height: 720 }, ignoreHTTPSErrors: true }, reporter: [[list], [html, { outputFolder: reports }]] });你會(huì)發(fā)現(xiàn)配置文件本身也不硬編碼路徑而是從profile1.json里讀取公共參數(shù)。這就是配置統(tǒng)一管理的價(jià)值以后要換到profile2腳本一行不用改只要把這個(gè)入口文件換成profile2.json即可。3.2 編寫(xiě)第一個(gè)e2e用例登錄、加購(gòu)、下單、斷言我拿一個(gè)電商業(yè)務(wù)來(lái)示例這是e2e最經(jīng)典的場(chǎng)景。新建tests/business/order.flow.spec.jsconst { test, expect } require(playwright/test); const { LoginPage } require(../../pages/login.page); const { ProductPage } require(../../pages/product.page); const { CartPage } require(../../pages/cart.page); const { CheckoutPage } require(../../pages/checkout.page); const { createTestUser } require(../../utils/data.factory); test.describe(核心交易鏈路 - profile1, () { let testUser; test.beforeAll(async ({ request }) { testUser await createTestUser(request, profile1); }); test(登錄 → 搜索商品 → 加購(gòu) → 結(jié)算 → 生成訂單, async ({ page }) { const loginPage new LoginPage(page); await loginPage.goto(); await loginPage.login(testUser.username, testUser.password); await expect(page).toHaveURL(/\/home/); const productPage new ProductPage(page); await productPage.search(端到端測(cè)試專用商品); await productPage.openFirstProduct(); await productPage.addToCart(); const cartPage new CartPage(page); await cartPage.goto(); await expect(cartPage.cartItemCount).toHaveText(1); const checkoutPage new CheckoutPage(page); await checkoutPage.proceedToCheckout(); await checkoutPage.selectDefaultAddress(); await checkoutPage.submitOrder(); await expect(checkoutPage.orderSuccessMessage).toBeVisible(); const orderNo await checkoutPage.getOrderNumber(); expect(orderNo).toMatch(/^ORD\d{12}$/); }); });這段測(cè)試描述的就是一個(gè)完整用戶旅程。注意幾個(gè)關(guān)鍵點(diǎn)beforeAll里用request夾具調(diào)用API創(chuàng)建用戶一來(lái)確保數(shù)據(jù)獨(dú)立二來(lái)幫你省掉截圖驗(yàn)證碼等注冊(cè)環(huán)節(jié)的負(fù)擔(dān)只聚焦核心鏈路。每個(gè)頁(yè)面都是pages目錄下的頁(yè)面對(duì)象測(cè)試代碼里不出現(xiàn)具體CSS選擇器可讀性非常高。斷言盡量靠近用戶感知比如“購(gòu)物車數(shù)量是不是1”“訂單號(hào)是不是ORD開(kāi)頭12位數(shù)字”而不是“某個(gè)隱藏input的value是什么”。頁(yè)面對(duì)象login.page.js可以這樣寫(xiě)class LoginPage { constructor(page) { this.page page; this.usernameInput page.locator(#username); this.passwordInput page.locator(#password); this.loginButton page.locator(button[typesubmit]); } async goto() { await this.page.goto(/login); } async login(username, password) { await this.usernameInput.fill(username); await this.passwordInput.fill(password); await this.loginButton.click(); await this.page.waitForLoadState(networkidle); } } module.exports { LoginPage };有人會(huì)問(wèn)為什么login方法里要等networkidle而不是直接斷言跳轉(zhuǎn)因?yàn)辄c(diǎn)擊登錄后路由跳轉(zhuǎn)是異步的斷言URL會(huì)偶爾抓到舊地址。等networkidle再斷言URL成功率會(huì)高不少。但要注意networkidle并不是銀彈如果頁(yè)面里有一個(gè)長(zhǎng)輪詢請(qǐng)求它會(huì)讓你等很久——這時(shí)候你就得改成等待某個(gè)具體的UI元素比如首頁(yè)的用戶頭像出現(xiàn)在頁(yè)面上這樣更精準(zhǔn)。3.3 跑起來(lái)以及怎么讀懂報(bào)告運(yùn)行指令很簡(jiǎn)單npx playwright test --configplaywright.config.js如果你想只跑profile1相關(guān)的用例可以在測(cè)試描述上打tag然后過(guò)濾npx playwright test --grep profile1跑完會(huì)生成HTML報(bào)告里面有每個(gè)步驟的截圖、瀏覽器控制臺(tái)日志、網(wǎng)絡(luò)請(qǐng)求明細(xì)和耗時(shí)分布。我最常用的排查姿勢(shì)是先看失敗步驟的截圖確認(rèn)是不是元素沒(méi)出現(xiàn)再看控制臺(tái)有沒(méi)有JS報(bào)錯(cuò)比如某個(gè)接口500了最后看network面板把那個(gè)請(qǐng)求的響應(yīng)體拉出來(lái)對(duì)比字段十有八九能定位到問(wèn)題。還有一個(gè)小技巧加上--headed參數(shù)讓瀏覽器窗口顯示出來(lái)你會(huì)親眼看到整個(gè)操作過(guò)程能發(fā)現(xiàn)很多“腳本在跑但產(chǎn)品明顯卡了一下”這類問(wèn)題。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 元素定位為什么明明在頁(yè)面上腳本就是找不到e2e踩坑第一名永遠(yuǎn)是元素定位。常見(jiàn)的情況有三種元素被遮擋、元素在iframe里、元素是動(dòng)態(tài)渲染出來(lái)的。被遮擋通常發(fā)生在彈窗、浮層、蒙層上。解決辦法是等待遮擋元素消失或者不可見(jiàn)await expect(page.locator(.modal-mask)).toBeHidden({ timeout: 10000 }); await page.locator(#submit-btn).click();iframe里的元素需要先切換到frame上下文不要直接在page上定位。Playwright里這樣處理const frame page.frameLocator(#payment-iframe); await frame.locator(#card-number).fill(4242424242424242);動(dòng)態(tài)渲染的元素則最煩人尤其是列表加載用了虛擬滾動(dòng)只有滾動(dòng)到可視區(qū)域才真正渲染出來(lái)。解決辦法是滾動(dòng)到目標(biāo)位置再定位const productCard page.locator(.product-item, { hasText: 端到端測(cè)試專用商品 }); await productCard.scrollIntoViewIfNeeded(); await productCard.click();經(jīng)驗(yàn)法則能用文本定位的不要用索引定位能等可見(jiàn)的不要等存在能滾到的不要直接點(diǎn)。這三條做到了90%的定位問(wèn)題都能繞過(guò)去。4.2 等待策略別讓sleep毀掉你的一下午新手寫(xiě)e2e最愛(ài)的就是sleep(3000)好像一個(gè)固定等待能解決所有“沒(méi)加載出來(lái)”的問(wèn)題。但sleep恰恰是e2e最危險(xiǎn)的寫(xiě)法它在快的環(huán)境里白白浪費(fèi)時(shí)間在慢的環(huán)境里依然會(huì)掛還掩蓋了真實(shí)的渲染問(wèn)題。正確姿勢(shì)是使用自動(dòng)等待和顯式斷言。Playwright的click、fill這些操作默認(rèn)就有可操作性檢查會(huì)自動(dòng)等待元素穩(wěn)定。真正需要操心的是那些JavaScri異步數(shù)據(jù)渲染的點(diǎn)。我不建議在寫(xiě)用例之前就到處鋪等待更好的做法是先跑一遍看哪里掛了再針對(duì)性地加等待。很多掛點(diǎn)在報(bào)告里看網(wǎng)絡(luò)請(qǐng)求時(shí)間就一目了然比盲猜靠譜得多。當(dāng)然也有正常的設(shè)計(jì)手段。比如網(wǎng)絡(luò)請(qǐng)求后等待特定數(shù)據(jù)字段出現(xiàn)await page.waitForResponse(resp resp.url().includes(/api/order) resp.status() 200);或者等一個(gè)骨架屏消失await expect(page.locator(.skeleton-screen)).toHaveCount(0);4.3 profile1環(huán)境漂移排查一套腳本在不同地方跑出不同結(jié)果這是profile類配置最容易遇到的問(wèn)題。profile1在CI上跑得好好的本地一跑就掛或者兩個(gè)開(kāi)發(fā)本地跑同一個(gè)用例結(jié)果一個(gè)過(guò)、一個(gè)掛。核心原因基本可以鎖死成這幾個(gè)本地hosts指向不同、本地改了環(huán)境變量、測(cè)試賬號(hào)權(quán)限不同、數(shù)據(jù)庫(kù)數(shù)據(jù)被手動(dòng)改過(guò)。排查次序我給你排好了先看網(wǎng)絡(luò)請(qǐng)求打的是不是同一個(gè)域名這能篩出一半問(wèn)題。再看有沒(méi)有本地代理攔截。然后對(duì)比測(cè)試賬號(hào)在兩端的數(shù)據(jù)快照用createTestUser創(chuàng)建的用戶通常數(shù)據(jù)一致但如果用了公共賬號(hào)這一步很容易翻車。最后看一眼是不是有人改了profile1配置但沒(méi)提交到倉(cāng)庫(kù)。我在工程里有個(gè)硬規(guī)矩CI跑的必須是打包好的profile1配置不允許CI里再手動(dòng)拼JSON。這樣能最大限度保證“大家跑的是同一個(gè)e2e”也方便回溯是哪次提交開(kāi)始讓用例變紅的。4.4 處理前端穩(wěn)定性問(wèn)題偶發(fā)失敗不是玄學(xué)還有一種很氣人的情況同一個(gè)用例連跑三次中間失敗一次再跑又全綠了。這就是“flaky test”。很多人第一反應(yīng)是加大retries次數(shù)把失敗掩蓋過(guò)去。短期可以但長(zhǎng)期下去你的通知渠道里全是“重試后通過(guò)”的假警報(bào)大家就會(huì)對(duì)紅燈麻木e2e的價(jià)值就被磨掉了。處理flaky test的正確思路是找到不穩(wěn)定源頭。最常見(jiàn)的是第三方圖片加載慢、埋點(diǎn)請(qǐng)求報(bào)錯(cuò)、字體加載閃動(dòng)、動(dòng)態(tài)圖表渲染時(shí)序不穩(wěn)定。我一般先看失敗截圖截圖里如果元素已經(jīng)出現(xiàn)但斷言失敗多半是時(shí)序問(wèn)題改用輪詢斷言如果截圖里就是白屏那就得看控制臺(tái)和網(wǎng)絡(luò)定位是資源加載還是接口報(bào)錯(cuò)。profile1里我建議把video從off改成on只在失敗時(shí)保留視頻片段。這個(gè)文件占用不了多少空間但排查偶發(fā)失敗時(shí)視頻回放能直接告訴你腳本執(zhí)行到哪一步開(kāi)始變形的特別管用。4.5 一個(gè)速查表常見(jiàn)問(wèn)題對(duì)照現(xiàn)象可能的根因快速排查路徑元素定位超時(shí)動(dòng)態(tài)渲染/iframe/遮擋先截圖滾動(dòng)等待可見(jiàn)換文本定位登錄后URL斷言失敗路由異步跳轉(zhuǎn)等networkidle或等待具體UI元素接口請(qǐng)求報(bào)404baseURL配置錯(cuò)誤/profile指向錯(cuò)誤環(huán)境查看網(wǎng)絡(luò)請(qǐng)求地址對(duì)比profile1配置測(cè)試數(shù)據(jù)沖突固定賬號(hào)被多任務(wù)復(fù)用改用動(dòng)態(tài)創(chuàng)建測(cè)試數(shù)據(jù)用例偶發(fā)失敗網(wǎng)絡(luò)波動(dòng)/第三方資源慢開(kāi)啟視頻錄制分析失敗前5秒記錄瀏覽器兼容性差異不同瀏覽器CSS實(shí)現(xiàn)不同切換到不同browser engine跑同一用例對(duì)比這張表對(duì)應(yīng)了我這幾年e2e工作里九成的問(wèn)題。每次用例報(bào)紅不要急著改代碼先按表里的路徑做一次快速定位基本能把問(wèn)題收斂到小范圍。5. 實(shí)測(cè)后的幾點(diǎn)體會(huì)最后說(shuō)點(diǎn)個(gè)人經(jīng)驗(yàn)。e2e這個(gè)東西最坑的并不是寫(xiě)用例本身而是讓用例持續(xù)穩(wěn)定地跑下去。我在項(xiàng)目里維護(hù)profile1的真實(shí)感受是每一個(gè)配置項(xiàng)都是跟環(huán)境管理者博弈出來(lái)的結(jié)果今天他改了一個(gè)第三方服務(wù)的回調(diào)地址明天數(shù)據(jù)庫(kù)換了密碼如果沒(méi)有profile這層的集中管理這些變化會(huì)散落在各個(gè)腳本里變成定時(shí)炸彈。如果你剛接觸e2e我建議別一上來(lái)就追求500條用例的覆蓋率。老老實(shí)實(shí)先挑一條最核心的鏈路最好的候選就是“用戶注冊(cè)或登錄→做一次核心操作→關(guān)鍵結(jié)果出現(xiàn)”把它跑穩(wěn)再逐步加分支場(chǎng)景。等這條鏈路穩(wěn)定了你自然會(huì)發(fā)現(xiàn)產(chǎn)品那邊再有人拍胸脯說(shuō)“這地方?jīng)]問(wèn)題”你可以直接甩給他一條剛跑完的profile1執(zhí)行報(bào)告——數(shù)據(jù)永遠(yuǎn)比口頭承諾更有說(shuō)服力。還有一個(gè)小技巧分享給做e2e久了的同學(xué)定時(shí)任務(wù)里跑e2e別只看通過(guò)率要看“失敗后恢復(fù)的速度”。如果一條用例跑掛之后下一次跑要花多長(zhǎng)時(shí)間才能恢復(fù)數(shù)據(jù)、清完臟狀態(tài)、重新創(chuàng)建賬號(hào)這個(gè)速度決定了你的自動(dòng)化真正能跑多大體量。profile1里的數(shù)據(jù)工廠和API清理方法就是為這個(gè)準(zhǔn)備的。把這些做好了e2e就不是消耗你們團(tuán)隊(duì)精力的玩具而是真正能兜住產(chǎn)品底線的防線。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香人妻| 亚洲综合99| 99原创自拍视频在线观看| 丁香 婷婷 激情 综合 五月| 97色婷婷| 亚洲性爱电影| 婷婷色情小说| 91综合在线视频| 五月婷婷AV| 日本综合久| 免费看欧美成人A片无码| 五月丁香六月婷婷中文版| 大地资源色婷婷视频在线| 天天操夜夜夜拍拍拍| 97caop| 深爱激情网五月| 婷婷丁香中文字幕| 五月婷婷丁香六月| 开心五月天激情网| 人人看人人要| 日本本土色网第一区| 97碰碰九九视频| 天天爽天天爽视频| 亚洲性色XXXXX| 色爱99| 五月天婷婷色| 99国产在线| 婷婷亚洲在线| 黄网在线免费| 99热这里只有精品青草| www久久艹| www.五月婷婷久久.com| 综合激情五月四射婷婷| 99热在线精品观看| 综合亚洲AV| 99精品视频免费观看| 996日日爱| 九九性视频| 91丨九色丨首页| 九九RE视频在线精品| 色婷婷狠狠久久综合五月| 五月丁香久人妻中文| 日本久久激情| 操操操B| 五月婷在线| 四月婷婷丁香五月| 五月丁香在线婷婷美女| 思思久日精品视频| 久久久五月婷婷| 丁香六月啪啪| 婷婷五月在线视频| 国产 码在线成人网站| 欧州色色| 日韩AV大全| 99er免费在线观看| 包操45分钟网站| 9999热在线免费观看| 国色天香成人网| 91超碰人人操| 亚州操人在线视频| 五月天天天色| 激情综合五月婷婷| 日木WWW视频| 538在线精品| 99re热在线视频观看| 五月综合色播播丁香婷婷| 五月天社区| 日本婷婷在线| 色婷婷狠狠18禁| 日本乱子人伦在线视频| 操大屄五月天视频| 99热一区| 久热亚洲| 色人久久| 亚洲亚洲人成综合网络| 99色综合久久| 97婷婷丁香五月天激情图片| 99热最新精品| 欧美五月丁香在线观看| 狠狠五月激情婷婷直播片| 狠狠操.com| 丁香激情久久| 人人添人人| 无码G高清天| 婷丁香五月天| 在线综合网| 五月丁香另类图片| 五月天啪啪视频| 五月婷成人| 日韩高清成人| 这里只有精品99视频| 激情图片亚洲| www.色色色色| 五月丁香综合啪啪| 五月丁香婷婷成人网| 婷婷五月天激情四射| 亚洲日日日| 伊人五月婷婷| 午夜精品久久久久久久爽| www久视频com| 99热国内精品| 情涩婷婷五月天| 丁香五月婷婷色| 天天 青草 制服丝袜 在线| 久热亚洲| 六月婷婷日| 五月婷av| 欧美大肥婆大肥BBBBB| 丁香五月五月婷婷欧美大香蕉| 99精彩视频网站在线| 天天综合网~91| 91久久国产综合久久| 大香蕉狼人久久| 欧美成人精品三区综合A片| 99在线精品观看99| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 久久婷婷七月丁香| 91九色|疯狂|高潮|对白|| 这里只有精彩小视频视频网站| 男女免费视频999| 综合网色| 天堂综合久| 夜夜撸夜夜骑| 婷婷九色| 婷婷五月天综合色| 337p大胆噜噜噜噜噜91Av| 婷婷六月天国产综合| 婷婷成人在线| 五月天另类图片| 久久综合性| 99成人| 99视频在线精品| 色六月婷婷| 国产成人精品亚洲线观看| 123日本不卡在线| 日韩久久视频| 色屌丝中文字幕| 国产精品久久久久久久久久久久| 亚洲成人在线播放| 久久婷网| 久热一区| 狠狠狠狠狠狠狠狠草| 激情综合国产| 五月婷婷色啪| 终合激情网| 国产亚洲成AV人片在线观黄桃| 色五月大| 九九热99熟女| 五月天久久网站| 六月天丁婷婷| 国产在线黄色| 婷婷月五天在线在线看| 精品欧美一区二区三区久久久| 99久久66| 久久婷婷视频| 婷婷激情综合无月| 激情综合五月丁香| 丁香熟女乱| 伊人婷婷激情| 婷婷五月丁香激情| 五月婷婷久久综合| 色播五月丁香综合| 九热视频| 甈你aaaaa| 日逼AV影音先锋男人资源站| 婷婷激情五月色综合| 久久天堂女人| 婷婷色播婷婷| 九九热短视频在线观看| 日本99视频精品免费播放| 婷婷九月综合| 亚洲婷婷丁香五月天激情小说| 国产成人片| www.日日夜夜| 97极品在线| 91婷婷| 亚洲在线激情婷婷五月| 色五月婷婷91在线| av狠狠操| 成人在线高清| 久热只有精品| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | AV网站免费在线| 婷婷综合在线播放| 公的粗大挺进了我的密道 | 99免费在线视频| 色婷婷888| 色噜噜狠狠色综无码久久合欧美| 五月丁香激情深爱婷婷| www色婷婷| 少妇高潮呻吟A片免费看软件| 九九婷婷五月天影视| 综合激情在线观看| av在线播放网站| 五月丁香六月婷婷姐| 久操综合| 狠狠狠狠狠狠狠狠| 激情99。| 97丁香婷婷| 亚洲成av人影院| 5月婷婷6月六月丁香| 亚洲天堂热| 成人无码精品1区2区3区免费看| 久久婷婷五月天亚洲欧美| 亚洲无aV在线中文字幕 | 精品人妻伦一二三区久久| SS丁香五月婷婷| 中文字幕人妻在线| 色99www.| 99ri6在线视频| 色综合久久天天综合网| 深爱激清网| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | A片试看120分钟做受图片| 婷婷五月天国产在线播放| 金桔一区二区ab地址| 人五月天婷婷喷水| 大香蕉手机视频| 久久这里有精品| 久久亚洲网| 天天综合 99久久婷婷| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 婷婷五月天福利| 日熟女| 色色网站免费观看| 九九九九九无码| 丁香五月123| 最近免费中文字幕大全高清大全1| 色五月丁香婷婷| 中文字幕日韩无码制服诱或| 亚洲 精品 综合 精品| 99在线视频播放| 久久香视频| 精品国产一区二区三区四区阿崩 | 婷婷五月色亚洲| 久久婷婷五月综合97色一本| 色婷精品91| 人人97操| 影音先锋男人av资源站| 黄色av网站在线免费播放| 国产成人网址| 国产古装妇女野外A片| 97婷婷丁香五月天激情图片| 97人妻碰碰碰久久| www.婷婷| 丁香六月色婷婷| 伊人婷婷五月天| 亚洲亚洲亚洲AAAAAA| 色婷婷4| 91婷婷丁香五月天免费视频网站| 色欲婷婷五月天| 先锋资源婷婷| 91天天操天天干天天射| 婷婷色婷婷亚洲成人| 日韩精品999| 99精品97| 99re66热这里只有精品| 九九热在线亚洲免费视频| 视频1区2区| 色色色色色九九九九九| 91啪啪啪啪| 91色综合网站在线| 人妻中文字幕网| av第一二区| 91日韩美女被插视频| 免费成人中文字幕| 91色综合网| 五月丁香婷婷中文| 情情五月天色| 开心婷婷五月天激情网| 婷婷涩涩五月天| 婷婷五月天综合久久| 久碰婷婷视频| 激情网五月天| www.91AV.COM| 色五月婷婷中文字幕在线观看 | 国产亚洲精品久久一区二区三区| 影音先锋一区二区三区| 韩国真做片在线观看| 亚洲亚洲人成综合网络| 六月婷婷最新网址| 操一区| 国庆精品久久| 天天天操天天天日| 人人摸人人搞| 色婷婷狠狠禁久久| 国产激情久久| 色噜噜婷婷| 草综合14| 色婷五月天| 五月综合激情啪啪啪啪啪| 99在线小视频| 亚洲激情无码久久| 99热这里有精品| 五月激情婷婷在线| 天天射天天操天天干| 日韩久综合| 五月丁香婷婷在线| 色五月丁香伊人| 久久婷婷综合国产| 色日本颜射| 色综合香蕉视频| 丁香色五月直播| 亚州日本欧州韩美高青高潮一| 五月天婷婷在线播放免费| 久久丝袜婷婷| 91女人18毛片水多国产| 综合五月丁香久久| 九九热啪啪| 江苏少妇性BBB搡BBB爽爽爽| 变态另类9| 色五月婷婷啪啪五月| 婷婷五月天天爽| 亚洲中文字幕在线观看| 影音先锋一区| 五月丁香色婷婷| 色偷偷AV亚洲男人的天堂| 五月婷婷日本| 五月婷婷狠狠久久| 五月永久激情| 丁香五月色| 久久婷鲁| 日韩av干| 色婷婷小说| 色色五月婷婷久久| 99小视频网站| 香蕉久久国产AV一区二区| 射琪琪| 五月丁香在线精品| 久久久久人妻| 99爱视频精品| 久9热在线视频| 丁香五月成人网| 开心激情站| 色综合综合色| av在线中文| 亚洲综合碰| 色插综合网| 国产精品成人在线| 久久99婷婷| 九九热在线观看视频| 天天躁日日躁狠狠躁日日躁2022年5月9日| 天天骑日日爽| 五月亭亭直播| 色婷婷婷av| 美日韩成人| 婷婷久久婷婷| 亚洲婷婷欧美婷婷| 五月婷婷|欧美| 噜噜视频| 97视频.干com| 99综合网| 另类色网| 九九在线热九九在线热99热| 五月天激情.com| 人妻体体内射精一区二区 | 色婷婷亚洲精品天天综| 色五月婷婷伊人| 夜丁香五月婷婷| 91精品久久久久久综合五月天| 日日夜夜天天| 丁香五月色五月婷婷宗合| 成人精品视频99在线观看免费| 亚洲成人网无码| 六月丁香激情网| 91vip在线观看| 狠狠综合久久| 热久久思思热思思| 久操香蕉| 天天爽天天| 色综合久网| 99视频在线精品| 97碰碰碰| 桃色五月天| 色婷婷婷av| 极品人妻VIDEOSSS人妻| 日本久久爱| 国产美女主播vip| 另类视频五月天| 国内一级精品| 久/久精品99看9| 狠狠操天天操天天操| 91夫妻视频| 激情五月少妇| 久久久99久久| 午夜少妇在线观看视频| 天天碰夜夜爽| 玖玖爱资源站| 美女婷婷激情亚洲| 97色啪| 亚洲无aV在线中文字幕| 欧美 日韩 人妻 高清 中文| 开心网五月色婷婷| 快乐婷婷五月天| 婷婷丁香九色| 伊人久久大香网| 婷婷和五月天| 九九色黄色| 婷婷色五月激情强奸四射| 人妻狠狠操| 熟女强人妻一区二区三区四区无| 开心激情站| 99热r| 9色婷婷| 激情綜合網址| 六月丁香婷婷开心综合基地| 超碰无码318604| 狠狠干综合| 色爱终和网| 日本三级日本三级三级人妇四虎| 五月婷婷色在线| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 久久久97| 九九中文色色| 亚洲无AV在线中文字幕| 亚洲VA口| 五月婷婷精品无在线| 人人干女人| 午夜精品久久久久久久爽| 婷婷五月天色播| 91热er| 黄色激情久久| 69精品人妻不卡视频| 狠狠操狠狠插| 亚洲五月花| 久久九九色| 五月色欧洲| 中文av网站| 五月停停激情网| 噜噜色天天开心| 久热99久热| 亚洲妇女熟BBW| 五月婷婷三级| 人人摸人人| www.五月天婷婷姐姐| 色v综合网| 亚洲成人在线观看网址| 无码成人播放器| 狠狠色狠狠操| 亚洲色综合| 五月婷婷之婷婷| 五月天伊人日日噜影片AV| 五月婷婷丁香综合| 女同激情久久av久久| 五月丁香综合网| 国精产品一区一区三区免费视频| 婷婷精品视频| 日韩无码专区| 国产亚洲99久久精品| 玖玖资源站国产| 欧美色碰| 大香蕉久热| 狠狠爱夜夜| 色色综合院| 日本美女97在线视频| 久草婷婷| 艹B高清无码| 国产毛片精品一区二区色欲黄A片| 99热.com| 久久综合五月天| www.超碰在线| 性一交一乱一交A片久| 丁香婷婷色五月| 殴美激情综合网| 色域五月婷婷丁香| 99在线精品观看99| 色噜噜狠狠色综无码久久合欧美| 97在线精品| 五月天社区| 色色综合网站| 在线视频婷婷| 婷婷久久18| 亚洲婷婷激情综合激情999精品| 91AV视频| www色五月| 91欧美| 台湾综合丁香五月蜜桃| 日 日干 日日做| 天天操天天操天天操| 99精品网站| 婷婷射婷婷舔| 成人精品在线观看| 热的国产,热的综合,热的有码| sS丁香五月婷婷| 内射激情在线| 天天爱天天做天天操| 人人干人人看| 婷婷久草| 九九色婷| 好看的国产精品| 99re热精品视频国| 丁香婷婷在线| 色欲丁香| 天堂伊人干| 996re热精品视频| 久久999久久999久久999久久| 色女人久久| 99国产er热视频| 丁香六月婷婷综合麻豆| 日日夜夜狠狠| 国产成人网址| 午夜色丁香| 色色日韩网| 深爱激情网婷婷| 99丁香五月婷婷在线| 五月停停999| 中文人妻主播久久| 天天爱天天操| 五月婷婷激情综合| 99在线视频女女视频| 久久久思思热| 久久这里都是精品| 九九热AV| 综合色吧| 嫩BBB槡BBBB搡BBBB视频| 丁香六月婷婷综合| 在线看的免费网站| 久久激情五月婷婷| 久久人妻伊人| 激情内射人妻1区2区3区| www久久久久久| 琪琪秋霞| 五月天成人综合| 婷婷99视频在线| 婷婷五月激情欧美| 丁香五月六月综合激情| 搡BBBB搡BBB搡五十| 538任你爽视频不一样的| va婷婷在线| 五月丁香精品| 男人視頻站| 五月激情丁香五月宗合| 精品久久艹| 久久天堂婷婷五月| 婷婷亚洲色| 精品网站99| 久色大| 欧美97超碰| 久久99热这里只有| 色三级色三级| 九九色大香蕉| 99综合| 婷婷久综合| 国产日批视频免费播放| 久久东京热婷婷五月| www.韩日视频| 五月丁香婷庭在线| 超碰婷婷色| 色黑鬼导航| 91丨九色丨熟女高潮| 亚洲一区二区无遮挡A片| 色久综合天天做视频| 天天色粽合合合合合合合| 色婷婷五月天| 99啪啪| 亚洲AV中文在线| 久久精99| 五月丁香六月成人| 99热亚洲综合| 色色色色综合| 九九色区| 伊人狠狠丁香婷婷综合尤物| 久久久.COM| 2020日日干| 日韩无码91| 六月丁香综合| 天天操五月天| 激情五月婷| 久久久久久激情| 九九精品综合| 九九热视频精品| 91丨九色丨43老版熟女| 丁香婷婷啪啪| 色综合五月在线| 中字幕视频在线永久在线观看免费| 天天做天天爱天天爽夜夜揉| 久久久网站| 96人人操人人操人人| 啪啪啪综合网| 激情五月婷在线精品| 99色人| 婷婷午夜天| 日韩视频女神99| 成人在线综合| 啪啪91| 五月丁香色色网| 337p午夜影院| 亚洲色夜| 99re热精品视频国| 久久桃花网色婷婷| 夜夜夜夜夜骑撸| 色99色| 激情综合久久| 九九免费在线视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 五月婷婷啪啪| 天天成人综合视频| 国产肏屄大片| 激情深爱五月天| 天天插天天日天天爽| 操精品9| 五月婷婷六月丁香| 激情开心五月婷婷| 97成人视频| 99热大香蕉| 激情深愛五月視頻| 五月婷婷丁香综合,亚洲天堂| 丁香五月婷婷视频| 欧美性生交XXXXX无码小说| 九九热这里只有国产精品| se婷97| 欧美久热| 婷婷五月天激情综合深爱激情| 色婷婷精品视频| 久久丁香五月天| 欧洲免费视频色| 99视频九九热| 超碰亚洲欧美| 丁香六月婷婷开心| 激情五月视频在线婷婷| 开心久久xxx色| 新男人天堂人妻| 日本欧美成人片AAAA| 五月丁香六月婷婷视频| 丁香五月天色| 激情图片久久| 色五月,com| 色播五月| 丝袜激情网| 五月丁香六月激情综合在线| 亚洲成人综合在线| 色婷婷女优有码五月亭| 精品成人无码A片观看香草视频| 伊人激情影院| av在线色五月丁香婷区久| 538任你爽| 九月婷婷综合在线| http:色情日本com| 五月色网| 丁香五月综合婷婷| 操一操干一干| 色婷婷五月综合网| 91919191919久久成人视频| 91色在线/日韩| 久久婷婷综合五月趴| 狠狠久久婷五月综合色| 狠狠操狠狠爱| 成人婷99最新| 丁香婷婷色九月| 色色色色色日韩午夜激情| 香蕉久久国产AV一区二区| 久久久久久久97| 激情五月丁香婷婷| 五月婷婷 激情五月| Va另类视频| 十月丁香婷婷| 成人精品一区二区三区四区五区| 91精品久久久久久| 网色99| 综合性爱网| 99视频在线观看视频| 激情精品久久| 97在线日韩| 婷婷大香焦| AA片在线观看视频在线播放 | WWW·色色色·COM| 无码九九九九| 加勒比日本一区二区三区| 五六月婷婷久久| 狠狠一日| 精品自拍99| 婷婷九九色| 色99久草在线| 99九九99九九九视频精品| 亞洲自怕| 超碰99热精品| 久久婷婷色综合| 98色花堂98t.R| 婷婷少妇激情| 人妻肉射免费观看| 99热99| 超碰狠狠操| 大香蕉AV在线| 激情五月婷| 免费视频WWW在线观看网站| 三男玩一女三A片| 日韩黄在免| 五月婷婷啪啪啪啪| wwww.色婷婷| 黄色一级影片| 色六月丁香婷婷啪啪啪| 激情婷婷五月天伊人在线观看| 天天日夜夜夜操操操操| 亚洲激情免费视频| 99热这里都是精品| 五月丁香六月在线| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 色色五月天激情| 激情五月天色播| 涩涩涩婷婷| 中文网av| 激情五月婷| 五月天婷婷在线AN| 久草热8精品视频在线观看| 67久久| 99热天堂| 天干干夜夜操| 人人操AV| 免费观看18视频网站| 九九九九九九热| 久久久久久99精品无码| 色六月天天激情综合网| 色综合色综合色综合| 久re热视频| 亚洲激情综合| 9热久久| 五月天婷婷日日爱| 激情五月天婷婷五月天| 久久婷婷影院| 久久九九re热| 激情五月综亚网| 夜夜撸日日操| 亚洲精品无AMM毛片| 视频在线免费观看欧洲乱码| 激情五月图| 开心激情五月天网| 五月丁香久久| 26.uuu丁香五月婷婷| 新99思思视频| 色99自拍| 啪啪操网| 人人色性网| 久久精品99久久久久久| 激情5月婷婷| 久久久婷婷| www五月天com| 久久久久久久久久久久久9| 亚洲色图五月丁香| 涩玖玖免费视频| 男人天堂亚洲综合| 久久久www| 97在线视频 欧美| 成人色情五月天婷婷丁香| 99热天堂| 久久九九一區| 九色视频这里只有精品| 夜夜骑夜夜撸| 国产日韩av片| 99热这里只有精品在线观看| 七月丁香五月婷婷在线| 天天激情综合| 亚洲黄色影视| 丁香婷婷色色| 婷婷五月天电影网| 婷婷丁香色女人| 婷婷丁香一月| AV中文在线| 国产免费一区二区在线A片视频| 久久激情网| 色综合色综合色综合| 久色中文| 99干日日干| 婷婷五月深深的爱| 色综合久| 99热视| 激情综合婷婷| 综合亚洲色色| 婷婷五月天在线观看| 亚洲操逼片| 激情六月丁香| 另类视在线| 97碰碰视频| 嫩草视频观看| 先锋资源婷婷| 亚洲性爱电影| AV在线观看网站| 日本久久99| 99热免费精品| 91色久| 婷婷五月综合在线| 色五月激情婷婷| 九九黄色网| 亚洲第一第二网站| 另类激情五月天。| 开心五月激情网| 五月天婷婷日日爱| 福利视频在线播放| 欧美综合在线五月天色婷婷| 九九婷婷激情综合网| 丁香五月天啪啪激情综和网| 人人操人人妻| 操骚货在线| 丁香久久综合| 丁香五月天综合| 99在线观看精彩视频| 双性美人被调教到喷水A片| 色婷婷伦理| 黄色激情网站在线观看| 激情五月天激情五月天| 色婷婷天堂| 涩涩涩五月天| www.狠狠色.com| 久久九网| 久久在线大香蕉| 五月婷婷综合激情网| 五月丁香综合激情| 天天干、天天日日| 在线99精品| 99久久9| 久久狠色噜噜狠狠狠狠97| 7777国产盗摄农村女人| 欧美色性色好| 婷婷五月天成人在线视频| 国产熟妇的荡欲午夜视频| 五月婷婷丁香综合| 九月婷婷激情| 色丁香久久久| 色综合色婷色基地| 亚洲色色图片| 久久婷婷草| 综合网天天| 五月丁香六月花| 日本高清久| 专区无日本视频高清8| 婷婷久久亚洲| 五月丁香啪| 久综合4| 99ri视频| 色婷婷久综合久久一本国产AV| 99热在线观看精品| 婷婷大香焦| AAA久久久| 久草xx性爱视频| AV电影在线播放| www.一区二区三区| 99热6精品| 日日噜狠狠色| 五月视频日本免费观看| 97久久五月丁香婷婷| 国产av天堂| 天堂网啪啪| 99视频精品全部免费 在线| 熟女网站久久| 久热99视频在线观看| 中文字幕在线观看视频www| 色五月首页| 夜夜躁狠狠| 女操碰| www.亚洲激情.com| 操人无码| 99久在线| 欧美黄色韩日网| 先锋资源996| 日本3级片偷拍网站| 欧在线一区| 色吧五月| 欧美一级色| 色综合伊人网| 亚洲丁香五月在线观看| 久久久婷婷五月天| 夜夜爽天天爽| 9色在线视频| 六月综合婷婷开心伊人| 天天添天天摸天天天天做| 久久中文人妻系列| 操久久网| 九九热re99re6在线精品| 国产原创视频91九色| 99视频| www.丁香五月| 丁香五月婷婷在线| 色色五月天婷婷| 五月天婷婷网站888| 99综合视频| 五月天激情无码| 99精品22| 婷婷色网站| 中文字幕性爱丰满| 初夜av| 五月丁香六月婷婷色| 五月天婷亚洲天综合网综合| 中文字幕成人| 婷婷丁香五另类网站| 99久久www| 九九热99视频在线| 97婷婷在线| 超碰99热精品| 五月天色色婷婷| 日韩精品超碰在线观看| 九九视屏| 伊人婷婷大香蕉| 男人天堂99| 精品婷婷| 六月丁香婷婷视频综合在线观看| 色射影院| 婷婷六月丁香开心深深爱| 久久99久久99久久99人受| 色综合色色| 丁香亭亭久久| 六月香五月婷| 久99久热只有精品国产99| 婷婷丁香亚洲五月天| 婷婷六月天亚州| 天天高潮夜夜爽| 97久人人| 99熟女| 丁香五月AV在线| 丁香五月天在线直播观看| 99色1| 亚洲综合激情五月| 99免费在线视频| 综合色99| 极品少妇XXXX精品少妇偷拍| 91se视频| 久久婷婷综合拍| 91碰在线| 婷婷色5月天在线。| 丁香色情五月综合网站| AV人人操| 色五月天激情| 色婷婷狠狠| 人妻有码乱操| 操操自拍| 99热日韩这里只有精品| 99热这里只有精品 搜| 五月丁香六月综合激情| 99热这里只有精品2| 99re热视频这里只精品| 久久九九亚洲| 9999久久久久| 综合色色婷婷| 五月天综合激情网| 国产av天堂| 六月丁香开心婷婷欧美| 九九综合九九| 色婷婷五月天小说网| 五月丁香六月激情视频| 可以直接看的AV| 久久R激情| 亚洲成人高清在线| 亚洲综合丁香五月| www.色五月| 九九亚洲| 国产精品国产| 91视屏在线观看com.wwwvv| 色五婷婷开心缴| 色五月激情五月开心五月| 好叼操在线观看| 成人视屏在线观看| 热成人网| 可以看的AV| 久热精彩视频98| 亚洲精品国产熟女久久久| 久久婷婷电影| 天天插天天插天天日| 九九99一区| 九九久久精品| 丁香五月综合激情性爱| 思思久久思思| 五月天丁香网| 欧美六月婷婷| 婷婷区日本| 91ncm视频| 伊人免费视频9| 亚洲激情综合网| 丁香六月色婷婷| 婷婷五月天av| 99激情网| 狠狠摸狠狠摸| 五月丁香六月激情网站| 久热只有这里有精品| 五月婷婷六月丁香五月| 五月天丁香婷婷视频网址| 天天综合情| 99综合自拍| 一起草日本| 五月丁香网中文字幕| 久久久精品色| 婷婷操超碰| 激情综合网五月激情| 欧美成人AAA片一区国产精品| 色噜噜狠狠色综合网| 色婷婷AV久久久久久久| 色香蕉精品五夜婷| 99色看这里只有精品| 91日本在线观看| 狠狠情色| 亚洲99精品欧美一区| 日本色色色色色色色色一色二色| 天天做天天爱天天爽夜夜揉| 97色在线观看视频| 色青五月天| 婷婷五月综合激情免费| 欧美色激情四射| 另类小说五月天综合| 日日夜夜干| 热99国产精品| 99热爱爱干干日| 99噜噜| www.射伊蕉婷婷| 国产性爱一级| 噜噜噜久久| 91啪啪啪啪| 五月激情六月丁香| www.99热这里精品| 久久爱婷婷| 97婷婷久久丁香| 真实亲子乱子伦高清在线观看| 久久免费高| 开心婷婷五月中文字幕组| av在线婷婷| 五月婷婷久草在线视频综合| 亚洲午夜国产成人电影VA国产欧…| 国产热精品| 亚洲超碰青涩| www.成人婷婷综合| 青青999| 丁香五月天婷婷中文字幕| 久色88| 久久激情五月天| 日韩成人综合网| 天天插天天干| 五月婷婷开心激情六月蜜桃| 1024国产在线| 啪啪六月婷婷| 五月丁香毛片| Av大香蕉| 草操网| 婷婷五月激情黄色| 久热网在线视频| 免费AV在线网址| 婷久久| 9er热在线精品视频| 伊人综合网站| 热99精品视频| 99日本视频| 久/久精品99看9| 天天摸,天天爽| 亚洲成AV人片在线观看| 婷婷五月丁香综合激情| 99九九玖玖| 97色色婷婷| 亚洲婷婷五月天激情综合| 国产女人十八水真多1| 超碰国产在线观看| 看黄的网站18禁| 综合久久激情久久| 欧美激情VA永久在线播放| 99精品在线| 狠狠干最新地址| 亚洲色色色| 丁香六月婷婷综合色| 级人人91| 丁香六月啪啪啪| 色五月丁香婷婷综合| .肏屄视频一区二区| 婷婷久久久久| 五月社区婷婷激情| 停停五月色宗合| 这里只有精品视频免费在线观看| 天天爽天天爽夜夜爽| 91人碰| 午夜不卡久久精品无码免费 | 婷婷五月天在线一区| 婷婷五月亚洲综合| 日韩ww| 成人版视频在线观看| 五月婷婷与六月丁香图片激情| 久777| 婷婷综合激情| 五月丁香六月婷婷的女人| 久久婷婷激情| 色吊丝99| 日韩婷婷| 五月婷婷六月激情| 五月丁香成人| 91操网| 五月停亭久久电影| 天天做天天爽| 六月份天丁香婷婷| 草美女在线观看视频在线播放| 大香蕉伊在| 亚洲蜜桃精久久久久久久久久久久| 五月丁香亭亭| 五月天婷婷青青草| 婷婷五月天美女| 久久婷婷丁香五月宗合| 国产午夜精品一区二区三区四区| 91人人网| 直接看的AV| 五月婷在线色视频| 天天骑日日爽| xx久久| 激情婷婷黄色五月| 欧美槡BBBB槡BBB少妇| 五月婷婷激情综合| 性综合网| 99热中国| 五月丁香在线国产| 婷婷激情伍月网| 久久久性爱网| 久草丁香婷婷五月天婷| 五月天丁香婷婷视频网址| 99日韩| 黄网在线播放| 婷婷丁香六月天| 婷婷激情五月天小说校园| 婷婷激情五月天在线视频| 另类图片色五月| 久久精品系列| 伊人激情网| 68热超碰在线| 四LLL少妇BBBB槡BBBB| 婷婷五月情| 婷婷五月天综合网| 久99久热| 亚洲成人网站在线播放| 婷婷六月丁| 五月天激情啪啪| 色射婷婷五月天| 99秘 在线| 成人小说 五月天 婷婷| 日本女天天爽| 综合五月草| 激情五月婷黄版| 天天爱天天做天天日| 久久新地址| 一起草Av| 五月婷婷丁香| 久热9| 色婷婷狠狠| 丁香五月激情宗合网| 九九亚洲视频| 欧美日韩91| 五月天色色激情综合| 99热久| 五月丁香综合啪啪啪啪啪| 五月五婷婷网| 国产色色网址网站| 欧美综合婷婷欧美综| 色的色综合| 五月开心婷婷| 五月香六月婷| 99re这里| 五月99久久| 中文字幕在线不卡| av中文在线| 91碰碰| 国产肥白大熟妇BBBB视频| 天天揷综合网| 久热精彩视频98| 日韩无码人妻一区二区| 六月婷婷啪啪| 五月激情视频| 96人人操人人操人人| 日本特黄aaaaa| 色欲天天综合| 久久精品系列| 九九99在线免费在线观看视频| 思思热99热| 日本操天堂| 9久热在线精品| 九色地址91视频| 天天爽人人综合免费7799| 新99思思视频| 亚洲bt丁香五月天婷婷激情小说| 人妻久久人妻久久第一区| 99爱视频| 五月丁香六月婷婷在线播放| 天天天操天天天日| 玖玖婷婷色五月| 91日韩在线| 91精品久久久久久久久久| 婷婷六月天| 中文字幕在线日亚州9| 美女100%露全身无挡网站| 九九在线这里只有精品视频| 啪啪婷婷五月天激情| 五月香婷婷| 99精品综合在线| 91在线日| 99热只有国产在线精品| 欧洲色| 99热最新| 无码一级片| 五月天婷婷日日爱| 国产三级秋霞| 99操| 亚洲情欲久久| se99高清无码| 天天日本夜夜谢| 欧美在线干| 日韩无码亚欧无码| 大香蕉久久伊人婷婷五月丁香| 丁香色五月婷婷91桃色| 色婷婷久久综合| 色综色网| 99热网站| 久久九九热视频| 超碰91在线| 最新日韩久热免费视频看看| 色五月久久成人婷婷| 久久hd| Aaa久久| 99热乎| 久久色五月天| 操逼五月婷婷| 啪啪啪综合网| 婷婷久久色| 666555。COm毛片| 亚洲成人在线播放| 婷婷丁香人妻天天爽| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 五月婷婷婷| 人人人va亚洲视频在线| 91超级碰碰碰| 亚洲综合视频网| 天天日夜夜拍| 国自产拍偷拍精品啪啪一区二区 | 五月丁香六月香香蕉| 激情五月色综合| 99热在线播放| 五月婷在线观看| 天天做天天爱| 五月天社区婷婷| 99热在线免费观看精品| www99精品| 玖玖99精品视频| 久久婷婷五月天亚洲欧美| 夜精品无码A片一区二区蜜桃| 婷婷视频网| 99re在线视频| 婷婷自拍| 婷婷干五月综合在线播放| 疯狂做受XXXX高潮A片动画| 无码se| www.99久| 91精品国产99久久久久久天美| www.国产色| 久久日婷婷| 婷婷五月综合啪| 激情五月婷婷| 亚洲舔观看| 六月丁香啪啪| 国产精品久久久99视频| 五月婷婷久久综合| 中文精品在| 五月天久久综合| 日本天堂爱爱| www.91婷婷| 久久久性爱网| 99久久婷婷五月综合| 九九热精品99| 激情啪啪五月| 久久人人九| 99热99极品观看| 色五月天丁香婷婷| 久久婷婷久久| 黄色成人网站在线播放| 亚洲无码成人| 亚洲精品国产成人AV在线| 99在线播放视频| 激情婷婷色色| 噜噜视频| 婷婷丁香久久五月综合| 操操操97|