Ошибка Selenium Webdriver при использовании в контейнере Docker - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь запустить тест на селен из контейнера docker. Когда я запускаю локальный код на компьютере windows, программа работает нормально. Но когда я пытаюсь запустить его из docker контейнера, я получаю следующий код ошибки:

/usr/local/app/src/node_modules/selenium-webdriver/chrome.js:292
static getDefaultService = getDefaultService;
SyntaxError: Unexpected token =

Мой javascript node.js код выглядит следующим образом:

const { Builder, By, Capabilities } = require('selenium-webdriver')
var express = require('express')
const config = require('config')
// var sql = require('mssql')

var app = express()
app.get('/search', async function (req, res) {
  const driver = await new Builder().forBrowser('chrome').withCapabilities(Capabilities.chrome()).usingServer('http://extenal-selenium-standalone-chrome.westeurope.azurecontainer.io:4444/wd/hub').build()
  try {
    await driver.get('https://google.com/')
    await driver.manage().window().setRect(1368, 1040)
    driver.sleep(2000)
    await driver.findElement(By.id('search')).click()

Итак, у меня есть два контейнера одно стандартное docker изображение: selenium / standalone- chrome: 3.4.0 И самостоятельно созданное docker изображение с кодом node.js выше.

Похоже, что код в контейнере docker не работает с этим оператором:

const {Builder, By, Capabilities} = require ('selenium-webdriver')

...