0

セレンを使用して、2つ以上のアプリケーション(メイン、監視、管理)がどのように連携するかをテストしたいと思います。しかし、私が見つけたのは、単一のアプリケーションをテストする方法だけです。

サンプルシナリオは次のようになります。

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

アプリケーションは異なるサーバーにデプロイされる場合があります。通信は共通のデータベースを介して実行されます。アプリケーションは、必ずしも同じテクノロジースタックを使用して実装されるとは限りません。

4

3 に答える 3

3

Seleniumは、実際のユーザーの行動を再現することを目的としています。したがって、実際のユーザーがAPP 1から離れるときにセッションが終了した場合、セレンWebドライバーを介してこれらの手順を実行すると、まったく同じ動作が見られます。

それでもiを実行したい場合は、この方法で実行できます-

@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
.
.
.

上記のコードはRubyであり、SeleniumGrid2が中間で実装されています。

于 2013-03-25T15:32:31.630 に答える
1

Selenium IDEでは、同じテスト中にWebサイトを変更することはできません。ただし、SeleniumWebdriverを使用してこれを簡単に行うことができます。例えば

driver.get("yourFirstApp.com");
//Test your stuff
driver.get("yourSecondApp.com");
//Test your stuff
etc
于 2013-03-25T14:38:12.767 に答える
0

以下のコードのように同じテストケースにとどまる場合は、会話ID、セッションなどに問題はありません。

@Test
public void blablalb() {  
driver.get(a1);  
//code.... 
driver.get(a2);  
//code...
}
于 2013-03-28T14:50:01.260 に答える