最近我开始涉足 C# 的 Selenium 2.0(又名 WebDriver)。对于那些不了解 Selenium 的人,它允许您使用 html id、名称、类等来控制 Web 应用程序的 UI 对象。
所以你可以点击一个元素 -
webDriver.FindElement(By.Id(elementLocator)).Click();
但是您也可以使用 html 名称或类或 XPath 来单击元素。所以它可能是——
webDriver.FindElement(By.Name(elementLocator)).Click();
webDriver.FindElement(By.Xpath(elementLocator)).Click();
很快我意识到我应该将它抽象为一个方法并使用该方法而不是在我的测试中使用这么长的语句。所以我创建了一个方法 -
public static void click(IWebDriver webDriver, int elementLocatorType, String elementLocator)
{
switch (elementLocatorType)
{
case 0:
webDriver.FindElement(By.Id(elementLocator)).Click();
break;
case 1:
webDriver.FindElement(By.Name(elementLocator)).Click();
break;
case 2:
webDriver.FindElement(By.XPath(elementLocator)).Click();
break;
}
}
并将其用作 -
Commons.click(webDriver, 0, elementLocator)
我想知道我是否可以再改进它,说我是否可以避免 switch 语句并使用更好的东西....