2016-11-29 2 views
0

원격 노드가있는 셀레늄 그리드를 사용할 때 그리드와 노드 사이의 정보를 전달하지 않고 노드에서 어떻게 명령을 실행할 수 있습니까? https를 사용하고있는 사이트에 액세스하므로 노드와 사이트 간의 통신은 안전하지만 허브와 노드는 어떻게됩니까? 그걸 보호 할 방법이 있습니까? 누구도 허브와 노드 모두에서 포트 포워딩을 시도 했습니까?셀렌 그리드와 원격 노드를 사용한 비밀번호 보호

답변

0

개인적으로 수행하지는 않았지만 this 링크를 클릭하면 도움을 얻을 수 있습니다.

웹 사이트에 로그인 할 때 일반적으로 API를 통해 로그인 한 다음 쿠키를 드라이버 세션에 삽입하여 Selenium을 통해 로그인 할 필요가 없었습니다.

0

감사합니다. 저 링크와 약간의 땜질의 도움으로, 나는 그것을 작동 시켰습니다. 그것이 누군가를 돕는 경우에, 기본적으로 내가 한 일입니다. 이 경우 로컬 컴퓨터 (가정에서)에서 그리드를 실행하고 원격 랩톱에서 노드를 실행합니다.

  • 확인하면 파일/디렉토리 권한이 올바르게
  • 를 설정하고, 원격 시스템에 RSA 키를 생성하고 id_rsa.pub 받아 그리드를 실행하는 로컬 컴퓨터에 ~/스푸핑/authorized_keys에에 배치
  • 로컬 컴퓨터에 고정 IP가 있는지 확인하려면 네트워크 옵션 인 DHCP 예약에서 AirPort 유틸리티를 사용했습니다. (이를 수행하는 방법에 대한 정보는 일반적으로 쉽게 웹에서 검색 할 수 있습니다.)
  • 로컬 라우터에서 포트 22를여십시오. 공항 유틸리티, 네트워크 옵션, 포트 설정을 사용하여이 작업을 수행했습니다. 이 시점에서 암호를 사용하지 않고 원격 시스템에서 로컬 시스템으로의 ssh를 성공적으로 수행 할 수 있어야합니다.
  • 원격 컴퓨터에서 포트 포워딩을 다음과 같이 시작하십시오. ssh -N -L 4444 : $ {HUB_IP} : 4444 $ {USER_NAME} @ $ {HUB_IP}. 이제 원격 컴퓨터의 포트 4444로 전송되는 모든 데이터는 로컬 컴퓨터의 포트 4444에서 안전하게 전송됩니다 (이 경우 4444에서 그리드가 설정되었다고 가정 함)
  • 로컬 컴퓨터에서 그리드 시작 포트를 사용하여 4444는
  • 시작 나는 모든 로컬 컴퓨터에서 실행되는 스크립트에이를 넣어

-hub http://localhost:4444/grid/register -port {whatever_you_want_for_driver_but_not_4444}의 허브 설정으로 원격 컴퓨터의 노드는이 스크립트를 호출 원격 시스템에서 로컬 시스템에서 원격 시스템으로 ssh 할 수 있어야합니다. 이를 설정하는 것은 번거롭지만 일단 완료되면 하나의 스크립트를 시작하여 허브를 시작하고 원하는만큼의 노드를 시작할 수 있습니다.

이제 허브와 노드간에 정보를 안전하게 전달할 수 있다고 생각합니다.