Я не могу настроить правильный способ прикрепить скриншот к TestResult, если выполнение теста не удается
Каркас настроен с Visual Studio 2015, Selenium v3.141.0.
На этом этапе я попытался передать TestContext в качестве аргумента EventFiringWebDriver, поэтому я могу прикрепить снимок экрана с событием EventFiringWebDriver.ExceptionThrown
Однако я не являюсьлюбил передавать TestContext, потому что структура разделена между сборкой Selenium, содержащей все объекты страницы, и сборкой Tests, содержащей все тестовые случаи
TestBase.cs
[TestInitialize]
public void TestInitBase()
{
SeleniumHelper = new HelperSelenium(TestContext);
}
HelperSelenium.cs
public HelperSelenium(TestContext testContext)
{
Id = int.Parse(testContext.Properties["colegio"].ToString());
WebDriver = new WebDriverSelector(testContext);
...
}
WebDriverSelector.cs
public WebDriverSelector(TestContext tc)
{
testContext = tc;
...
var firingWebDriver = new EventListeners(remoteDriver, testContext).GetWebDriver();
...
EventListeners.cs
public EventListeners(IWebDriver driver, TestContext testContext)
{
...
private static void UploadScreenShot()
{
Screenshot ss = c.GetScreenshot();
string path = Directory.GetCurrentDirectory() + "\\" +
TestContext.TestName + "_" +
contador + ".png";
ss.SaveAsFile(path, ScreenshotImageFormat.Png);
TestContext.AddResultFile(path);
}
Я бы хотел пропустить передачу TestContext из одногокласс другому, однако я не могу придумать, как на самом деле реализовать его