簡體   English   中英

Chrome遠程調試端口的使用,用於使用Webdriverio進行chrome分析

[英]Chrome remote debugging port usage for chrome profiling using Webdriverio

我目前正在使用Chrome配置文件API來獲取以下代碼覆蓋率。

但是,每當我嘗試運行測試時,都會出現以下錯誤

錯誤:在ClientRequest.g(events.js:291:16)處的ClientRequest.response(/Users/svg7/projects/examples/build/js/testSuites.js:8419:16)處服務器意外響應(404)在套接字上的HTTPParser.parserOnHeadersComplete(_http_common.js:99:23)上的HTTPParser.parserOnIncomingClient(_http_client.js:472:21)上的ClientRequest.emit(events.js:188:7)上的events.js:96:13)。 Socket.emit(events.js:188:7)的elementOne(events.js:96:13)的socketOnData(_http_client.js:361:20)可讀的AddChunk(_stream_visible.js:176:18)

我的代碼如下:

import * as fs from "fs";
import {createSession} from "chrome-debugging-client";

describe("Functional Coverage example", function() {
this.timeout(880000);
it("Get the coverage", () => {
    createSession(async (session) => {
        const api = await session.createAPIClient("localhost", 6813);
        console.dir(api);
        const tabs = await api.listTabs();
        const tab = tabs[0];
        console.log("====>");
        console.log(tab.webSocketDebuggerUrl);
        // browser.stop();
        let client = await session.openDebuggingProtocol("http://localhost:6813");
        await client.send("Profiler.enable");
        await client.send("Page.enable");
        await client.send("Profiler.startPrecisionCoverage", {callCount: true});
        await client.send("Page.navigate", {url: "https://www.microsoft.com"});
        await new Promise((resolve) => client.on("Page.loadEventFired", resolve));
        await new Promise((resolve) => setTimeout(resolve, 10000));
        let result = await 
client.send("Profiler.takePrecisionCoverage");
        fs.writeFileSync("coverage.json", JSON.stringify(result, null, 2));
    }). catch(err => {
        console.error(err);
    });
});

    after(() => {
    });
});

我正在采取的步驟:

  1. 通過./chrome --remote-debugging-port=6813啟動瀏覽器;
  2. 運行測試。

我剛遇到同樣的問題。 似乎按選項卡有一個調試器鏈接,所以只需替換:

session.openDebuggingProtocol("http://localhost:6813")

通過

session.openDebuggingProtocol(tab.webSocketDebuggerUrl);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM