Javaを使用したクロスブラウザテストのために複数のブラウザでSelenium Testsを実行する方法 -- java フィールド と internet-explorer フィールド と google-chrome フィールド と firefox フィールド と selenium-webdriver フィールド 関連 問題

How to run Selenium tests in multiple browsers for cross-browser testing using Java?












2
vote

問題

日本語

Java&AMPを搭載したSelenium WebDriverを使用しています。 TestNGフレームワーク。クロスブラウザテストを実行するために、Firefox、つまり1つのコードでChromeを使用したいです。私はFirefoxだけを

として初期化することができます <事前> <コード> driver = new FirefoxDriver();

しかし同じ方法で他のブラウザを初期化することはできません。例えば:

<事前> <コード> driver = new InternetExplorerDriver();

エラーを与える<コード> InternetExplorerDriver cannot be resolved.

<事前> <コード> driver = new ChromeDriver();

エラー<コード> ChromeDriver cannot be resolved.

IEとChromeを初期化し、すべての目的のブラウザでテストを実行する方法は?

英語

I am using Selenium WebDriver with Java & TestNG framework. I want to use Firefox, IE, Chrome in one single code at a time for doing cross-browser testing. I can only initialize Firefox as

driver = new FirefoxDriver(); 

but cannot initialize other browsers in the same way. For example:

driver = new InternetExplorerDriver(); 

gives the error InternetExplorerDriver cannot be resolved.

driver = new ChromeDriver(); 

gives the error ChromeDriver cannot be resolved.

How can I initialize IE and Chrome and execute my tests in all the desired browser ?

</div
              
 
 

回答リスト

4
 
vote
vote
ベストアンサー
 
C#の場合

add

<事前> <コード> parent_id7

ブラウザ名を含む設定ファイルを作成します。 設定ファイル

との対話方法を実装する

および上記のコードを初期化するためのコードを使用できます。

<事前> <コード> parent_id8

頑張って!

 

For C#

Add

using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Firefox; using OpenQA.Selenium.IE; 

Create a config file which will contain browser name. Implement a method for interaction with the config file

And you can use below code for initialize browsers:

string browser = GetConfigProperty("browser"); //Get browser name from the config         switch (browser)         {             case "chrome":                 driver = new ChromeDriver();                 break;             case "firefox":                 driver = new FirefoxDriver();                 break;             case "InternetExplorer":                 driver = new InternetExplorerDriver();                 break;         } 

good luck!

</div
 
 
       
       
1
 
vote

次の内容を持つtestng.xmlを作成します。

<事前> <コード> parent_id9

今のようにJava WebDriverコードを書き込みます。

<事前> <コード> :0
 

Create testng.xml having the following content:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Regression Test" verbose="1">       <test name="Login_IE">     <parameter name="browser" value="iexplore"/>         <classes>             <class name="com.gb.test.selenium.login.Login" />         </classes>     </test>     <test name="Login_FF">     <parameter name="browser" value="firefox"></parameter>     <classes>     <class name="com.gb.test.selenium.login.Login" />     </classes>     </test> <test name="Login_Chrome">     <parameter name="browser" value="chrome"></parameter>     <classes>     <class name="com.gb.test.selenium.login.Login" />     </classes>     </test> </suite> 

Now write your Java WebDriver code as below:

@Parameters({"browser"})   @BeforeClass   public void setUp(String browser) {//throws MalformedURLException{       if(browser.equalsIgnoreCase("iexplore")){           File file = new File("E:\IEDriverServer_Win32_2.29.1\IEDriverServer.exe");           System.setProperty("webdriver.ie.driver", file.getAbsolutePath());           driver = new InternetExplorerDriver();        }       if(browser.equalsIgnoreCase("firefox")){           driver = new FirefoxDriver();       }       if(browser.equalsIgnoreCase("chrome")){           File file = new File("F:\chromedriver_win_22_0_1203_0b\chromedriver.exe");//v22         System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());         driver = new ChromeDriver();       }        jse = (JavascriptExecutor) driver;       driver.manage().window().maximize();       driver.manage().timeouts().implicitlyWait(DEFAULT_IMPLICIT_WAIT_IN_SECONDS, TimeUnit.SECONDS);           driver.get("URLOfSite");   } 
</div
 
 
1
 
vote

Rubyの場合は、3つのブラウザ全てのブラウザ全てのコードを1つずつ実行したい場合は、次の手順を実行できます。

<事前> <コード> :1
 

For Ruby you can do the following if you want to run your single code in all three browsers one after the other:

def all_browsers   browsers = [:firefox,:ie,:chrome].each do |br|   $driver = Selenium::WebDriver.for br   $driver.manage.window.maximize   $driver.navigate.to("http://google.com") end 
</div
 
 
0
 
vote

Javaの場合、ポスター質問はJavaの答えを求めていたので、私は完全なものを書きましたマルチブラウザパラレルウィンドウ例

 

For Java, since the posters question was asking for a Java answer, I wrote a complete multi-browser parallel window example.

</div
 
 

関連する質問

10  障害の停止の停止を停止する方法  ( How to make minitest stop execution on failure ) 
私の機能テストのランナーとしてMinitestを使って、ブラウザを実行するドライバとしてSeleniumを使用しています。各テストは、MinitEst :: Unit :: TestCaseとしてモデル化されています。 MinitEstは、すべてのテストの実...

5  Selenium WebDriver - マウスの右ボタンを押す方法は?  ( Selenium webdriver how to holds down the right mouse button ) 
Selenium 2.0 WebDriver(Java)を使用する(Java)、いくつかのナビゲーションをテストする必要があります(回転、パン...) マウスを動かしながら右ボタンを押すことができる必要があります。 同様に、マウスを動かしながらミドルボタンを...

0  Selenium Webドライバでこのエラーの解決策は何ですか?  ( What is the solution for this error in selenium web driver ) 
セレンウェブドライバーの自動化に新しい。 このコードスニペットを実行すると、このエラーメッセージが表示されます。 オンラインWebチュートリアルに従って、私は緊張しています。 先に行くのを手伝ってください。 これは私が試したコードです。 <事前> <コード> ...

0  セレングリッド - テスト失敗時に何かをする  ( Selenium grid do something on test failure ) 
セレングリッドには比較的新しい、テストの安定性に関する問題があります。何らかの理由で、私がグリッドとRemoteWebdriverを介してテストを実行しているとき、私のテストは断続的にIedriverserverオープンページで断続的に動かなくなります、 <...

0  さらなるケースで作業を続けるためのWebDriverのデフォルト状態の定義  ( Defining default state for webdriver to continue work with in further cases ) 
デフォルトのWebDriver状態を定義しようとしています。 WebDriverのこの状態はログイン後、Webサイトにアクセスし、テストを続けたい新しいワークスペースの作成を行います。私はこの出発点から残りのクラスを構築しようとしています。 このドライバを返し...

0  チェックボックスとメモを持つ画面がある場合、メモはDIVの下に整列され、チェックボックスは正しい整列しています  ( Have a screen which has checkboxes and notes the notes are left aligned under t ) 
問題:チェックボックスとメモを持つ画面には、NotesがDIVの下に位置合わせされ、チェックボックスが正しい整列しています。 <事前> <コード> <div id="ScreenData"> <div class="Title"> <div class="pN...

0  IEDRiverの実装はテストに失敗します  ( Iedriver implementation fails the test ) 
jdk7とjre7を備えたWindows7マシン上の2.23 APIのWebDriverを使用しています。テストスクリプトは予想どおりに正常に機能していますが、IEdriverを導入したときにスクリプトがページ内で失敗すると、要素のエラーメッセージをクリック...

3  WebDriver TestsのGoogle Chromeパスワードバブルを無効にします  ( Disable google chrome password bubble for webdriver tests ) 
次のコードスニペットを与えられます: <事前> <コード> case "CHROME": System.setProperty("webdriver.chrome.driver", DriverPaths.CHROMEPATH); Chr...

0  アウトラインに基づくBehat / Drupalシナリオの並列実行の例  ( An example of parallel execution of behat drupal scenarios based on outlines ) 
DrupalContextを拡張するPHP Behatに実装されているフロントエンドUIテストのセットを持っています。すべてのシナリオはシナリオのアウトラインを使用して駆動されます。これらをWebDriverグリッドと並行して実行する方法を調べています。理想...

0  TestNGテストはサーブレット内で実行中にスキップします  ( Testng test skips while executing it inside servlet ) 
「href="http://testng.org/javadoc/org/testng/testeneradapter.html" rel="nofollow"> testListenerAdapter "and" testng "私のコードスニペットは...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有