Не удалось выполнить 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)
Но, конечно, мне бы очень хотелось использовать встроенные функции Агути.