Skip to content

Commit 571f0cb

Browse files
author
Alexander Rosolko
committed
Initial browsers tests
1 parent e899f06 commit 571f0cb

File tree

5 files changed

+122
-0
lines changed

5 files changed

+122
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
using System;
2+
using System.Collections;
3+
using System.Collections.Generic;
4+
using OpenQA.Selenium;
5+
using WebDriverManager;
6+
using WebDriverManager.DriverConfigs;
7+
using WebDriverManager.DriverConfigs.Impl;
8+
using Xunit;
9+
10+
namespace IntegrationTests.BrowserTests
11+
{
12+
public class BrowserData : IEnumerable<object[]>
13+
{
14+
private readonly List<object[]> _data = new List<object[]>
15+
{
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 IEConfig(), DriverType.IE},
20+
new object[] {new OperaConfig(), DriverType.Opera},
21+
new object[] {new PhantomConfig(), DriverType.Phantom}
22+
};
23+
24+
public IEnumerator<object[]> GetEnumerator()
25+
{
26+
return _data.GetEnumerator();
27+
}
28+
29+
IEnumerator IEnumerable.GetEnumerator()
30+
{
31+
return GetEnumerator();
32+
}
33+
}
34+
35+
public class BrowserTests : IDisposable
36+
{
37+
private IWebDriver _webDriver;
38+
39+
[Theory, ClassData(typeof(BrowserData))]
40+
protected void VersionTest(IDriverConfig driverConfig, DriverType driverType)
41+
{
42+
new DriverManager().SetUpDriver(driverConfig);
43+
_webDriver = new DriverCreator().Create(driverType);
44+
_webDriver.Navigate().GoToUrl("https://www.google.com/ncr");
45+
Assert.True(_webDriver.Title.Contains("Google"));
46+
}
47+
48+
public void Dispose()
49+
{
50+
_webDriver.Quit();
51+
}
52+
}
53+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
using System;
2+
using OpenQA.Selenium;
3+
using OpenQA.Selenium.Chrome;
4+
using OpenQA.Selenium.Edge;
5+
using OpenQA.Selenium.Firefox;
6+
using OpenQA.Selenium.IE;
7+
using OpenQA.Selenium.Opera;
8+
using OpenQA.Selenium.PhantomJS;
9+
10+
namespace IntegrationTests.BrowserTests
11+
{
12+
public class DriverCreator
13+
{
14+
public IWebDriver Create(DriverType driverType)
15+
{
16+
switch (driverType)
17+
{
18+
case DriverType.Chrome:
19+
{
20+
return new ChromeDriver();
21+
}
22+
case DriverType.Edge:
23+
{
24+
return new EdgeDriver();
25+
}
26+
case DriverType.Firefox:
27+
{
28+
return new FirefoxDriver();
29+
}
30+
case DriverType.IE:
31+
{
32+
return new InternetExplorerDriver();
33+
}
34+
case DriverType.Opera:
35+
{
36+
return new OperaDriver();
37+
}
38+
case DriverType.Phantom:
39+
{
40+
return new PhantomJSDriver();
41+
}
42+
default:
43+
{
44+
throw new ArgumentOutOfRangeException(nameof(driverType), driverType, null);
45+
}
46+
}
47+
}
48+
}
49+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace IntegrationTests.BrowserTests
2+
{
3+
public enum DriverType
4+
{
5+
Chrome,
6+
Edge,
7+
Firefox,
8+
IE,
9+
Opera,
10+
Phantom
11+
}
12+
}

IntegrationTests/IntegrationTests.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
<HintPath>..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll</HintPath>
4141
</Reference>
4242
<Reference Include="System.Xml" />
43+
<Reference Include="WebDriver, Version=3.2.0.0, Culture=neutral, PublicKeyToken=null">
44+
<HintPath>..\packages\Selenium.WebDriver.3.2.0\lib\net40\WebDriver.dll</HintPath>
45+
</Reference>
4346
<Reference Include="xunit.abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c">
4447
<HintPath>..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll</HintPath>
4548
</Reference>
@@ -55,6 +58,9 @@
5558
</ItemGroup>
5659
<ItemGroup>
5760
<Compile Include="BinaryServiceTests.cs" />
61+
<Compile Include="BrowserTests\BrowserTests.cs" />
62+
<Compile Include="BrowserTests\DriverCreator.cs" />
63+
<Compile Include="BrowserTests\DriverType.cs" />
5864
<Compile Include="Properties\AssemblyInfo.cs" />
5965
<Compile Include="VariableServiceTests.cs" />
6066
<Compile Include="VersionTests.cs" />
@@ -75,6 +81,7 @@
7581
<Content Include="Assets\unzipable.zip">
7682
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
7783
</Content>
84+
<Content Include="packages.config" />
7885
</ItemGroup>
7986
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
8087
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

IntegrationTests/packages.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3+
<package id="Selenium.WebDriver" version="3.2.0" targetFramework="net45" />
34
<package id="xunit" version="2.1.0" targetFramework="net45" />
45
<package id="xunit.abstractions" version="2.0.0" targetFramework="net45" />
56
<package id="xunit.assert" version="2.1.0" targetFramework="net45" />

0 commit comments

Comments
 (0)