Запустите BeforeTestRun и AfterTestRun только один раз, используя specflow с Selenium.

Я видел вопрос здесь Как выполнить до и после запуска теста только один раз при параллельном выполнении specflow - хотя я не могу понять, как запускать хуки только один раз параллельно

Я использую Specflow+ Runner в качестве поставщика тестов, количество потоков равно 3, у меня есть хук BeforeTestRun, который создает мои тестовые данные, я хочу выполнить этот хук только один раз, но по умолчанию BeforeTestRun запускается в каждом потоке, я также посмотрел в примере здесь: https://github.com/SpecFlowOSS/SpecFlow.Plus.Examples/tree/master/CustomDeploymentSteps,

Но я не уверен, как это работает, может ли кто-нибудь помочь мне в этом.

[BeforeTestRun()]
public static void BeforeTestRun()
{
    Console.WriteLine("test");
}

Выход:

test
test
test

Мой профиль Default.sr выглядит так

<?xml version="1.0" encoding="utf-8"?>
<TestProfile xmlns="http://www.specflow.org/schemas/plus/TestProfile/1.5">
    <Settings projectName="TestAutoProject" />
    <Execution stopAfterFailures="2" testThreadCount="3" testSchedulingMode="Sequential" />
    <TestAssemblyPaths>
        <TestAssemblyPath>Test.dll</TestAssemblyPath>
    </TestAssemblyPaths>
    <Targets>
        <Target name="IE">
            <Filter>Browser_IE</Filter>
            <DeploymentTransformationSteps>
                <EnvironmentVariable variable="Test_Browser" value="IE" />
            </DeploymentTransformationSteps>
        </Target>
        <Target name="Chrome">
            <Filter>Browser_Chrome</Filter>
            <DeploymentTransformationSteps>
                <EnvironmentVariable variable="Test_Browser" value="Chrome" />
            </DeploymentTransformationSteps>
        </Target>
        <Target name="Firefox">
            <Filter>Browser_Firefox</Filter>
            <DeploymentTransformationSteps>
                <EnvironmentVariable variable="Test_Browser" value="Firefox" />
            </DeploymentTransformationSteps>
        </Target>
    </Targets>
    <DeploymentTransformation>
        <Steps></Steps>
    </DeploymentTransformation>
</TestProfile>

person AutoTester213    schedule 17.06.2020    source источник
comment
Что вы хотите делать один раз для каждого TestRun? Кроме того, в какой части вы не уверены в шагах пользовательского развертывания?   -  person Andreas Willich    schedule 17.06.2020
comment
@AndreasWillich Я хочу создать некоторые предварительные тестовые данные в моем TestRun в начале, я не уверен, что / где ссылаться на этапы развертывания, я вижу «DeployTransformation», я думаю, мы должны поместить его туда, но не уверен, что это метод/класс, на который мне нужно ссылаться?   -  person AutoTester213    schedule 17.06.2020
comment
Ваш пользовательский шаг развертывания должен находиться в отдельной библиотеке классов (github .com/SpecFlowOSS/SpecFlow.Plus.Examples/tree/master/). Затем вы можете указать в srProfile этот шаг. Вот так: github.com/SpecFlowOSS /SpecFlow.Plus.Examples/blob/master/ Разве это не ясно из примера? Пожалуйста, дайте мне знать, что я могу написать это лучше.   -  person Andreas Willich    schedule 17.07.2020