Не удалось выполнить POST-запрос при запуске тестов Agouti с Selenium

Я реализовал приемочные испытания в Голанге, используя Агути, Гинкго и Гомега. Он отлично работал при локальном использовании ChromeDriver.

Теперь я хочу, чтобы он работал в контейнере selenium / standalone-chrome-debug. Подключение работает, настраиваю через:

page, err = agouti.NewPage("http://localhost:4444/wd/hub", agouti.Desired(agouti.Capabilities{
        "chromeOptions": map[string][]string{
            "args": {
                "--disable-extensions",
                "--ignore-certificate-errors",
                "--allow-running-insecure-content", //javascriptEnabled
            },
        },
    }))

и запустите тест с "go test. /...".

Теперь проблемы начинаются, когда я пытаюсь протестировать что-то вроде

...
usernameInput := page.Find("#username")
Expect(usernameInput.Fill("username")).To(Succeed())

Тогда он говорит

failed to clear selection 'CSS: #username [single]': request unsuccessful: POST /session/ba8501d4b37f5f23a3ca68da39bba2f3/element/clear
  Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
  System info: host: '211da6f01c70', ip: 'removedbyme', os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.76-linuxkit', java.version: '1.8.0_252'
  Driver info: driver.version: unknown?

Я вижу, что на пути между / element и / clear должно быть что-то вроде идентификатора элемента, но я не знаю, почему это не так.

Я использую:

  • селен / автономный хром-отладка
  • go1.14.2
  • гинкго v1.12.1
  • гомега v1.10.0
  • агути v3.0.0

Изменить: это работает, если я использую JavaScript, например

page.RunScript(fmt.Sprintf("$('#username').val('%s');", username), nil, nil)

Но, конечно, мне бы очень хотелось использовать встроенные функции Агути.

0 ответов

Другие вопросы по тегам