Tag: selenium chromedriver

Selenium / Docker中的Chrome节点不断崩溃

我有一个在Docker中运行selenium铬节点的CentOs虚拟机 Static hostname: btpcentos1.kaiglan.com Icon name: computer-vm Chassis: vm Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-229.el7.x86_64 Architecture: x86-64 每次它试图对它执行一个testing,我收到这个错误: Capabilities [{message=unknown error: Chrome failed to start: crashed (Driver info: chromedriver=2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e),platform=Linux 3.10.0-229.el7.x86_64 x86_64), platform=ANY}]Session ID: ada09670c280a5327585e930a27c067d at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:216) at […]

Docker中的Selenium独立服务器 – TimeoutException

我尝试在Selenium Docker容器中使用ChromeDriver 2.31执行基于WebDriver 3.5的testing。 我用这个命令来启动必要的容器: docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome:3.5.3-astatine 我使用RemoteWebDriver在远程主机上执行testing套件。 它以下面的日志失败: org.openqa.selenium.TimeoutException:timeout(会话信息:chrome = 61.0.3163.79)(驱动程序信息:chromedriver = 2.31.488763,platform = Linux 4.10.0-33-generic x86_64)(警告:服务器没有提供任何stacktrace信息)构build信息:版本:'3.5.2',修订:'10229a9',时间:'2017-08-21T17:29:55.15Z'驱动程序信息:org.openqa.selenium.remote.RemoteWebDriverfunction[{applicationCacheEnabled = false,rotate = false,mobileEmulationEnabled = false,networkConnectionEnabled = false,chrome = {chromedriverVersion = 2.31.488763,userDataDir = /tmp/.org.chromium.Chromium.IAkqFG},takeHeapSnapshot = true,pageLoadStrategy = normal,unhandledPromptBehavior =我们可以使用下面的方法来创build一个新的数据types,其中的数据types可以是数据types:数据types,数据types,数据types,数据types,数据types,数据types,数据types, javascriptEnabled = true,cssSelectorsEnabled = true,setWindowRect = true,un expectedAlertBehaviour =}] 我检查了http://:4444 / wd […]

带有铬的selenium网格不能绕过代理

我正在尝试在几个docker组件之间创build一个selenium集成testing。 Selenium Grid集线器在另一个节点上运行,然后在chrome节点上运行。 集线器正在成功启动并且chrome节点已注册: Registered a node http://172.20.0.8:5555 在此之后,我开始junittesting,以获得在不同的docker节点上运行的login页面 DesiredCapabilities chromeCapabilities = DesiredCapabilities.chrome(); WebDriver chrome = new RemoteWebDriver(new URL("http://hub:4444/wd/hub"), chromeCapabilities); chrome.get("http://host_address/login"); GET调用被5555端口上运行的本地代理捕获,最后我得到一个代理错误:“ERR_CONNECTION_REFUSED”。 完整的环境运行在virutalbox WIN7遗留模式(因为win7只支持这个)。 我的问题是: 为什么来自中心的电话会通过本地代理呢? 为什么不直接调用铬节点? 不知何故,铬的节点可以在不同的端口上启动,集线器将在该主机和端口上调用它? 请不要显示cli命令我正在使用Junit作为完全虚拟docker环境中的testing驱动程序,我只能从docker-compose.yml或java代码进行pipe理。

Selenium ChromeDriver无法加载资源:net :: ERR_CONNECTION_CLOSED

我使用Codeception使用WebDriver和Docker Selenium独立服务器运行一些验收testing。 我注意到,我的一个testing后,抛出一个错误,我得到这个logging: [Selenium browser Logs] 13:59:52.345 SEVERE – https://ssl.google-analytics.com/ga.js – Failed to load resource: net::ERR_CONNECTION_CLOSED 有趣的是,在网页上没有任何谷歌分析(或应用程序)。 我猜测,有一些匿名的使用情况分析,但不知道它是谁,是Selenium , Codeception还是包含libs,甚至是Selenium的ChromeDriver。 我用–net=host运行Selenium服务器,也许这–net=host有点关系。 任何人都知道如何closures这些分析,或让Codeception忽略失败的外部资源?

奇怪的错误使用量angular器无头像时

我得到这个错误: $ docker run -it –privileged –rm –net=host -v /dev/shm:/dev/shm -v $(pwd):/protractor webnicer/protractor-headless src/test/e2e/config/local-config.js [20:21:32] I/local – Starting selenium standalone server… [20:21:32] I/launcher – Running 1 instances of WebDriver [20:21:35] I/local – Selenium standalone server started at http://192.168.65.2:47981/wd/hub [20:22:00] E/launcher – null [20:22:00] E/launcher – WebDriverError: null at WebDriverError (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5) at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15) at parseHttpResponse […]

如何调整/排除/优化AWS上的Docker块I / O

我有以下docker容器,我已经设置了testing我的Web应用程序: jenkins Apache 1(服务laravel应用程序) Apache 2(服务遗留代码的应用程序) MySQL(由Apache 1和Apache 2访问) seleniumHUB selenium节点 – ChromeDriver jenkins作业在Apache 1上运行behat命令,后者又连接到Selenium Hub,Selenium Hub有一个ChromeDriver节点,实际上可以击中两个应用程序: Apache 1和Apache 2 。 整个系统使用AWS linux在EC2 t2.small实例(1核,2GB RAM)上运行。 问题 我现在遇到的问题是,如果我多次运行pipe道,前几次运行得很好(这个阶段大约需要20秒),但是在第三次和连续的运行中,behat阶段开始减速(以1分30秒)然后在3米或10米之后失败,或者每当我失去耐心的时候。 如果我重新启动docker集装箱,它再次工作,但只有另外2-4运行。 线索 每次运行jenkinspipe道时监控docker docker stats ,我注意到block I / O,特别是'I'在前几次运行后呈指数级增长。 例如,运行1之后 运行2之后 运行3后 运行4后 对于chromedriver容器的块I / O是21GB和驱动程序挂起。 虽然我可能期望块I / O增长,但我不希望它看起来像指数增长 。 这就像是爆炸。 相同的dockerconfiguration(使用docker-compose )每次在我的个人MacBook Pro上运行完美。 块I / O不会“爆炸”。 我限制Docker只使用1个内核和2GB的RAM。 […]

在centos7谷歌浏览器无法运行

os:centos7(docker)chromedriver:2.34.522913 google-chrome:Google Chrome 63.0.3239.108 在我想用selenium进行testing之前,我安装了chromedriver和google-chrome。 当我运行谷歌浏览器,我收到此消息。 不支持–no-sandbox作为root运行。 请参阅https://crbug.com/638180 。 任何人都帮助我?

我如何在jenkins中安装selenium chrome驱动程序?

我已经拉我的本地主机端口8080 jenkins容器,揭露jenkins。 我可以看到jenkins运行良好。 我已经安装了PIP我已经安装了PIPselenium,当我运行testing时,我得到一个错误: + python /var/jenkins_home/workspace/My_Job/slenium_login.py 12:02:06 Traceback (most recent call last): 12:02:06 File "/var/jenkins_home/workspace/My_Job/slenium_login.py", line 6, in <module> 12:02:06 driver = webdriver.Chrome(cd) 12:02:06 File "/var/jenkins_home/shiningpanda/jobs/5db0e2cb/virtualenvs/d41d8cd9/local/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__ 12:02:06 self.service.start() 12:02:06 File "/var/jenkins_home/shiningpanda/jobs/5db0e2cb/virtualenvs/d41d8cd9/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 81, in start 12:02:06 os.path.basename(self.path), self.start_error_message) 12:02:06 selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see […]

Selenium WebDriver为Click操作抛出一个错误,但Click实际上是成功的

使用Selenium和Google Chrome进行合成浏览器testing时,我们会在特定网站上间歇性地收到Selenium错误(请参阅下文)。 stream程是: 加载起始页面 input一个search词 截图 点击searchbutton 截取结果的截图 错误发生在点击操作(步骤4),但最终的屏幕截图(步骤5)与此相矛盾,并显示search已启动(只能通过点击 – 某种forms的自动search没有在网站上实现)和返回结果。 错误: Curl error thrown for http POST to /session/a4ec9662-1841-4809-9680-caf532b243b7/element/2/click Operation timed out after 30001 milliseconds with 0 bytes received 堆栈: selenium/铬docker集装箱: selenium/standalone-chrome:3.0.1-germanium Facebook的PHP WebDriver: 请参阅GitHub Docker PHP: 参见GitHub 我已经find了另外一个关于这个的post,build议将这个环境variables设置为DBUS_SESSION_BUS_ADDRESS=/dev/null容器: DBUS_SESSION_BUS_ADDRESS=/dev/null ,但是这不起作用。 我们如何从代码pipe理容器: $Docker = new Docker(); $Manager = $Docker->getContainerManager(); $Container = $Manager->find($container_name); if ($Container) […]

docker工人无头镀铬与python。 Chrome无法启动:崩溃

我想在Docker容器中运行这个简单的脚本: def hi_chrome(): from xvfbwrapper import Xvfb from splinter import Browser vdisplay = Xvfb() vdisplay.start() print "spawning connector" oBrowser = Browser('chrome') oBrowser.visit("http://google.co.za") assert oBrowser.title == "Google" print "yay" vdisplay.stop() if __name__ == '__main__': hi_chrome() 通过执行我的docker文件中列出的所有pip和apt-get安装并运行脚本,我已经获得了在虚拟环境中运行的脚本。 但是当我尝试在一个容器中运行它时,我得到: Traceback (most recent call last): File "app.py", line 19, in <module> hi_chrome() File "app.py", line 10, in hi_chrome oBrowser […]