2016-11-23 17 views
1

私はSelenium Webドライバを使用してクロスブラウザテストスクリプトを作成しています - Java。私のfirefox、chrome、IEのブラウザが開き、スクリプトを正常に実行しています。しかし、オペラでは、ブラウザだけが開いています。 Even driver.manage().window().maximize();も機能しません。ただブラウザを開いて、私がそれを閉じるまで残してください。ブラウザを手動で閉じると、テストスイートに失敗します。オペラドライバがSelenium-Javaで動作していません。

ここは私のJavaクラスです。

package multiBrowser; 

import org.testng.annotations.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.firefox.FirefoxProfile; 
import org.openqa.selenium.firefox.internal.ProfilesIni; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.openqa.selenium.opera.OperaDriver; 
import org.testng.annotations.Parameters; 

public class MultiBrowserClass { 

    WebDriver driver; 

    @Test 
    @Parameters("browser") 
    public void multiBrowsers(String browserName) throws InterruptedException{ 

     if(browserName.equalsIgnoreCase("firefox")){ 

      System.setProperty("webdriver.firefox.marionette","D:\\My Work\\Setup\\JAR\\geckodriver.exe"); 
      ProfilesIni profile = new ProfilesIni();  
      FirefoxProfile myprofile = profile.getProfile("default"); 
      driver = new FirefoxDriver(myprofile); 

     } 
     if(browserName.equalsIgnoreCase("chrome")){ 

      System.setProperty("webdriver.chrome.driver", "D:\\My Work\\Setup\\JAR\\driver\\chromedriver.exe"); 
      driver = new ChromeDriver(); 
     } 
     else if(browserName.equalsIgnoreCase("IE")){ 

      System.setProperty("webdriver.ie.driver", "D:\\My Work\\Setup\\JAR\\driver\\IEDriverServer.exe"); 
      driver = new InternetExplorerDriver(); 
     } 
     else if(browserName.equalsIgnoreCase("opera")){ 

      System.setProperty("webdriver.opera.driver", "D:\\My Work\\Setup\\JAR\\driver\\operadriver.exe"); 
      driver = new OperaDriver(); 

     } 

     driver.manage().window().maximize(); 

     driver.navigate().to("https://"); 

     System.out.println(driver.getTitle()); 

     driver.findElement(By.xpath("//div[@id='navbar-main']/ul/li[5]/a")).click();  
     driver.findElement(By.xpath("//div[@id='navbar-main']/ul/li[5]/ul/li/a")).click(); 
     Thread.sleep(3000); 
     driver.findElement(By.name("email")).clear(); 
     driver.findElement(By.name("email")).sendKeys("[email protected]"); 
     driver.findElement(By.name("password")).clear(); 
     driver.findElement(By.name("password")).sendKeys("1qaz2wsx"); 
     Thread.sleep(3000); 
     driver.findElement(By.xpath("//form[@id='loginform']/div[8]/button")).click(); 
     Thread.sleep(5000); 

     if(driver.getPageSource().contains("Welcome [email protected]")){ 
      System.out.println("User Successfully logged in"); 

     }else{ 
      System.out.println("Username or password you entered is incorrect"); 
     } 

     driver.quit(); 

    } 

} 

は、ここで私はthisページ(operadriver_win64.zip)からoperadriverをダウンロードしたtestng.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite"> 

    <!-- firefox --> 

    <test name="FirefoxTestCases"> 
     <parameter name="browser" value="firefox"/> 
     <classes> 
     <class name="multiBrowser.MultiBrowserClass"/> 
     </classes> 
    </test> 


    <!-- chrome --> 

    <test name="ChromeTestCases"> 
     <parameter name="browser" value="chrome"/> 
     <classes> 
     <class name="multiBrowser.MultiBrowserClass"/> 
     </classes> 
    </test> 


    <!-- internet explorer --> 

    <test name="IETestCases"> 
     <parameter name="browser" value="IE"/> 
     <classes> 
     <class name="multiBrowser.MultiBrowserClass"/> 
     </classes> 
    </test> 

    <!-- Opera --> 

    <test name="OperaTestCases"> 
     <parameter name="browser" value="opera"/> 
     <classes> 
     <class name="multiBrowser.MultiBrowserClass"/> 
     </classes> 
    </test> 

</suite> <!-- Suite --> 

です。

Operaブラウザのオープン方法は次のとおりです。

Opera Browser

オペラのバージョンは41.0.2353.56です。

ありがとうございます。 :)

+0

Operaの最新バージョンで起こっています。私はすべてのテストが機能しなくなった同じ問題を抱えています。ブラウザはデータで開かれます。 URLにさらに何も起こらない。 – Sudeepthi

+0

あなたは何をしましたか? –

答えて

1

答えを見つけました。

System.setProperty("webdriver.chrome.driver", "D:\\My Work\\Setup\\JAR\\driver\\operadriver.exe"); 
driver = new Chro,eDriver(); 

次にオペラ38がインストールされました。問題が解決しました。 :)

+0

ChromeDriver()またはOperaDriver()ですか?私はダウングレードしたくないので、私はOperaで動かなくなった。 Operaの最新バージョンへのアップデートを停止できますか? – Sudeepthi

+0

最新のオペラのバージョンをテストする方法がありません。ごめんなさい。 :( –

関連する問題