Programing

셀레늄 그리드 : MaxSessions 대 MaxInstances

lottogame 2020. 12. 8. 07:39
반응형

셀레늄 그리드 : MaxSessions 대 MaxInstances


나는 Selenium우리에게 약간의 머리를 긁는 질문 에 대해 누군가가 밝힐 수 있는지 궁금합니다 .

우리는 Selenium Grid의 의미 MaxSession의미를 혼동합니다 MaxInstances. MaxSession단일 노드에서 실행할 수있는 총 테스트 세션 수 라고 생각 합니다. 또한 MaxInstances테스트에서 열 수있는 총 브라우저 수 라고 생각합니다 .

아니면 MaxInstances노드에서 사용할 수있는 총 브라우저 수입니까?

우리가 사용하는 명령은 다음과 같습니다.

java -Xrs -jar selenium-server.jar -role node -port 44506 -hub http://localhost:44500
/grid/register -firefoxProfileTemplate SeleniumProfile -timeout 300000 -browser 
"browserName=firefox,maxInstances=10,platform=ANY,seleniumProtocol=WebDriver" -browser 
"browserName=chrome,maxInstances=10,platform=ANY,seleniumProtocol=WebDriver"

노드를 사용하는 방식 (위)은 기본적으로 5 개의 동시 테스트 세션이라고 생각합니다.

각 테스트에 사용할 수있는 브라우저가 20 개 있습니까?

아니면 각 테스트 세션이 다른 테스트 세션과 풀에서 20 개의 브라우저 (10 chrome / 10 FF)를 공유합니까?


좋은 질문 이네요 .... 좀 헷갈리네요 ....하지만 간단한 말로 대답 해 보겠습니다 ..

MaxInstances 이것은 원격 시스템에서 실행할 수있는 동일한 브라우저 버전의 인스턴스 수를 나타냅니다.

For example, i have a FF12,IE and i declared the command as follows
-browser browserName=firefox,version=12,maxInstances=5,platform=LINUX
-browser browserName=InternetExplorer,version=9.0,maxInstances=5,platform=LINUX

따라서 원격 컴퓨터에서 Firefox 12 인스턴스 5 개와 IE9 인스턴스 5 개를 동시에 실행할 수 있습니다. 따라서 전체 사용자는 서로 다른 브라우저 (FF12 및 IE9)의 인스턴스 10 개를 병렬로 실행할 수 있습니다.

MaxSession 이것은원격 시스템에서 한 번에 병렬로 실행할 수 있는 브라우저 ( 모든 브라우저 및 모든 버전 )의 수를 나타냅니다. 따라서 이는 최대 인스턴스 설정을 재정의하고 병렬로 실행할 수있는 브라우저 인스턴스의 수를 제한 할 수 있습니다.

For above example, when maxSession=1 forces that you never have more than 1 browser running. 

With maxSession=2 you can have 2 Firefox tests at the same time, or 1 Internet Explorer and 1 Firefox test). 

정의한 MaxInstances에 관계없이.

더 명확한 정보를 보려면 https://seleniumhq.github.io/docs/grid.html을 방문 하십시오.


Anuragh27crony의 답변 을 확장 하기 위해 빠른 다이어그램을 작성했습니다.

여기에 이미지 설명 입력

이것이 노드 구성 인 경우 최대 5 개의 테스트를 병렬로 실행할 수 있습니다 (예 : 다음 조합).

  • 3 * 크롬, 2 * 파이어 폭스
  • 2 * 크롬, 2 * 파이어 폭스, 1 * 가장자리
  • 5 * 가장자리
  • 3 * 크롬

다음 조합은 불가능합니다.

  • 4 * chrome (Chrome maxInstances 초과)
  • 6 * 가장자리 (maxSessions 초과)
  • 3 * chrome, 3 * firefox (maxSessions 초과)

Anuragh에서 언급했듯이 MaxInstances는 특정 브라우저에 적용되는 반면 MaxSessions는 전체 노드에 적용됩니다.


MaxInstances: 이것은 노드 당 더 많은 슬롯을 제공합니다. 예를 들어 노드 당 MaxInstances=5최대 5 개의 브라우저를 허용합니다.

MaxSession: 노드에서 동시에 실행할 수있는 최대 테스트 수를 설정합니다. 이면 MaxInstances=5MaxSession도 5 이상이어야합니다.

https://github.com/SeleniumHQ/docker-selenium 에서 자세히보기

참고 URL : https://stackoverflow.com/questions/13723349/selenium-grid-maxsessions-vs-maxinstances

반응형