11using System ;
22using System . Collections ;
33using System . Collections . Generic ;
4+ using System . Threading ;
45using OpenQA . Selenium ;
56using WebDriverManager ;
67using WebDriverManager . DriverConfigs ;
@@ -13,12 +14,12 @@ public class BrowserData : IEnumerable<object[]>
1314 {
1415 private readonly List < object [ ] > _data = new List < object [ ] >
1516 {
16- new object [ ] { new ChromeConfig ( ) , DriverType . Chrome } ,
17- // new object[] {new EdgeConfig(), DriverType.Edge},
18- new object [ ] { new FirefoxConfig ( ) , DriverType . Firefox } ,
19- new object [ ] { new InternetExplorerConfig ( ) , DriverType . InternetExplorer } ,
20- new object [ ] { new OperaConfig ( ) , DriverType . Opera } ,
21- new object [ ] { new PhantomConfig ( ) , DriverType . Phantom }
17+ new object [ ] { new ChromeConfig ( ) , DriverType . Chrome , "chromedriver" } ,
18+ // new object[] {new EdgeConfig(), DriverType.Edge, "MicrosoftWebDriver" },
19+ new object [ ] { new FirefoxConfig ( ) , DriverType . Firefox , "geckodriver" } ,
20+ new object [ ] { new InternetExplorerConfig ( ) , DriverType . InternetExplorer , "IEDriverServer" } ,
21+ new object [ ] { new OperaConfig ( ) , DriverType . Opera , "operadriver" } ,
22+ new object [ ] { new PhantomConfig ( ) , DriverType . Phantom , "phantomjs" }
2223 } ;
2324
2425 public IEnumerator < object [ ] > GetEnumerator ( )
@@ -35,10 +36,12 @@ IEnumerator IEnumerable.GetEnumerator()
3536 public class BrowserTests : IDisposable
3637 {
3738 private IWebDriver _webDriver ;
39+ private string _driverExe ;
3840
3941 [ Theory , ClassData ( typeof ( BrowserData ) ) , Trait ( "Category" , "Browser" ) ]
40- protected void BrowserTest ( IDriverConfig driverConfig , DriverType driverType )
42+ protected void BrowserTest ( IDriverConfig driverConfig , DriverType driverType , string driverExe )
4143 {
44+ _driverExe = driverExe ;
4245 new DriverManager ( ) . SetUpDriver ( driverConfig ) ;
4346 _webDriver = new DriverCreator ( ) . Create ( driverType ) ;
4447 _webDriver . Navigate ( ) . GoToUrl ( "https://www.wikipedia.org" ) ;
@@ -55,6 +58,10 @@ public void Dispose()
5558 {
5659 Console . WriteLine ( ex . Message , ex ) ;
5760 }
61+ finally
62+ {
63+ Helper . KillProcesses ( _driverExe ) ;
64+ }
5865 }
5966 }
6067}
0 commit comments