test(BRIDGE-136): Download Bridge

This commit is contained in:
Gjorgji Slamkov
2025-08-15 09:25:10 +02:00
committed by Gordana Zafirova
parent cf9b35163a
commit fd709b0d08
21 changed files with 697 additions and 130 deletions

View File

@ -0,0 +1,24 @@
using FlaUI.Core.Capturing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
namespace ProtonMailBridge.UI.Tests.TestsHelper
{
internal class DebugTests
{
public void TakeScreenshot()
{
string testName = TestContext.CurrentContext.Test.Name;
string Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
string ScreenshotName = "Screenshot_" + testName + "_" + Timestamp + ".png";
string Query = "%CI_PROJECT_DIR%\\tests\\e2e\\ui_tests\\windows_os\\Results\\artifacts\\Screenshots\\" + ScreenshotName;
string ScreenshotLocation = Environment.ExpandEnvironmentVariables(Query);
var ScreenshotFile = Capture.Screen();
ScreenshotFile.ToFile(ScreenshotLocation);
}
}
}

View File

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
namespace ProtonMailBridge.UI.Tests.TestsHelper
{
public class RetryHelper
{
public static void Eventually(Func<bool> condition, int retries = 10, int delaySeconds = 5)
{
for (int i = 0; i < retries; i++)
{
if (condition()) return;
Thread.Sleep(TimeSpan.FromSeconds(delaySeconds));
}
Assert.Fail();
}
public static void EventuallyAction(Action action, int retries = 20, int delaySeconds = 2)
{
Exception? lastException = null;
for (int i = 0; i < retries; i++)
{
try
{
action();
return;
} catch (Exception e)
{
lastException = e;
Thread.Sleep(TimeSpan.FromSeconds(delaySeconds));
}
}
throw new Exception("Eventually failed after retries", lastException);
}
}
}