是否可以在C#中的switch语句中调用一个类

时间:2014-05-22 23:18:34

标签: c# selenium webdriver browser-automation

这是C#selenium webdriver自动化。 我在C#中创建了一个运行的脚本,并在网页上给我一个报告。 但是,用户可以选择10个不同的链接在页面中创建报告。 我需要为10个其他链接执行此操作,因此从技术上讲,脚本中只有1行更改。

有没有办法保留1个脚本,只使用每个链接的类(该类确定要运行哪个测试用例)作为我的参数调用switch(case)场景中的方法?或者我是否需要为每个链接编写脚本10次?

public static string ProCenter_Top40_Programs_Careers(IWebDriver driver, string baseURL, string filepath, string UserName, string Password, string LastName, string FirstName)
        {
            string PassScreenPrintFilePath;
            XapQA.Transitions.Common.ProCenter_SignIn(driver, baseURL, UserName, Password, FirstName, LastName);
            driver.FindElement(By.LinkText("Reports")).Click();
            driver.waitForPageToLoad();
            driver.FindElement(By.LinkText("Create a New Report")).Click();
            driver.waitForPageToLoad();
            //TODO: Add a switch case that tells me wich type of report i want.
            string method = 
            //This is what I want to change
            driver.FindElement(By.LinkText("Top 40 Saved Programs/Majors")).Click();
            driver.waitForPageToLoad();

1 个答案:

答案 0 :(得分:0)

我认为清洁选项是将字符串值添加为参数。

public static string RunReport(....., string reportLinkText)
{
    /* Code as before, except: */
    driver.FindElement(By.LinkText(reportLinkText)).Click();
}

然后

public static string ProCenter_Top40_Programs_Careers(...)
{
    RunReport(..., "Top 40 Saved Programs/Majors");
}