2014-10-20 58 views
-1

請建議如何可以通過與IF語句的開關箱條件如何可以通過使用IF語句switch case條件

baseclass.java

class Baseclass { 

    public static WebDriver driver; 

    public void GetDriver(int browserId) { 
     { 
      switch (browserId) { 
      case 1: 
       // For Firefox Driver 
       driver = new FirefoxDriver(); 
       break; 

      case 2: 
       // For Chrome Driver 
       System.setProperty("webdriver.chrome.driver", 
         "D:\\chromedriver_win32\\chromedriver.exe"); 
       driver = new ChromeDriver(); 
       break; 

      case 3: 
       // For IE Driver 
       System.setProperty("webdriver.ie.driver", 
         "D:\\IEDriverServer.exe"); 
       driver = new InternetExplorerDriver(); 

      } 
     } 
    } 
} 

另一個類,我有繼承的基類,並設置從AdminRenewals類,我們如何能夠用另一種方法檢查開關狀態的情況下的條件

public class AdminRenewals extends Baseclass { 

@BeforeTest 
    public final void Startup() { 
     Baseclass ed = new Baseclass(); 
     ed.GetDriver(3); 
} 
} 

sonething像

if(GetDriver==2) 
      { 
      if (!name1.equals("")) { 
       name1 = new StringBuffer(name1).insert(name1.length() - 1, " ") 
         .toString(); 

if(GetDriver==3) 
      { 
      if (!name1.equals("")) { 
       name1 = new StringBuffer(name1).insert(name1.length() - 1, "test ") 
         .toString(); 

預計: 如果我使用Chrome驅動其應執行特定的,如果條件(基於開關的情況下)

+2

你有嚴重的設計缺陷。爲什麼你要在child中創建BaseClass的實例? – 2014-10-20 07:45:29

+1

「IF循環」是什麼意思?沒有這樣的事情,所以你不清楚你的意思。另外,如果你問一個講英語的人來幫助你制定問題,你可能會得到更好的答案。 – 2014-10-20 07:46:16

回答

1

嘗試是這樣的:

if(Baseclass.driver instanceof FirefoxDriver) 
{ 
    ... 
} 
if(Baseclass.driver instanceof ChromeDriver) 
{ 
    ... 
} 

使用instanceof,您可以確定哪種類型的WebDriver已創建並分配給driver

Learn more about instanceof here!

(你的問題不是很清楚,所以我相信這是你問的是什麼,但如果它不是,那麼更多的信息下面評論,我會更新我的答案)