我正在尝试设置一个容器,以便在Chrome上使用RobotFramework进行测试。
但是当我运行容器时,我总是得到一个WebDriverException。我已经找过了,但找不到任何对我有效的修复方法。
这是我的Dockerfile
FROM python:3
RUN apt-get update -y
# Dependencies
RUN apt-get install -y \
apt-utils \
build-essential \
fonts-liberation \
gconf-service \
libappindicator1 \
libasound2 \
libcurl3 \
libffi-dev \
libgconf-2-4 \
libindicator7 \
libnspr4 \
libnss3 \
libpango1.0-0 \
libssl-dev \
libxss1 \
python-dev \
python-pip \
python-pyasn1 \
python-pyasn1-modules \
unzip \
wget \
xdg-utils \
xvfb \
libappindicator3-1 \
libatk-bridge2.0-0 \
libgtk-3-0 \
lsb-release
# Install Chrome for Selenium
RUN curl https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -o /chrome.deb
RUN dpkg -i /chrome.deb || apt-get install -yf
RUN rm /chrome.deb
# Install chromedriver for Selenium
RUN curl https://chromedriver.storage.googleapis.com/2.42/chromedriver_linux64.zip -o /usr/local/bin/chromedriver
RUN unzip -o /usr/local/bin/chromedriver -d /usr/local/bin
RUN chmod +x /usr/local/bin/chromedriver
WORKDIR /home
COPY . .
RUN pip install -e .
CMD [ "pybot","./tests/test.robot" ]
*** Settings ***
Library Selenium2Library
*** Variables ***
*** Test Cases ***
Connect
Open Browser https://google.es Chrome
install_requires=[
'robotframework',
'robotframework-selenium2library',
'selenium'
]
我最近在使用docker容器和Amazon Linux运行机器人测试时遇到了这个问题。我发现,尽管我在robot framework测试中添加了所需的参数,如下面的示例所示,chrome仍然崩溃,甚至没有从您收到的相同消息开始。我通过更新容器中options.py中的python设置解决了这个问题。
我用下面的命令更新了docker容器,以设置python selenium chrome WebDriver options.py文件中的选项。在我的例子中,我使用的是python Version3.7-所以您需要确保使用的路径是正确的。
RUN sed -i "s/self._arguments\ =\ \[\]/self._arguments\ =\ \['--no-sandbox',\ '--disable-dev-shm-usage'\]/" /usr/local/lib/python3.7/site-packages/selenium/webdriver/chrome/options.py
示例机器人--这是我在机器人框架中尝试的,但没有修复问题。
${chrome_options} = Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
Call Method ${chrome_options} add_argument headless
Call Method ${chrome_options} add_argument disable-gpu
Call Method ${chrome_options} add_argument no-sandbox
Call Method ${chrome_options} add_argument disable-dev-sim-usage ${options}= Call Method ${chrome_options} to_capabilities
${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
open browser about:blank ${BROWSER} desired_capabilities=${options}
我有一个聊天机器人解决方案创建使用。Net Framework,该框架与Facebook messenger集成,使用Microsoft提供的以下说明: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-facebook?view=azure-bot-service-4.0 现在他们添加了一
我是Robot框架的新手,致力于使用带有Selenium和java关键字的Robot框架。我知道RF是基于python的,但是,该项目要求使用java关键字。 我的想法是创建java函数和文本文件,然后使用:
问题内容: 我必须实现一个管道,并试图找到一种方法,如何在Jenkins管道中发布Robot Framework结果。我发现了有关将Robot Framework插件实现到Pipeline中的多个问题,并且也发现了这个问题,这似乎是解决方案。但是,我尝试了这种方法,结果仍然不见了。 有任何解决方法或功能示例吗? 问题答案: [编辑以反映成功的解决方法] 对问题跟踪器的此评论显示了一种似乎可行的解决
我是一名java开发人员,我想开发一个聊天机器人,并集成到网站、脸书页面和WhatsApp群组中……Java中有没有一个非常好的框架,可以让我开发这个聊天机器人,并在未来集成人工智能。或者我用python或者NodeJs更好。如果是,哪个框架更适合这个项目。谢了。
我想用机器人框架实现selenium网格。我已经配置了selenium网格集线器和两个节点,但是我不知道如何在此设置后触发并行测试用例执行,在哪里使用python语言和selenium 2库关键字更新机器人框架中的线程数和并行测试执行设置?此外,在哪里分配集线器url来触发执行?请建议可能的解决方案。注意:我们在脚本中使用selenium 2库关键字,而不是web驱动程序关键字,因此我无法使用“w
我想知道是否有将自动化测试用例与zephy de jira集成的选项。 目前,我在robot框架中有一组自动测试。同时,我在Zephyr中为jira定义了测试用例。我希望能够从Zephyr启动自动测试用例的执行,否则执行的结果将反映在Zephyr测试用例中。 谢谢你。