0
이것은 C# 셀레늄 웹 드라이버 자동화입니다. C#에서 실행되는 스크립트를 작성하여 웹 페이지에 대한 보고서를 제공합니다. 그러나 사용자는 10 개의 다른 링크를 선택하여 페이지 내에서 보고서를 만들 수 있습니다. 10 개의 다른 링크에 대해 이렇게해야하므로 기술적으로 스크립트 내에서 한 줄만 변경됩니다.은 C#의 switch 문 안에서 클래스를 호출 할 수 있습니다.
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();
나는 당신이 우리가 더 나은 당신이 요구하는지 이해할 수있는 몇 가지 코드를 추가 할 필요가 있다고 생각합니다. – spender
클래스가 동일한 인터페이스의 멤버이고 인터페이스 서명에 단일 명령이 들어있는 경우. 꽤 쉬워야합니다. –
미안하지만, 처음으로 게시하는 경우는 비교적 새로운 편입니다. 굵은 줄만 바꿀 필요가있는 유일한 줄입니다. 그래서 저의 생각은 그 줄을 switch 문으로 바꾸고 클래스를 매개 변수로 사용하여 switch 문을 확인하는 것입니다. – user2961832