셀레늄 그리드 : 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=5
MaxSession도 5 이상이어야합니다.
https://github.com/SeleniumHQ/docker-selenium 에서 자세히보기
참고 URL : https://stackoverflow.com/questions/13723349/selenium-grid-maxsessions-vs-maxinstances
'Programing' 카테고리의 다른 글
Jenkins와 Maven의 차이점 (0) | 2020.12.08 |
---|---|
ARC 아래의 NSString 속성은 강력해야합니까 아니면 복사해야합니까? (0) | 2020.12.08 |
Content-Type multipart / form-data를 사용하는 POST 데이터 (0) | 2020.12.08 |
Xmpp 대 Websocket (0) | 2020.12.08 |
URL 문자열에서 모의 HttpServletRequest 만들기? (0) | 2020.12.08 |