在我的测试场景中,我基本上有两个类Program.CS和SeleniumLibrary.cs
在program.cs中我想创建一个新的SeleniumLibrary.cs类,但我想要完成的是当我做new()时我想自动创建一个ieDriver的新实例.
class Program { static void Main(string[] args) { //make SeleniumLibrary._iedriver here somehow SeleniumLibrary.SeleniumLibrary sl = new SeleniumLibrary.SeleniumLibrary(); sl.Navigate("www.google.com"); sl.Navigate("www.nfl.com"); } } class SeleniumLibrary { private InternetExplorerDriver _ieDriver { get; set; } private InternetExplorerDriver ieDriver { get { if (_ieDriver == null) _ieDriver = new InternetExplorerDriver(); return _ieDriver; } } public void Navigate(string url) { ieDriver.Navigate().GoToUrl(url); } }
你可以在我的导航方法中看到我称之为ieDriver,但有没有办法清理上面的代码?
我必须在这里误解一些东西,因为有什么不对的:
class SeleniumLibrary { private readonly InternetExplorerDriver _ieDriver; public SeleniumLibrary() //Constructor { _ieDriver = new InternetExplorerDriver(); } public void Navigate(string url) { _ieDriver.Navigate().GoToUrl(url); } }
这就是DUD在他的回答中提出的建议,我只是拼写出来.