如何通过IF语句传递Switch案例条件

时间:2014-10-20 07:39:22

标签: java

请建议如何通过IF语句传递Switch案例条件

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();

            }
        }
    }
}

另一个类我继承了基类并设置了条件

public class AdminRenewals extends Baseclass {

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

来自AdminRenewals类,我们如何用另一种方法检查开关案例条件

像儿子一样

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();

预期: 如果我使用镀铬驱动程序,它应该执行特定条件(基于开关案例)

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

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

等。

使用instanceof,您可以确定创建WebDriver的{​​{1}}类型并将其分配给driver

Learn more about instanceof here!

(你的问题不是很清楚,所以我相信这就是你所要求的,但如果不是,那么请在下面发表更多信息,我会更新我的答案)