新しいシナリオを作成している間、現在作業しているシナリオのみをテストしたいと考えています。Meta: @skip
この目的のために、シナリオの前にタグを使用したいと考えています。を使用して、使用されているメタ タグを構成する必要があることがわかったembedder
ので、次のことを試しました。
configuredEmbedder().useMetaFilters(Arrays.asList("-skip"));
しかし実際には、これはまだ私のテスト シナリオには影響しません。SerenityStories
テスト スイート定義のコンストラクターで使用しました。このクラスの完全なコードは次のとおりです。
public class AcceptanceTestSuite extends SerenityStories {
@Managed
WebDriver driver;
public AcceptanceTestSuite() {
System.setProperty("webdriver.chrome.driver", "D:/files/chromedriver/chromedriver.exe");
System.setProperty("chrome.switches", "--lang=en");
System.setProperty("restart.browser.each.scenario", "true");
configuredEmbedder().useMetaFilters(Arrays.asList("-skip"));
runSerenity().withDriver("chrome");
}
@Override
public Configuration configuration() {
Configuration configuration = super.configuration();
Keywords keywords = new LocalizedKeywords(DEFAULTSTORYLANGUAGE);
Properties properties = configuration.storyReporterBuilder().viewResources();
properties.setProperty("encoding", "UTF-8");
configuration.useKeywords(keywords)
.useStoryParser(new RegexStoryParser(keywords, new ExamplesTableFactory(new LoadFromClasspath(this.getClass()))))
.useStoryLoader(new UTF8StoryLoader()).useStepCollector(new MarkUnmatchedStepsAsPending(keywords))
.useDefaultStoryReporter(new ConsoleOutput(keywords)).storyReporterBuilder().withKeywords(keywords).withViewResources(properties);
return configuration;
}
}
これは間違った場所ですか、それとも何か見逃していますか? それでもすべてのシナリオが実行されます。
編集:
次のクラスを変更しましたが、「機能する」と思います
public AcceptanceTestSuite() {
System.setProperty("webdriver.chrome.driver", "D:/files/chromedriver/chromedriver.exe");
System.setProperty("chrome.switches", "--lang=de");
System.setProperty("restart.browser.each.scenario", "true");
this.useEmbedder(configuredEmbedder());
runSerenity().withDriver("chrome");
}
@Override
public Embedder configuredEmbedder() {
final Embedder embedder = new Embedder();
embedder.embedderControls()
.useThreads(1)
.doGenerateViewAfterStories(true)
.doIgnoreFailureInStories(false)
.doIgnoreFailureInView(false)
.doVerboseFailures(true);
final Configuration configuration = configuration();
embedder.useConfiguration(configuration);
embedder.useStepsFactory(stepsFactory());
embedder.useMetaFilters(Arrays.asList("-skip"));
return embedder;
}
しかし、メッセージは表示 されます[pool-1-thread-1] INFO net.serenitybdd.core.Serenity - TEST IGNORED
が、シナリオはまだ実行されています。結果ページでのみ、このシナリオが無視される (ただし実行される) という情報が表示されます。シナリオが実行されないようにスキップする方法はありますか?