标签: selenium-grid

如何并行运行NUnit(Selenium Grid)测试?

我当前的项目使用NUnit进行单元测试并驱动用Selenium编写的UAT.开发人员通常在VS.Net 2003中使用ReSharper的测试运行器运行测试,我们的构建盒通过NAnt将其启动.

我们希望并行运行UAT测试,以便我们可以利用Selenium Grid/RC,以便它们能够更快地运行.

有没有人对如何实现这一点有任何想法?和/或针对多个浏览器环境测试Selenium测试而不自动编写重复测试的最佳实践?

谢谢.

c# testing selenium nunit selenium-grid

8
推荐指数
1
解决办法
1万
查看次数

使用Selenium RemoteWebDriver运行PhantomJS时出错

我用它的默认启动命令启动了一个selenium grid hub,

java -jar selenium-server-standalone-2.33.0.jar -role hub
Run Code Online (Sandbox Code Playgroud)

我在它的webdriver模式下启动PhantomJS,在同一台机器上,比如

phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://127.0.0.1:4444
Run Code Online (Sandbox Code Playgroud)

当PhantomJS启动时,除了"All'OK'"消息之外什么都没有,

[INFO  - 2013-09-09T18:10:38.849Z] GhostDriver - Main - running on port 8080
[INFO  - 2013-09-09T18:10:38.850Z] GhostDriver - Main - registering to Selenium HUB 'http://127.0.0.1:4444' using '127.0.0.1:8080'
[INFO  - 2013-09-09T18:11:47.164Z] HUB Register - register - Registered with grid hub: http://127.0.0.1:4444/ (ok)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用该浏览器,请使用

driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',
                          desired_capabilities=DesiredCapabilities.PHANTOMJS)
Run Code Online (Sandbox Code Playgroud)

查看PhantomJS可执行文件的输出,

[INFO  - 2013-09-09T18:17:12.531Z] Session [0c5c9500-197c-11e3-8eed-b3b7a73965aa] - _decorateNewWindow - page.settings: {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.2 Safari/534.34","webSecurityEnabled":true}
[INFO …
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-grid phantomjs selenium-webdriver

8
推荐指数
1
解决办法
7049
查看次数

Selenium Grid Hub/Node Config的属性

我正在经历一个将我的Selenium Hub/Nodes升级到3.3版的过程.一切正常,但我想确保我有最佳配置...问题是我找不到任何地方的Hub/Node属性的完整列表.

我看了看:

这些文档仅通过示例配置列出了一些属性,但它们中没有一个看起来像一个完整的列表,更重要的是它们都没有实际说明这些属性的作用. 有关Selenium Hub/Nodes的配置属性的完整列表的文档在哪里?

selenium selenium-grid selenium-webdriver protractor

8
推荐指数
1
解决办法
8552
查看次数

GitLab CI上的Selenium Grid错误:转发新会话时出错用于设置功能的VM空池

由于关于GitLab CI配置和Selenium的文档通常很差,我正在寻求帮助.

按兴趣点配置:

gitlab.ci.yml:

image: node:7

variables:
  HUB_PORT_4444_TCP_ADDR: "selenium__hub"
  HUB_PORT_4444_TCP_PORT: "4444"

services:
  - selenium/hub:latest
  - selenium/node-phantomjs:latest

stages:
  - test

test:
  stage: test
  before_script:
    - apt-get update
    - apt-get install -y default-jdk default-jre
    - npm install -s -g @angular/cli@1.0.6
    - npm install -s
    - node ./node_modules/protractor/bin/webdriver-manager update
  script:
    - ./node_modules/.bin/protractor protractor.ci.conf.js
Run Code Online (Sandbox Code Playgroud)

protractor.ci.conf.js:

/*global jasmine */
const { SpecReporter } = require('jasmine-spec-reporter');

exports.config = {
  allScriptsTimeout: 11000,
  specs: [
    './e2e/**/*.e2e-spec.ts'
  ],
  capabilities: {
    'browserName': 'phantomjs',
    'phantomjs.binary.path': './node_modules/phantomjs-prebuilt/bin/phantomjs'
  },
  directConnect: false, …
Run Code Online (Sandbox Code Playgroud)

selenium selenium-grid angularjs-e2e protractor gitlab-ci

8
推荐指数
1
解决办法
1002
查看次数

如果指定了直接节点ip,IE11测试运行,但在指定网格集线器URL时失败

我使用nodejs selenium-standalone,我有:

1)使用role = hub在Mac上运行的selenium-standalone

2)使用role = node在Mac上运行的selenium-standalone(在本地Mac浏览器上运行测试)

3)Windows 10安装在parallels桌面上,运行带有role = node的selenium-standalone

4)关于本文配置IE11 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration

我在我的测试(yandex gemini)中有gridUrl配置,当我将它设置为windows节点url(http://10.211.55.4:5555/wd/hub)时,IE11测试工作正常.但是当我将gridUrl设置为正确的值(意味着本地网格集线器127.0.0.1:4444/wd/hub)时,IE11会打开"这是WebDriver服务器的初始启动页面".和控制台中"仅允许本地连接".在这种情况下,所有其他Windows浏览器都可以正常工作(chrome,firefox,edge).在mac selenium网格集线器控制台或windows selenium节点控制台中没有任何错误 - 似乎网格集线器不知何故错误地尝试调用Windows节点IEDriver.

启动selenium的命令:

1)MacOS中心:

java -jar 3.8.1-server.jar -role hub
Run Code Online (Sandbox Code Playgroud)

2)Windows10节点:

java -jar 3.8.1-server.jar -role node -hub http://192.168.1.4:4444/grid/register
Run Code Online (Sandbox Code Playgroud)

在此之后,我可以在MacOS http://127.0.0.1:4444/grid/console上看到所有节点和浏览器.

我使用selenium 3.8.1,IEdriver x64 3.8.0

MacOS中心终端截图:

MacOS集线器终端截图

Windows节点cmd截图:

Windows节点cmd截图

MacOS网格集线器控制台截图与配置:

MacOS网格集线器控制台截图与配置

MacOS网格集线器控制台截图:

MacOS网格集线器控制台截图

集线器和节点的DEBUG模式输出:

Windows节点控制台成功输出(不使用网格集线器直接连接):

2018-01-21 22:07:43.348:INFO:osjshC.ROOT:qtp31280858-9: org.openqa.selenium.remote.server.WebDriverServlet-11d44a3: Initialising WebDriverServlet

22:07:43.379 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@1f51925

22:07:43.379 INFO - /session: Executing POST on /session (handler: BeginSession)

22:07:43.458 INFO - Capabilities are: Capabilities {browserName: internet explorer, …
Run Code Online (Sandbox Code Playgroud)

selenium selenium-grid

8
推荐指数
1
解决办法
644
查看次数

在Selenum网格上运行并行执行

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="classes" thread-count="2">
  <test thread-count="1" name="Transactoin">
  <parameter name="remoteurl" value="http://xx.xx.xxx.xxx:5555/wd/hub"></parameter>
    <classes>
      <class name="POM_Test.ATransactionTest"/>
     </classes>
  </test> <!-- Test -->
  <test thread-count="1" name="MyAlerts">
  <parameter name="remoteurl" value="http://xx.xx.xx.xxx:5556/wd/hub"></parameter>
    <classes>
      <class name="POM_Test.MyAlertsTest"/>
    </classes>
  </test> 
</suite> <!-- Suite -->
Run Code Online (Sandbox Code Playgroud)

ATransactionTest Class47测试用例 MyAlertsTest Class具有40测试用例.

我想run both classes simulatneously,MyAlertsTest应该采用参数中给出的remoteurl,并且ATransaction测试应该在给定参数的情况下采用remoteurl.

但是,所发生的事情是,ATransactionTestNode1所有测试用例完成后,首先MyAlerts运行Node2.如何同时运行.

谢谢

selenium selenium-grid

8
推荐指数
1
解决办法
126
查看次数

selenium.common.exceptions.InvalidCookieDomainException:消息:使用 Selenium 在 Django 中执行测试时无效的 cookie 域

我正在使用 seleniumgrid 为 chrome 和 firefox 设置测试。我正在使用 docker images selenium-hub 和 selenium node-chrome 和 node-firefox,如下所示。

  app:
    build: .
    command: gunicorn --reload --capture-output --log-level debug --access-logfile - -w 3 -b 0.0.0.0 app.wsgi
    restart: always
    volumes_from:
        - initialize
    ports:
      - "8000:8000"
    links:
      - db
      - rabbitmq
      - selenium_hub
    env_file: secrets.env
    volumes:
        - ./app/:/code/

  selenium_hub:
    image: selenium/hub
    ports:
      - 4444:4444
    expose:
      - 4444
    tty: true
    environment:
      - GRID_MAX_SESSION=20
      - GRID_NEW_SESSION_WAIT_TIMEOUT=60000
      - GRID_BROWSER_TIMEOUT=300
      - GRID_TIMEOUT=300
      - TIMEOUT=300
  node_1:
    image: selenium/node-chrome
    depends_on:
      - selenium_hub
    environment: …
Run Code Online (Sandbox Code Playgroud)

django selenium selenium-grid docker docker-compose

8
推荐指数
2
解决办法
2万
查看次数

Selenium Grid2 - 远程节点未连接到HUB

我目前的设置是我在Windows机器上运行作为集线器的selenium RC(假设机器名称是machine.name.com).我使用以下命令启动它

java -jar selenium-server2.15.jar -role hub -port 5555
Run Code Online (Sandbox Code Playgroud)

我有一个在同一台机器上运行的selenium节点,它注册到上面的节点.我使用以下命令启动节点

java -jar selenium-server2.15.jar -role node -port 5554 -hub http://machine.name.com:5555/grid/register
Run Code Online (Sandbox Code Playgroud)

此节点已成功注册,我也可以运行此节点的测试.

现在我有另一台机器(LINUX一个 - 让我们假设这台机器的IP地址是10.123.123.123),表格我希望在5555端口的windows(machine.name.com)机器上运行注册到集线器的另一个节点我使用以下命令启动节点.

java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX,maxInstances=5
Run Code Online (Sandbox Code Playgroud)

问题是该节点没有被HUB注册.

我确实知道Hub和Node已经检测到对方,因为当我在浏览器上点击 http://machine.name.com:5555/console时,两个节点都会显示出来.但Linux机器旁边有一条错误信息" http://10.123.123.123:5572上收听(目前无法联系) "

并且不能从该节点运行硒测试.

我在这里阅读seleniumgroups ,远程节点也必须定义-hubHost键值对.所以我也尝试了以下命令,但没有成功

java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX, maxInstances=5 -hubHost "machine.name.com"
Run Code Online (Sandbox Code Playgroud)

但是这也没有注册节点.

请注意,linux机器上的控制台上没有抛出任何错误.所有显示的是 -

13:20:55.891 INFO - starting auto register thread. Will try to register every 5000ms
13:20:55.891 …
Run Code Online (Sandbox Code Playgroud)

selenium selenium-grid selenium-rc selenium-webdriver

7
推荐指数
1
解决办法
2万
查看次数

45000 ms后无法在端口7055上连接到主机127.0.0.1.用FF版26.0和selenium独立罐2.39

我正在尝试连接到我的AWS unix机器上安装了FF版本26.0的selenium 2.30,但当我启动访问selenium的客户端时,我收到以下错误.

此外,当我尝试与selenium独立jar 2.38.0相同时,它工作正常,但在一两天的一段时间后突然发生,它开始给出2.38.0以下的错误.不知道为什么会这样?任何的想法??

项目是我有一个多线程应用程序,其中客户端持续执行一些线程,ping一些URL和所有,它继续发生,除非发生如下的一些问题.

Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Unable to connect to host 127.0.0.1     on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified

Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.4.76-65.111.amzn1.x86_64', java.version:  '1.7.0_51'
 Driver info: driver.version: FirefoxDriver
    at      org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:250)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:197)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:108)
Run Code Online (Sandbox Code Playgroud)

java firefox selenium-grid firefox-addon-sdk selenium-webdriver

7
推荐指数
1
解决办法
3万
查看次数

参数异常 - 已传递主参数,但在启动 Selenium 网格节点时,您的 arg 类中未定义主参数

错误:

\n\n
Parameter Exception - was passed main parameter but no main parameter was defined in your arg class\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误快照:

\n\n

命令行输出

\n\n

中心 - 10.72.24.148:5555

\n\n

我正在使用命令行运行节点:

\n\n
java -Dwebdriver.gecko.driver="C:\\geckodriver.exe" -jar selenium-server-standalone-3.141.59.jar -role node -hub\xc2\xa0http://10.72.24.148:5555/grid/register\xc2\xa0-port 5566\n
Run Code Online (Sandbox Code Playgroud)\n

selenium webdriver selenium-grid selenium-webdriver geckodriver

7
推荐指数
1
解决办法
2万
查看次数