我找到了Pages
一个静态getPages<>()
方法。
class Pages
{
private static T getPages<T>() where T : new()
{
var page = new T();
PageFactory.InitElements(Browsers.getDriver, page);
return page;
}
public static Home Home => getPages<Home>();
public static Dashboard Dashboard => getPages<Dashboard>();
public static Profile Profile => getPages<Profile>();
}
我使用这个Pages
类的方式如下:
Pages.Dashboard.IsAt();
Pages.Profile.GoTo();
Pages.Profile.IsAt();
我试图了解getPages<>()
函数中发生了什么。
例如,当我这样做时:
每次我打电话时Pages.Dashboard.IsAt();
,它是否会创建一个新实例Dashboard
或只是一个实例?
它创建并返回一个新实例,但访问这个 getter 的方式是静态方法。
属性“Dashboard”是静态的,这意味着您可以从类定义访问它,并且不需要“Pages”类的实例来访问它。
但是因为该属性是一个运行函数的 getter,并且因为该函数每次都返回一个新实例,所以每次最终都会得到一个新实例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句