请建议如何通过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();
预期: 如果我使用镀铬驱动程序,它应该执行特定条件(基于开关案例)
答案 0 :(得分:1)
尝试这样的事情:
if(Baseclass.driver instanceof FirefoxDriver)
{
...
}
if(Baseclass.driver instanceof ChromeDriver)
{
...
}
等。
使用instanceof
,您可以确定创建WebDriver
的{{1}}类型并将其分配给driver
。
Learn more about instanceof here!
(你的问题不是很清楚,所以我相信这就是你所要求的,但如果不是,那么请在下面发表更多信息,我会更新我的答案)