수색…


소개

Selenium Grid는 다양한 테스트 장치에 분산 된 테스트를 실행하기위한 프레임 워크입니다. 웹 응용 프로그램을 테스트하는 데 사용됩니다. C #, Groovy, Java, Perl, PHP, Python 및 Ruby를 포함하여 다른 인기있는 프로그래밍 언어로 테스트를 작성할 수 있습니다. 이 테스트는 Windows, Linux 및 OS X와 ​​같은 플랫폼에서 다양한 웹 브라우저에 대해 실행할 수 있습니다.

Apache 2.0 라이센스에 따라 공개되는 오픈 소스 소프트웨어입니다. 웹 개발자는 무료로 다운로드하여 사용할 수 있습니다.

통사론

  • jar 파일을 실행하려면, 다음은 모든 jar 파일의 구문입니다.
  • java -jar <jar-file-full-name>.jar -<your parameters if any>

매개 변수

매개 변수 세부
역할 무슨 셀 또는 hub 또는 node 알려줍니다.
포트 이것은 hubnode 가 청취해야하는 포트를 지정하는 것입니다.
바퀴통 이 매개 변수는 node 에서 허브 URL을 지정하는 데 사용됩니다.
browserName node 에서 파이어 폭스, 크롬, 인터넷 익스플로러 같은 브라우저 이름을 지정하는 데 사용되었습니다
maxInstances 브라우저 인스턴스가 지정되는 곳. 5는 사용자가 지정한 브라우저 인스턴스가 5 개 존재 함을 의미합니다.
nodeConfig 노드에 대한 Json 구성 파일. 여기서 역할, 포트 등을 지정할 수 있습니다.
hubConfig 노드에 대한 Json 구성 파일. 여기서 역할, 포트, 최대 인스턴스 등을 지정할 수 있습니다.

Selenium Grid 용 Java 코드

String hubUrl = "http://localhost:4444/wd/hub"       
DesiredCapabilities capability = DesiredCapabilities.firefox(); //or which browser you want
RemoteWebDriver driver = new RemoteWebDriver(hubUrl, capability);

Selenium Grid 허브 및 노드 만들기

허브 만들기

셀렌 그리드의 허브 및 노드 설정을위한 빠른 구성. 자세한 내용은 그리드 2 문서를 참조하십시오.

요구 사항

그리드 허브를 설정하려면 다음과 같은 흐름이 필요합니다.

허브 만들기

허브를 만들려면 셀렌 서버를 실행해야합니다.

  1. Selenium-server-standalone-.jar 다운로드
  2. 터미널을 열고 Selenium-server-standalone-.jar가있는 폴더로 이동하십시오.
  3. folowing 명령을 실행하십시오 :
    1. 기본 구성의 경우 java -jar selenium-server-standalone-<Version>.jar -role hub
    2. Json 구성의 경우 java -jar selenium-server-standalone-<Version>.jar -role hub -hubConfig hubConfig.json
  4. http : // localhost : 4444를 열면 다음과 같은 메시지가 나타납니다.

여기에 이미지 설명을 입력하십시오.

console -> View config 클릭하여 허브 세부 정보의 구성을 봅니다.

노드 만들기

요구 사항

그리드 허브를 설정하려면 다음과 같은 흐름이 필요합니다.

노드 만들기

이제 허브 용 노드를 만들려면

  1. Selenium-server-standalone-.jar 다운로드
  2. 테스트 할 브라우저를 다운로드하십시오.
  3. 테스트 할 브라우저 용 드라이버를 다운로드하십시오.
  4. 새 터미널을 열고 셀레늄 서버 jar 파일 위치로 이동합니다.
  5. folowing 명령을 실행하십시오 :
    1. 기본 구성의 경우 java -jar selenium-server-standalone-<VERSION NUMBER>.jar -role node
    2. Json 구성의 경우 java -jar selenium-server-standalone-<Version>.jar -role node -nodeConfig nodeConfig.json
  6. 이제 http : // localhost : 4444 / grid / console 로 이동하여 노드 세부 정보를 봅니다.

Json을 통한 구성

허브의 구성 예 :

java -jar selenium-server-standalone-<version>.jar -role hub -hubConfig hubConfig.json

{
    "_comment" : "Configuration for Hub - hubConfig.json",
    "host": ip,
    "maxSessions": 5,
    "port": 4444,
    "cleanupCycle": 5000,
    "timeout": 300000,
    "newSessionWaitTimeout": -1,
    "servlets": [],
    "prioritizer": null,
    "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
    "throwOnCapabilityNotPresent": true,
    "nodePolling": 180000,
    "platform": "WINDOWS"
}

노드의 구성 예제

java -jar selenium-server-standalone-<version>.jar -role node -nodeConfig nodeConfig.json

{
  "capabilities":
  [
    {
      "browserName": "opera",
      "platform": "WINDOWS",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver",
      "webdriver.opera.driver": "C:/Selenium/drivers/operadriver.exe",
      "binary":"C:/Program Files/Opera/44.0.2510.1159/opera.exe"
    },
    {
      "browserName": "chrome",
      "platform": "WINDOWS",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver",
      "webdriver.chrome.driver": "C:/Selenium/drivers/chromedriver.exe",
      "binary":"C:/Program Files/Google/Chrome/Application/chrome.exe"
    },
    {
      "browserName": "firefox",
      "platform": "WINDOWS",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver",
      "webdriver.gecko.driver": "C:/Selenium/drivers/geckodriver.exe",
      "binary":"C:/Program Files/Mozilla Firefox/firefox.exe"
    }
  ],
  "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
  "maxSession": 5,
  "port": 5555,
  "register": true,
  "registerCycle": 5000,
  "hub": "http://localhost:4444",
  "nodeStatusCheckTimeout": 5000,
  "nodePolling": 5000,
  "role": "node",
  "unregisterIfStillDownAfter": 60000,
  "downPollingLimit": 2,
  "debug": false,
  "servlets" : [],
  "withoutServlets": [],
  "custom": {}
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow