【发布时间】:2019-03-03 20:08:32
【问题描述】:
我正在尝试改进我的测试框架,并避免我的许多类之间存在过多的相互依赖关系。这是为了测试自动化。我有一个名为 WebDriverSupport 的类,它主要包含 selenium webdriver 方法,例如 - Click()、entertext...
我有各种使用这些方法的页面对象类,但我不想继承该类。我目前的实现是这样的 -
public class WebDriverSupport{
public void ClickElement(IWebElement element){element.Click()}}
然后我有一个页面对象类,比如说主页 -
public class HomePage{
private WebDriverSupport Support{get;set;} = new WebDriverSupport();
public void ClickOnThatElement(){
Support.ClickElement(Element)}
我的问题是,有没有更好的方法来实现我的 webdriversupport 类,而无需主页继承该类或我像上面那样实例化该类?
谢谢
【问题讨论】:
-
你使用依赖注入框架吗?那是你要的吗?为什么有私有属性而不是字段?
-
继承有什么问题?或实例化一个类?为什么你认为删除这些“更好”?
-
@Icepickle 我确实使用依赖注入框架。这就是我想要做的,这样我就没有太多的耦合类。你是什么意思有字段而不是私有属性?