Beat/Mink에서 셀레늄의 자바 스크립트 기능을 사용하여 사용자 지정 시나리오를 만들려고하는데 특별한 장애가 발생했습니다. 가능한 한 간단하게 문제를 해결하기 위해 모든 것을 벗겨 냈습니다.하지만 Selenium에서 visit()를 호출 할 때 일부 웹 사이트는 정상적으로 실행되지만 다른 웹 사이트 (내 자신 포함)는 오류를 반환합니다. "원격 통신과의 오류 브라우저가 죽었을 수도 있습니다. " 시나리오를 끝내는 behat. 상세Behat/Mink를 사용하여 일부 웹 사이트를 방문 할 때 셀레늄 '죽는다'
는 :
는내 behat.yml 파일은 다음과 같다 :
내 FeatureContext.php 파일에서default:
paths:
features: features
bootstrap: %behat.paths.features%/bootstrap
extensions:
Behat\MinkExtension\Extension:
base_url: http://www.foo.bar
goutte: ~
selenium2:
browser: 'firefox'
나는 다음과 같은 사용자 정의 기능이 : 이제 때
public function iAmLoggedIn()
{
$session = $this->getSession();
$session->visit("http://www.foo.bar");
{
을 사용자 정의 함수를 사용하는 Behat에서 시나리오를 실행합니다. 다음 오류가 발생합니다.
어떤$session->visit("http://www.bbc.co.uk");
이 시간 : I 함수에 선을 편집하여 다른 웹 사이트를 시도이 내 웹 사이트 (www.foo.bar)에 문제가되었을 수도 있다는 생각 :
그러나 여기에는 이상한입니다 오류가 발생하고 시나리오가 정상적으로 계속됩니다. 좋은 오래된 BBC. 나도 시도했는지 확인하기 Goole :
$session->visit("http://www.google.com");
그러나 이번에는 정확히 동일한 오류가 발생합니다. '원격 브라우저와의 통신 오류. 그것은 죽을지도 모른다. ' 기묘한. 그래서 다른 웹 사이트를 시도해 봅니다. 일부는 정상적으로 작동하고 다른 오류는이 오류를 반환합니다. Selenium을 죽이는 사이트와 그렇지 않은 사이트 사이에는 명백한 유사점이없는 것으로 보입니다. Selenium은 무엇을 말하고 있습니까? 으로부터 떨어져있다
11:19:19.930 INFO - Executing: [new session: Capabilities [{platform=ANY, browserVersion=8, browserName=firefox, deviceType=tablet, selenium-version=2.31.0, name=Behat test, browser=firefox, deviceOrientation=portrait, max-duration=300, version=8}]])
11:19:19.936 INFO - Creating a new session for Capabilities [{platform=ANY, browserVersion=8, browserName=firefox, deviceType=tablet, selenium-version=2.31.0, name=Behat test, browser=firefox, deviceOrientation=portrait, max-duration=300, version=8}]
11:19:24.607 INFO - Done: [new session: Capabilities [{platform=ANY, browserVersion=8, browserName=firefox, deviceType=tablet, selenium-version=2.31.0, name=Behat test, browser=firefox, deviceOrientation=portrait, max-duration=300, version=8}]]
11:19:24.614 INFO - Executing: [get: http://www.bbc.co.uk/])
11:19:43.454 INFO - Done: [get: http://www.bbc.co.uk/]
11:19:43.463 INFO - Executing: [delete all cookies])
11:19:46.263 INFO - Done: [delete all cookies]
11:19:49.935 INFO - Executing: [delete all cookies])
11:19:49.955 INFO - Done: [delete all cookies]
11:19:50.389 INFO - Executing: [delete session: a092aa77-ad26-4f6f-8fc1-f290b688d7fa])
11:19:50.488 INFO - Done: [delete session: a092aa77-ad26-4f6f-8fc1-f290b688d7fa]
단서 : 오류를 반환하지 않는 사이트에서
11:41:41.428 INFO - Executing: [new session: Capabilities [{platform=ANY, browserVersion=8, browserName=firefox, deviceType=tablet, selenium-version=2.31.0, name=Behat test, browser=firefox, deviceOrientation=portrait, max-duration=300, version=8}]])
11:41:41.430 INFO - Creating a new session for Capabilities [{platform=ANY, browserVersion=8, browserName=firefox, deviceType=tablet, selenium-version=2.31.0, name=Behat test, browser=firefox, deviceOrientation=portrait, max-duration=300, version=8}]
11:41:44.024 INFO - Done: [new session: Capabilities [{platform=ANY, browserVersion=8, browserName=firefox, deviceType=tablet, selenium-version=2.31.0, name=Behat test, browser=firefox, deviceOrientation=portrait, max-duration=300, version=8}]]
11:41:44.031 INFO - Executing: [get: http://www.foo.bar//])
11:41:50.478 INFO - Executing: [delete all cookies])
11:41:50.494 INFO - Executing: [delete session: cee7cfa5-bc53-4804-a9a4-f6b52b0f48df])
출력 : '그것은 죽을 수도있다'오류를 반환하는 사이트에서
출력 사실 Selenium은 bbc.co.uk의 'get'을 완성하지만 foo.bar는 완성하지 않습니다. 그렇다면 foo.bar에 대한 액세스 로그는 어떻게됩니까? 정상적으로 보입니다.
10.179.?.? - - [06/Jan/2015:10:52:57 +0000] "GET/HTTP/1.1" 401 486 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
10.179.?.? - tester [06/Jan/2015:10:52:57 +0000] "GET/HTTP/1.1" 200 33141 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
10.179.?.? - tester [06/Jan/2015:10:53:00 +0000] "GET /css/page_specific_css/index.css HTTP/1.1" 200 10234 "http://www.foo.bar/" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
10.179..?.? - tester [06/Jan/2015:10:53:00 +0000] "GET /library/jquery-tools.min.js HTTP/1.1" 200 5920 "http://www.foo.bar/" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
10.179. CI 서버의 IP가되어 서버와 통신하고 모든 자산을 검색합니다. 그래서 이것이 Selenium 문제인지 Behat/Mink 문제인지 확실하지 않지만 손실이 있습니다. 일부 사이트가 작동하고 다른 사이트가 작동하지 않는 논리적 인 이유가없는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다.
셀레늄 구현 자바 웹 드라이버를 사용하는 동안 가끔 비슷한 문제가 발생합니다. 대부분의 경우 사용 된 브라우저와 호환되지 않는 웹 드라이버 버전입니다. 다른 브라우저로 실행 해 보셨습니까? 그리고 아마도 selnium lib와 broswer를 모두 최신 버전으로 업데이트하십시오. – MajorT
대령, 전설입니다. Firefox를 33에서 34로 업데이트하고 잘 작동합니다. –