在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();
我认为更简洁的选择是将字符串值作为参数添加。
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");
}