У нас есть работающая версия botium-box и selenium в отдельных док-контейнерах.Botium-box подключен к redis и prisma в облаке.Мы подключили Docker-контейнеры с помощью сети, выполнив следующие команды:
docker run --name botium -p 4000:4000 botiumbox
docker run --name selenium --hostname selenium -d -p 4444:4444 --shm-size=2g selenium/standalone-chrome:3.141.59-europium
docker network create my-net
docker network connect my-net selenium
docker network connect my-net botium
У нас есть рабочий тестовый пример с нашим чат-ботом, использующим botium-cli, как описано в следующей статье: https://chatbotsmagazine.com/5-steps-automated-testing-of-chatbots-in-eclipse-ef4c3dcaf233
Когда мы пытаемся соединить нашего чат-бота с botium-box, мы получаем следующую ошибку:
2019-02-04T13:06:44.665Z botium-box-server-agents-testsession Test Session Job 247/cjrqcmo4j00yt0807mskvflq9 failed: Error: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/assets/displayhelpservlet.css" media="all"/>
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon" />
<script src="/assets/jquery-3.1.1.min.js" type="text/javascript"></script>
<script src="/assets/displayhelpservlet.js" type="text/javascript"></script>
<script type="text/javascript">
var json = Object.freeze('{"consoleLink": "\u002fwd\u002fhub","type": "Standalone","class": "org.openqa.grid.web.servlet.DisplayHelpHandler$DisplayHelpServletConfig","version": "3.141.59"}');
</script>
</head>
<body>
<div id="content">
<div id="help-heading">
<h1><span id="logo"></span></h1>
<h2>Selenium <span class="se-type"></span> v.<span class="se-version"></span></h2>
</div>
<div id="content-body">
<p>
Whoops! The URL specified routes to this help page.
</p>
<p>
For more information about Selenium <span class="se-type"></span> please see the
<a class="se-docs">docs</a> and/or visit the <a class="se-wiki">wiki</a>.
<span id="console-item">
Or perhaps you are looking for the Selenium <span class="se-type"></span> <a class="se-console">console</a>.
</span>
</p>
<p>
Happy Testing!
</p>
</div>
<div>
<footer id="help-footer">
Selenium is made possible through the efforts of our open source community, contributions from
these <a href="https://github.com/SeleniumHQ/selenium/blob/master/AUTHORS">people</a>, and our
<a href="http://www.seleniumhq.org/sponsors/">sponsors</a>.
</footer>
</div>
</div>
</body>
</html>
at new RuntimeError (/app/agent/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:143:12)
at Request._callback (/app/agent/node_modules/webdriverio/build/lib/utils/RequestHandler.js:302:39)
at Request.self.callback (/app/agent/node_modules/request/request.js:185:22)
at Request.emit (events.js:188:13)
at Request.EventEmitter.emit (domain.js:439:20)
at Request.<anonymous> (/app/agent/node_modules/request/request.js:1161:10)
at Request.emit (events.js:188:13)
at Request.EventEmitter.emit (domain.js:439:20)
at IncomingMessage.<anonymous> (/app/agent/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:276:13).
Почему мы получаем это перенаправление?Какую конечную точку следует использовать для Selenium Endpoint (поставщики устройств)?
Как подключить Selenium и botium-box в Docker?
Большое спасибо!
Обновление:
Вот конфигурация нашего проекта тестирования Botium https://i.stack.imgur.com/1B5nP.jpg
https://i.stack.imgur.com/cnXLu.jpg
https://i.stack.imgur.com/8JtzM.jpg
Обновление 2: Что мы сделали до сих пор:
- мы обновили наш докер-контейнер botium до последней версии (1.3.1)
- мы настроили нового чат-ботазагрузив наш рабочий botium.json из нашего теста botium-cli -> хорошая функция:)
Теперь у нас все та же проблема, описанная выше.Мы обнаружили следующее поведение.Мы использовали возможности в конфигурации тестового проекта и определили возможности двумя способами:
- Мы использовали "WEBDRIVERIO_OPTIONS" в качестве Capability # 1, Тип: JSON Структура и Значение:
{"desiredCapabilities": {
"browserName": "chrome",
"platformName": "Windows 10"
}
}
мы использовали «требуемые возможности» в качестве Capability # 1, Тип: JSON Структура и значение:
{"browserName": "chrome",
"platformName": "Windows 10"
}
После выполнения теста мы получили ошибку, описанную выше, со следующими журналами:
- наш конфиг отсутствует
"botium":{
"Capabilities":{
"PROJECTNAME":"Conversation Sample",
"SCRIPTING_FORMAT":"xlsx",
"SCRIPTING_XLSX_STARTROW":2,
"SCRIPTING_XLSX_STARTCOL":1,
"CONTAINERMODE":"webdriverio",
"WEBDRIVERIO_START_PHANTOMJS":false,
"WEBDRIVERIO_URL":"url removed",
"WEBDRIVERIO_INPUT_ELEMENT":"#bot-input",
"WEBDRIVERIO_OUTPUT_ELEMENT":"//div[@class=\"messages__message messages__message--received\"]//span[@class=\"content__text\" and not(contains(.,\"...\"))]",
"WEBDRIVERIO_OPTIONS":{
"desiredCapabilities":{
"name":"Test Project- Test Session"
},
"protocol":"http",
"host":"172.21.0.2:4444",
"port":"4444",
"path":"/wd/hub"
},
"WEBDRIVERIO_IGNOREUPFRONTMESSAGES":true,
"WEBDRIVERIO_OPENBOTPAUSE":4000,
"WEBDRIVERIO_PROFILE":"",
"WEBDRIVERIO_INPUT_ELEMENT_VISIBLE_TIMEOUT":10000,
"WEBDRIVERIO_USERNAME":"",
"WEBDRIVERIO_PASSWORD":"",
"WEBDRIVERIO_SCREENSHOTS":"none",
"FBPAGERECEIVER_REDISURL":{
"port":"6379",
"host":"redis",
"db":0,
"options":{
}
}
},
"Sources":{
},
"Envs":{
}
},
наш конфиг на неправильном уровне
"botium":{
"Capabilities":{
"PROJECTNAME":"Conversation Sample",
"SCRIPTING_FORMAT":"xlsx",
"SCRIPTING_XLSX_STARTROW":2,
"SCRIPTING_XLSX_STARTCOL":1,
"CONTAINERMODE":"webdriverio",
"WEBDRIVERIO_START_PHANTOMJS":false,
"WEBDRIVERIO_URL":"url removed",
"WEBDRIVERIO_INPUT_ELEMENT":"#bot-input",
"WEBDRIVERIO_OUTPUT_ELEMENT":"//div[@class=\"messages__message messages__message--received\"]//span[@class=\"content__text\" and not(contains(.,\"...\"))]",
"WEBDRIVERIO_OPTIONS":{
"desiredCapabilities":{
"name":"Test Project - Test Session"
},
"protocol":"http",
"host":"172.21.0.2:4444",
"port":"4444",
"path":"/wd/hub"
},
"WEBDRIVERIO_IGNOREUPFRONTMESSAGES":true,
"WEBDRIVERIO_OPENBOTPAUSE":4000,
"WEBDRIVERIO_PROFILE":"",
"WEBDRIVERIO_INPUT_ELEMENT_VISIBLE_TIMEOUT":10000,
"WEBDRIVERIO_USERNAME":"",
"WEBDRIVERIO_PASSWORD":"",
"WEBDRIVERIO_SCREENSHOTS":"none",
"desiredCapabilities":"{\"browserName\": \"chrome\",\"platformName\": \"Windows 10\"}",
"FBPAGERECEIVER_REDISURL":{
"port":"6379",
"host":"redis",
"db":0,
"options":{
}
}
},
"Sources":{
},
"Envs":{
}
},
Обновление 3:
version: '2'
services:
web:
image: botium/botium-box-ce:box-1.4.0
ports:
- "4000:4000"
environment:
PRISMA_ENDPOINT: http://prisma:4467/box/ce
BOTIUMBOX_QUEUE_REDISURL: redis://redis:6379
DEBUG: botium*
depends_on:
- redis
- prisma
volumes:
- testsets:/app/server/testsets
- botiumwork:/app/server/botiumwork
- botiumwork:/app/agent/botiumwork
prisma:
image: prismagraphql/prisma:1.25.4
depends_on:
- mysql
restart: always
ports:
- "4467:4467"
environment:
PRISMA_CONFIG: |
port: 4467
databases:
default:
connector: mysql
host: mysql
port: 3306
user: root
password: prisma
migrations: true
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: prisma
volumes:
- mysql:/var/lib/mysql
redis:
image: redis:alpine
restart: always
ports:
- "6379:6379"
selenium-hub:
image: selenium/hub:3.141.59-mercury
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome:3.141.59-mercury
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
firefox:
image: selenium/node-firefox:3.141.59-mercury
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
volumes:
mysql:
testsets:
botiumwork: