The SauceLabsSection Configuration Section.
Inheritance: global::System.Configuration.ConfigurationSection
        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;
 }