mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Replaced RetryFact with xRetry's RetryFact
This commit is contained in:
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
|||||||
using OpenQA.Selenium.Chrome;
|
using OpenQA.Selenium.Chrome;
|
||||||
using OpenQA.Selenium.Support.Extensions;
|
using OpenQA.Selenium.Support.Extensions;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using xRetry;
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
namespace Berufsschule_HAM.E2ETests;
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
<PackageReference Include="xRetry" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Using Include="Xunit" />
|
<Using Include="Xunit" />
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using OpenQA.Selenium;
|
using OpenQA.Selenium;
|
||||||
using OpenQA.Selenium.Chrome;
|
using OpenQA.Selenium.Chrome;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using xRetry;
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
namespace Berufsschule_HAM.E2ETests;
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
|||||||
using OpenQA.Selenium.Chrome;
|
using OpenQA.Selenium.Chrome;
|
||||||
using SeleniumExtras.WaitHelpers;
|
using SeleniumExtras.WaitHelpers;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using xRetry;
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
namespace Berufsschule_HAM.E2ETests;
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
|||||||
using OpenQA.Selenium.Chrome;
|
using OpenQA.Selenium.Chrome;
|
||||||
using SeleniumExtras.WaitHelpers;
|
using SeleniumExtras.WaitHelpers;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using xRetry;
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
namespace Berufsschule_HAM.E2ETests;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using OpenQA.Selenium;
|
using OpenQA.Selenium;
|
||||||
using OpenQA.Selenium.Chrome;
|
using OpenQA.Selenium.Chrome;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using xRetry;
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
namespace Berufsschule_HAM.E2ETests;
|
||||||
|
|
||||||
|
|||||||
@@ -1,79 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Xunit;
|
|
||||||
using Xunit.Abstractions;
|
|
||||||
using Xunit.Sdk;
|
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
|
||||||
|
|
||||||
public class RetryFactAttribute(int maxRetries = 5) : FactAttribute
|
|
||||||
{
|
|
||||||
public int MaxRetries { get; } = maxRetries;
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RetryTestCase : XunitTestCase
|
|
||||||
{
|
|
||||||
private int _maxRetries;
|
|
||||||
|
|
||||||
[Obsolete("Called by the de-serializer", true)]
|
|
||||||
public RetryTestCase() { }
|
|
||||||
|
|
||||||
public RetryTestCase(
|
|
||||||
IMessageSink diagnosticMessageSink,
|
|
||||||
TestMethodDisplay defaultMethodDisplay,
|
|
||||||
TestMethodDisplayOptions defaultMethodDisplayOptions,
|
|
||||||
ITestMethod testMethod,
|
|
||||||
int maxRetries)
|
|
||||||
: base(diagnosticMessageSink, defaultMethodDisplay, defaultMethodDisplayOptions, testMethod)
|
|
||||||
{
|
|
||||||
_maxRetries = maxRetries;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async Task<RunSummary> RunAsync(
|
|
||||||
IMessageSink diagnosticMessageSink,
|
|
||||||
IMessageBus messageBus,
|
|
||||||
object[] constructorArguments,
|
|
||||||
ExceptionAggregator aggregator,
|
|
||||||
CancellationTokenSource cancellationTokenSource)
|
|
||||||
{
|
|
||||||
var summary = new RunSummary();
|
|
||||||
|
|
||||||
for (int i = 1; i <= _maxRetries; i++)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var result = await base.RunAsync(
|
|
||||||
diagnosticMessageSink, messageBus, constructorArguments, aggregator, cancellationTokenSource);
|
|
||||||
|
|
||||||
summary.Aggregate(result);
|
|
||||||
|
|
||||||
if (result.Failed == 0)
|
|
||||||
break; // success, stop retrying
|
|
||||||
} catch (Exception) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
return summary;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RetryFactDiscoverer : IXunitTestCaseDiscoverer
|
|
||||||
{
|
|
||||||
private readonly IMessageSink _diagnosticMessageSink;
|
|
||||||
|
|
||||||
public RetryFactDiscoverer(IMessageSink diagnosticMessageSink)
|
|
||||||
{
|
|
||||||
_diagnosticMessageSink = diagnosticMessageSink;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<IXunitTestCase> Discover(ITestFrameworkDiscoveryOptions discoveryOptions,
|
|
||||||
ITestMethod testMethod,
|
|
||||||
IAttributeInfo factAttribute)
|
|
||||||
{
|
|
||||||
var maxRetries = factAttribute.GetNamedArgument<int>("MaxRetries");
|
|
||||||
yield return new RetryTestCase(
|
|
||||||
_diagnosticMessageSink,
|
|
||||||
discoveryOptions.MethodDisplayOrDefault(),
|
|
||||||
discoveryOptions.MethodDisplayOptionsOrDefault(),
|
|
||||||
testMethod,
|
|
||||||
maxRetries);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,6 +3,7 @@ using OpenQA.Selenium;
|
|||||||
using OpenQA.Selenium.Chrome;
|
using OpenQA.Selenium.Chrome;
|
||||||
using OpenQA.Selenium.Support.Extensions;
|
using OpenQA.Selenium.Support.Extensions;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using xRetry;
|
||||||
|
|
||||||
namespace Berufsschule_HAM.E2ETests;
|
namespace Berufsschule_HAM.E2ETests;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user