在c#中是否可以在switch语句中调用类?

本文关键字:调用 语句 是否 switch | 更新日期: 2023-09-27 18:04:38

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

是否有一种方法来保持1个脚本,只是在使用每个链接的类(类决定运行哪个测试用例)的切换(案例)场景中调用方法作为我的参数?或者我需要为每个链接写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();

在c#中是否可以在switch语句中调用类?

我认为更简洁的选择是将字符串值作为参数添加。

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");
}