这是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();
答案 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");
}