Skip to content

Commit 313bf33

Browse files
committed
Kill also browser driver binaries for tests.
Disable parallelization for tests.
1 parent d3f1ce0 commit 313bf33

File tree

7 files changed

+51
-7
lines changed

7 files changed

+51
-7
lines changed

IntegrationTests/BrowserTests/BrowserTests.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections;
33
using System.Collections.Generic;
4+
using System.Threading;
45
using OpenQA.Selenium;
56
using WebDriverManager;
67
using 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
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using System.Diagnostics;
2+
using System.Threading;
3+
4+
namespace IntegrationTests.BrowserTests
5+
{
6+
public static class Helper
7+
{
8+
public static void KillProcesses(string driverExe)
9+
{
10+
Thread.Sleep(1500);
11+
var driverProcesses = Process.GetProcessesByName(driverExe);
12+
foreach (var driverProcess in driverProcesses)
13+
{
14+
driverProcess.Kill();
15+
}
16+
}
17+
}
18+
}

IntegrationTests/DriverManagerTests/CustomConfigTests.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ namespace IntegrationTests.DriverManagerTests
1010
public class CustomConfigTests : IDisposable
1111
{
1212
private IWebDriver _webDriver;
13+
private string _driverExe;
1314

1415
[Fact, Trait("Category", "Browser")]
1516
protected void CustomConfigTest()
1617
{
18+
_driverExe = "chromedriver";
1719
new DriverManager().SetUpDriver(new TaobaoChromeConfig());
1820
_webDriver = new DriverCreator().Create(DriverType.Chrome);
1921
_webDriver.Navigate().GoToUrl("https://www.wikipedia.org");
@@ -30,6 +32,10 @@ public void Dispose()
3032
{
3133
Console.WriteLine(ex.Message, ex);
3234
}
35+
finally
36+
{
37+
Helper.KillProcesses(_driverExe);
38+
}
3339
}
3440
}
3541
}

IntegrationTests/DriverManagerTests/CustomServiceTests.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class CustomServiceTests: IDisposable
1313
private IWebDriver _webDriver;
1414
private readonly BinaryService _customBinaryService;
1515
private readonly VariableService _customVariableService;
16+
private string _driverExe;
1617

1718
public CustomServiceTests()
1819
{
@@ -23,6 +24,7 @@ public CustomServiceTests()
2324
[Fact, Trait("Category", "Browser")]
2425
protected void CustomServiceTest()
2526
{
27+
_driverExe = "geckodriver";
2628
new DriverManager(_customBinaryService, _customVariableService).SetUpDriver(new FirefoxConfig());
2729
_webDriver = new DriverCreator().Create(DriverType.Firefox);
2830
_webDriver.Navigate().GoToUrl("https://www.wikipedia.org");
@@ -39,6 +41,10 @@ public void Dispose()
3941
{
4042
Console.WriteLine(ex.Message, ex);
4143
}
44+
finally
45+
{
46+
Helper.KillProcesses(_driverExe);
47+
}
4248
}
4349
}
4450
}

IntegrationTests/DriverManagerTests/ManualSetupTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ public void Dispose()
4040
{
4141
Console.WriteLine(ex.Message, ex);
4242
}
43+
finally
44+
{
45+
Helper.KillProcesses(_driverName);
46+
}
4347
}
4448
}
4549
}

IntegrationTests/IntegrationTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
<Compile Include="BrowserTests\BrowserTests.cs" />
6363
<Compile Include="BrowserTests\DriverCreator.cs" />
6464
<Compile Include="BrowserTests\DriverType.cs" />
65+
<Compile Include="BrowserTests\Helper.cs" />
6566
<Compile Include="DriverDownloadTests.cs" />
6667
<Compile Include="DriverManagerTests\CustomConfigTests.cs" />
6768
<Compile Include="DriverManagerTests\ManualSetupTests.cs" />

IntegrationTests/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Reflection;
22
using System.Runtime.InteropServices;
3+
using Xunit;
34

45
// General Information about an assembly is controlled through the following
56
// set of attributes. Change these attribute values to modify the information
@@ -13,6 +14,7 @@
1314
[assembly: AssemblyCopyright("Copyright © 2016")]
1415
[assembly: AssemblyTrademark("")]
1516
[assembly: AssemblyCulture("")]
17+
[assembly: CollectionBehavior(DisableTestParallelization = true)]
1618

1719
// Setting ComVisible to false makes the types in this assembly not visible
1820
// to COM components. If you need to access a type in this assembly from

0 commit comments

Comments
 (0)