Chrome 使用 Webdriverio chrome 分析的远程调试端口使用情况
Chrome remote debugging port usage for chrome profiling using Webdriverio
我目前正在使用 Chrome 分析 API 来获得如下代码覆盖率。
但是每当我尝试 运行 测试时,我都会收到以下 错误:
Error: unexpected server response (404)
at ClientRequest.response (/Users/svg7/projects/examples/build/js/testSuites.js:8419:16)
at ClientRequest.g (events.js:291:16)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at HTTPParser.parserOnIncomingClient (_http_client.js:472:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at Socket.socketOnData (_http_client.js:361:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.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(() => {
});
});
我正在采取的步骤:
- 通过
./chrome --remote-debugging-port=6813
; 启动浏览器
- 运行 测试.
我刚遇到同样的问题。
似乎有一个调试器 link 按选项卡,所以只需替换 :
session.openDebuggingProtocol("http://localhost:6813")
来自
session.openDebuggingProtocol(tab.webSocketDebuggerUrl);
我目前正在使用 Chrome 分析 API 来获得如下代码覆盖率。
但是每当我尝试 运行 测试时,我都会收到以下 错误:
Error: unexpected server response (404) at ClientRequest.response (/Users/svg7/projects/examples/build/js/testSuites.js:8419:16) at ClientRequest.g (events.js:291:16) at emitOne (events.js:96:13) at ClientRequest.emit (events.js:188:7) at HTTPParser.parserOnIncomingClient (_http_client.js:472:21) at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23) at Socket.socketOnData (_http_client.js:361:20) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.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(() => {
});
});
我正在采取的步骤:
- 通过
./chrome --remote-debugging-port=6813
; 启动浏览器
- 运行 测试.
我刚遇到同样的问题。 似乎有一个调试器 link 按选项卡,所以只需替换 :
session.openDebuggingProtocol("http://localhost:6813")
来自
session.openDebuggingProtocol(tab.webSocketDebuggerUrl);