public void SetTestClass(TestClassGenerationContext generationContext, string featureTitle, string featureDescription) { this.codeDomHelper.AddAttribute(generationContext.TestClass, TestfixtureAttr); this.codeDomHelper.AddAttribute(generationContext.TestClass, DescriptionAttr, featureTitle); if (generationContext.Feature.Tags != null) { this.enableSauceLabs = generationContext.Feature.Tags.Any(x => x.Name == "EnableSauceLabs"); } if (this.enableSauceLabs) { this.sauceLabSettings = this.GetSauceLabsConfiguration(); generationContext.Namespace.Imports.Add(new CodeNamespaceImport("Endjin.Selenium.SpecFlowPlugin")); generationContext.TestClass.Members.Add(new CodeMemberField("Endjin.Selenium.SpecFlowPlugin.RemoteWebDriver", "driver")); generationContext.TestClass.Members.Add(new CodeMemberField("Endjin.Selenium.SpecFlowPlugin.SauceRest", "sauceRest")); CreateInitializeSeleniumMethod(generationContext); CreateInitializeSeleniumOverloadMethod(generationContext); CreateUpdateSauceLabsStatusMethod(generationContext); UpdateSauceLabsStatus(generationContext); CleanUpSeleniumContext(generationContext); } }
public void FinalizeTestClass(TestClassGenerationContext generationContext) { this.projectSettings = null; this.enableSauceLabs = false; this.scenarioSetupMethodsAdded = false; this.sauceLabSettings = null; }