Извлечение кода ошибки журналов консоли selenium js

#javascript #selenium #selenium-webdriver #monitoring #synthetic

#javascript #selenium #selenium-webdriver #мониторинг #синтетический

Вопрос:

ниже приведен мой код в selenium JS, на последнем шаге я хочу получить код ошибки из консоли браузера, мне нужно проверить, не должно быть никакого кода ошибки 504 в консоли браузера для текущей страницы.

 driver.get(M_URL)
    .then(() => {
        return driver.findElement(By.xpath('//input[@id="UserName"]'))
            .then(el => el.sendKeys(USERNAME));
    })
    .then(() => {
        return driver.findElement(By.xpath('//input[@id="Password"]'))
            .then(el => el.sendKeys(PASSWORD));
    })
    .then(() => {
        return driver.findElement(By.xpath('//button[text()="Login"]'))
            .then(el => el.click());
    })
    .then(() => {
    return driver.findElement(By.xpath('//h3[text()[contains(.,"Publisher")]]')).click()
        .then(() => log('Publisher page is rendered'));
    })
    .then(() => log('check 504 error code in browser console'));
  

Заранее спасибо!

Ответ №1:

Вот как вы можете это сделать

 require('chromedriver');

const path = require('path');
const wd = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

var builder = new wd.Builder();
var options = new chrome.Options();
var prefs = new wd.logging.Preferences();
var driver;

prefs.setLevel(wd.logging.Type.BROWSER, wd.logging.Level.ALL);
options.setLoggingPrefs(prefs);

driver = builder
    .forBrowser(wd.Browser.CHROME)
    .setChromeOptions(options)
    .build();

driver
    .get(`file://${path.resolve(__dirname, './page.html')}`)
    .then(() => driver.manage().logs().get(wd.logging.Type.BROWSER))
    .then((logs) => {
        console.log(logs);
    })
    .then(() => driver.quit());
  

подробнее об этом здесь