2016-10-08 2 views
0

ブラウザのタイプをmy testng xmlのパラメータとしてBase Testクラスに渡そうとしています。以下 は、XMLファイルのサンプルです:メソッドのsetUpの@Configurationでパラメータ 'browserType'が必要です

<?xml version="1.0" encoding="UTF-8"?> 

<test name="SampleTest-nogrid-ff" preserve-order="false"> 
    <parameter name="browserType" value="ff"/> 
    <classes> 
     <class name="Test.classes1.SomeTest"/> 
    </classes> 
</test></suite> 

以下webdriverををインスタンス化するbrowsertypeパラメータを利用して、私のベースのテストJavaクラスです:

@BeforeClass 
@Parameters({"browserType"}) 
public void setUp(String browserType) throws IOException { 

     if (browserType.equals("ff")) { 
      System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); 
      driver = new FirefoxDriver(); 
      driver.manage().window().maximize(); 
     } else if (browserType.equals("chrome")) { 

      System.setProperty("webdriver.chrome.driver", "C:\\Users\\11111\\AppData\\Local\\Google\\Chrome\\chromedriver.exe"); 
      driver = new ChromeDriver(); 
      driver.manage().window().maximize(); 
     } else if (browserType.equals("ie")) { 
      System.setProperty("webdriver.ie.driver", "C:\\Users\\11111\\AppData\\Local\\Microsoft\\Internet Explorer\\IEDriverServer.exe"); 
      DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer(); 
      ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); 
      ieCapabilities.setCapability("ensureCleanSession", true); 
      driver = new InternetExplorerDriver(ieCapabilities); 
      driver.manage().window().maximize(); 
     } else { 
      System.setProperty("webdriver.firefox.bin", "C:\\Users\\111111\\AppData\\Local\\Mozilla Firefox31\\Firefox.exe"); 
      driver = new FirefoxDriver(); 
      driver.manage().window().maximize(); 
     } 
     } 

これを実行すると、エラーが発生します:

パラメータ「browserTypeは」メソッドの設定に@Configurationによって必要とされるが、私は以下の標準あたりなど、チェックソリューションことを保証している@optionalをマークしたり

を定義されていません。 How to use testNG @Parameters in @BeforeSuite to read resource file

Parameter 'google' is required by @Configuration on method setUp but has not been marked @Optional or defined

また、私はtestng xmlのスイートレベルでパラメータを配置しようとしました。

しかし、メリットはありません。質問の助けをいただければ幸いです。

答えて

0

テストをテストスイートとして実行すると、エラーは発生しません。 testng.xmlを右クリックして、 "TestNG"スイートとして実行を選択します。

+0

私はそれをしますが、それは私に "XSL変換"として実行するオプションを与えます。その他のオプションは? – user3077225

+0

あなたはどのIDEを使用していますか? eclipleを使用している場合は、TestNGプラグインがインストールされていますか?そうでない場合は試してみてください。 –

+0

THanks Sandipan、私のTESTNGインストールが壊れていました。 – user3077225

関連する問題