Skip to content

Commit f2d61c2

Browse files
committed
Add support of legacy (non chromium) edge
1 parent a9ea3fa commit f2d61c2

File tree

5 files changed

+67
-6
lines changed

5 files changed

+67
-6
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using System.Text.RegularExpressions;
2+
using WebDriverManager.DriverConfigs.Impl;
3+
using Xunit;
4+
5+
namespace WebDriverManager.Tests
6+
{
7+
public class LegacyEdgeConfigTests : LegacyEdgeConfig
8+
{
9+
[Fact]
10+
public void VersionTest()
11+
{
12+
var version = GetLatestVersion();
13+
var regex = new Regex(@"^\d+\.\d+$");
14+
Assert.NotEmpty(version);
15+
Assert.Matches(regex, version);
16+
}
17+
18+
[Fact]
19+
public void DriverDownloadTest()
20+
{
21+
new DriverManager().SetUpDriver(new LegacyEdgeConfig());
22+
Assert.NotEmpty(WebDriverFinder.FindFile(GetBinaryName()));
23+
}
24+
}
25+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
namespace WebDriverManager.DriverConfigs.Impl
2+
{
3+
public class LegacyEdgeConfig : IDriverConfig
4+
{
5+
public virtual string GetName()
6+
{
7+
return "Edge";
8+
}
9+
10+
public virtual string GetUrl32()
11+
{
12+
return
13+
"https://download.microsoft.com/download/F/8/A/F8AF50AB-3C3A-4BC4-8773-DC27B32988DD/MicrosoftWebDriver.exe";
14+
}
15+
16+
public virtual string GetUrl64()
17+
{
18+
return GetUrl32();
19+
}
20+
21+
public virtual string GetBinaryName()
22+
{
23+
return "MicrosoftWebDriver.exe";
24+
}
25+
26+
public virtual string GetLatestVersion()
27+
{
28+
return "6.17134";
29+
}
30+
}
31+
}

WebDriverManager/Services/Impl/BinaryService.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ public string SetupBinary(string url, string zipDestination, string binDestinati
1818
FileHelper.CreateDestinationDirectory(zipDestination);
1919
zipDestination = DownloadZip(url, zipDestination);
2020
FileHelper.CreateDestinationDirectory(binDestination);
21-
if (!zipDestination.EndsWith(".exe", StringComparison.OrdinalIgnoreCase))
21+
22+
if (zipDestination.EndsWith(".exe", StringComparison.OrdinalIgnoreCase))
23+
{
24+
File.Copy(zipDestination, binDestination);
25+
}
26+
else
2227
{
23-
binDestination = UnZip(zipDestination, binDestination, binaryName);
28+
UnZip(zipDestination, binDestination, binaryName);
2429
}
25-
30+
2631
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ||
2732
RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
2833
{

WebDriverManager/WebDriverManager.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
6-
<PackageVersion>2.6.0</PackageVersion>
6+
<PackageVersion>2.7.0</PackageVersion>
77
<Title>WebDriverManager.Net</Title>
88
<Description>Automatic Selenium WebDriver binaries management for .Net</Description>
99
<Copyright>© 2016-2019, Aliaksandr Rasolka. All Rights Reserved.</Copyright>
@@ -12,7 +12,7 @@
1212
<RepositoryUrl>https://github.com/rosolko/WebDriverManager.Net</RepositoryUrl>
1313
<RepositoryType>git</RepositoryType>
1414
<PackageTags>Selenium WebDriver ChromeDriver EdgeDriver InternetExplorerDriver MarionetteDriver OperaDriver PhantomJsDriver</PackageTags>
15-
<PackageReleaseNotes>Correctly get lavetst edge version </PackageReleaseNotes>
15+
<PackageReleaseNotes>Add support of legacy (non chromium) edge</PackageReleaseNotes>
1616
</PropertyGroup>
1717

1818
<ItemGroup>

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: '{build}'
33
image: Visual Studio 2017
44

55
environment:
6-
LIBRARY_VERSION: '2.6.0'
6+
LIBRARY_VERSION: '2.7.0'
77
SONAR_LOGIN:
88
secure: JNopXLZtkO5PD8yEj2+W1BZnbhq9oegXmTFgvVWQw67z5PtWwd+ngjv5O7xFetCZ
99

0 commit comments

Comments
 (0)