Как сделать снимок экрана для исключения в селене c # - PullRequest
0 голосов
/ 19 октября 2018

Я создал функцию для снимка экрана, и она работает, но я хочу сделать снимок экрана для любого исключения, и ниже приведен код:

c #

public static void SnapSreenshot()
{
    PalV3.wait(20);
    path = @"E:\Accounts\Screenshot\";
    string timeanddate = System.DateTime.Now.ToString("dd_mm_yyy hh.mm.ss");
    DirectoryInfo DirectPath = new DirectoryInfo(path);
    if(DirectPath.Exists)
    {
        Screenshot ss = ((ITakesScreenshot)BasePage.cd).GetScreenshot();
        ss.SaveAsFile(path+timeanddate.ToString(), ScreenshotImageFormat.Jpeg);
    }
    else
    {
        DirectPath.Create();
        Screenshot ss = ((ITakesScreenshot)BasePage.cd).GetScreenshot();
        ss.SaveAsFile(path + timeanddate.ToString(), ScreenshotImageFormat.Jpeg);
    }
}

1 Ответ

0 голосов
/ 19 октября 2018

Если вы пытаетесь сделать снимок экрана при неудачном тестировании, то вы хотите подключиться к какому-либо сценарию после сценария или разрушить блок.

Используя specflow / selenium, есть метод AfterScenario (), который можно использовать.Вы могли бы написать что-то вроде -

[AfterScenario()]
    public void TearDown()
    {
        if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
        {
            SnapSreenshot();
        }
    }

Очевидно, что если вы используете другие тестовые среды, вам может понадобиться использовать разные имена методов, однако я думаю, что общий принцип тот же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...