0

두 개 이상의 응용 프로그램 (주, 모니터링, 관리)이 함께 작동하는지 테스트하려면 셀렌을 사용하고 싶습니다. 그러나 내가 찾던 유일한 방법은 단일 응용 프로그램을 테스트하는 방법입니다.selenium을 사용하여 여러 응용 프로그램의 공동 작업을 테스트하는 방법

샘플 시나리오는 다음과 같이 수 :

App 1 - user x tries to log in, but has no account and the login fails 
App 2 - a user for App 1 is created 
App 1 - user is now able to log in 

App 1 - user x performs a task 
App 2 - displays the performed task 
App 1 - user x finishes a task 
App 2 - displays the finished task 

응용 프로그램은 다른 서버에 배포 할 수있다. 통신은 공통 데이터베이스를 통해 수행됩니다. 응용 프로그램은 반드시 동일한 기술 스택을 사용하여 구현되는 것은 아닙니다.

답변

2

셀렌은 실제 사용자 동작을 복제하기위한 것입니다. 그래서 실제 사용자가 APP 1에서 벗어날 때 세션이 종료되면 세션이 selenium webdriver를 통해 실행될 때 똑같은 동작이 발생합니다.

@driver1 = Selenium::WebDriver.for(:remote, :url => @sel_grid_url, :desired_capabilities => @browser) #create a browser session controlled by driver1 
@driver2 = Selenium::WebDriver.for(:remote, :url => @sel_grid_url, :desired_capabilities => @browser) #create another browser session controlled by driver2 
@driver1.get "http://#{app1}/" 
## user x tries to log in, but has no account and the login fails 
@driver2.get "http://#{app2}" 
## a user for App 1 is created 
. 
. 
. 

위의 코드는 루비에, 그리고 셀레늄 그리드 2는 중간이다 구현 된 -

그래도 난을하고자하는 경우

,이 방법을 수행 할 수 있습니다.

+0

좋은 소리와 간단합니다. 고마워. – kostja

1

Selenium IDE에서는 동일한 테스트 중에 웹 사이트를 변경할 수 없습니다. 그러나 Selenium Webdriver를 사용하면이 작업을 쉽게 수행 할 수 있습니다. 예를 들어,

driver.get("yourFirstApp.com"); 
//Test your stuff 
driver.get("yourSecondApp.com"); 
//Test your stuff 
etc 
+0

감사합니다, 스테판, 내가 대답을 두려워 한 것은 다음과 같은 것 ... 새 페이지가 첫 번째 세션을 종료시키지 않을까요? – kostja

+0

아니요, 세션은 여전히 ​​동일합니다 –

0

당신이 울부 짖는 코드와 같은 동일한 테스트 케이스에 머물 경우 대화 ID, 세션 등 아무 문제가 없을 것입니다 ..

@Test 
public void blablalb() { 
driver.get(a1); 
//code.... 
driver.get(a2); 
//code... 
}