2013-12-10 4 views
1

WebDriver에 대한 나의 이전 경험은 새로운 브라우저를 생성하는 오버 헤드로 인해 WebDriver 개체 생성을 최소화하고 시도하는 것이 항상 최선의 방법이었으며, 사이트가 로그인 뒤에 있으면 원하는 각 테스트를 기록해야했습니다. 운영.성능을 염두에두고 SauceLabs를 사용할 때 RemoteWebDriver 객체를 어떻게 관리해야합니까?

그러나 SauceLabs에서는 DesiredCapabilities 개체를 사용하여 테스트 (작업) 이름과 같은 것을 설정하기 때문에 각 테스트에 대해 새 RemoteWebDriver를 만드는 것이 유일한 방법입니다. 그것은 공연하지 않습니다.

답변

0

Sauce Labs는 실제로 작업 이름 설정을 위해 REST API을 지원합니다. 해당 REST API를 사용하여 원하는 기능으로 설정 한 이름을 덮어 쓸 수 있습니다.

그러나 RemoteWebDriver는 이전과 똑같이 작동합니다. 새로운 웹 드라이브를 만들 때마다 새 브라우저가 열립니다. 로컬 브라우저와 마찬가지로 Sauce Labs에 RemoteWebDriver를 연결하면 새로운 VM이 만들어집니다. 하나의 VM에 대해 모든 테스트를 실행하면 모두 동일한 Source Labs 작업으로 끝납니다. 각 작업에는 하나의 이름 만있을 수 있습니다.

아마도 Sauce Labs로 효율적으로 테스트하는 가장 좋은 방법은 여러 테스트를 동시에 실행하는 것입니다. 모든 테스트에 동일한 작업을 실제로 사용하려면 "소스 : 컨텍스트"자바 스크립트 메소드를 사용하여 해당 작업의 각 섹션에 이름을 지정할 수 있습니다 (예 :

IJavaScriptExecutor js = driver as IJavaScriptExecutor; 
js.ExecuteScript("sauce:context='Test The Friend Page Works'"); 
).