【发布时间】:2017-02-16 20:02:05
【问题描述】:
我正在构建一个测试框架,我的目标是使用该框架测试许多具有相似页面但彼此之间存在轻微差异的网站。
我有一个问题,我希望 WebElements 选择器是动态的,这意味着我想将查找元素的方式作为参数传递给 FindElement 方法。
我正在尝试构建这样的东西:
public class WebComponent
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public IWebElement WebElement{get;set;}
public Accessor Accessor { get; set; }
public WebComponent()
{
Accessor = new Accessor();
}
}
public class Accessor
{
OpenQA.Selenium.By By { get; set; }
public string Value { get; set; }
}
稍后在我的代码中,当我想拥有此类的实例时:
WebComponent component = new WebComponent();
component.ID = 1;
component.Name = "Logout Button";
component.Description = "The button to click when user wants to logout of website";
component.Accessor.By = By.Id;
component.Accessor.Value = "logout";
component.WebElement = Browser.Driver.FindElement(//missing code);
我的问题是如何使用 component.Accessor 找到 WebElement,任何建议或建议的编辑将不胜感激。
【问题讨论】:
标签: selenium selenium-webdriver dynamic