如何从浏览器堆栈捕获网络日志

问题描述 投票:0回答:1

我想从浏览器堆栈中捕获网络日志。

[当我写drive.quit()时,之后便可以通过https://api.browserstack.com/automate/builds/{build_id}/sessions/{session_id}/networklogs捕获网络日志,但是当我在drriver.quit()之前调用网络日志api时,我得到的是空数组作为浏览器堆栈的响应和超时测试。

这不起作用

let capabilities = {
        'browserName' : 'Chrome',
        'browser_version' : '79.0',
        'os' : 'OS X',
        'os_version' : 'Sierra',
        'resolution' : '1024x768',
        'browserstack.user' : bs.user,
        'browserstack.key' : bs.key,
        'browserstack.networkLogs': 'true',
        'name' : 'Bstack-[Node] Sample Test'
    };

    driver = new webdriver.Builder()
        .usingServer(bs.server)
        .withCapabilities(capabilities)
        .build();

    try {
        console.log("FINAL URL", URL + testConfig[urlToOpen].url + bidexchangeUrl);
        while (!await pageLoad()) {
            if (count > 2) {
                console.log("Timeout occurred, driver.quit called");
                await driver.quit();
                // await harCapturer.deletePortCapturing();
                process.exit(0);
            }
        }

        let sessionId = await getSession(driver);

        testConfig[urlToOpen].driver = driver;


        // this method is calling har api
        harCapturer =  new HarCapturer(sessionId);

        // after some test quit the driver
        driver.quit(); 

此作品

let capabilities = {
        'browserName' : 'Chrome',
        'browser_version' : '79.0',
        'os' : 'OS X',
        'os_version' : 'Sierra',
        'resolution' : '1024x768',
        'browserstack.user' : bs.user,
        'browserstack.key' : bs.key,
        'browserstack.networkLogs': 'true',
        'name' : 'Bstack-[Node] Sample Test'
    };

    driver = new webdriver.Builder()
        .usingServer(bs.server)
        .withCapabilities(capabilities)
        .build();

    try {
        console.log("FINAL URL", URL + testConfig[urlToOpen].url + bidexchangeUrl);
        while (!await pageLoad()) {
            if (count > 2) {
                console.log("Timeout occurred, driver.quit called");
                await driver.quit();
                // await harCapturer.deletePortCapturing();
                process.exit(0);
            }
        }

        let sessionId = await getSession(driver);

          driver.quit();

        // this method is calling har api
        harCapturer =  new HarCapturer(sessionId);

请向我建议解决方案

selenium browserstack
1个回答
1
投票
我从头开始也进行了检查,并希望分享一下,只有在会话终止后才捕获BrowserStack上的不同调试日志,例如网络/控制台。
© www.soinside.com 2019 - 2024. All rights reserved.