protected StepDefinitionBase(IWebDriverFactory f) { if (WebDriverManager == null) { ConfigurationSectionHandler webDriverConfig = (ConfigurationSectionHandler)ConfigurationManager.GetSection("webDriverConfig"); WebDriverManager = new WebDriverManager(webDriverConfig,f); } }
public void NavigateToWikipediaPage() { Console.WriteLine($"Open: {WikipediaSearchPageObject.VIKIPEDIA_URL}"); WebDriverManager.NavigateToUrl(WikipediaSearchPageObject.VIKIPEDIA_URL); }
public void HoverOnTransportMenuItem() { WebDriverManager.HoverOver(MainPage.TransportMenuItem); }
public virtual async Task InitializeAsync(Type?contextType = null) { contextType ??= GetType(); Task?waitForInitialization = null; lock (@lock) { if (_status == ContextStatus.Initialized) { return; } else if (_status == ContextStatus.Initializing) { waitForInitialization = _initializeEvent.ToTask((int)BarrierManager.WaitHandleTimeout.TotalMilliseconds); } else { _status = ContextStatus.Initializing; } } if (waitForInitialization != null) { await waitForInitialization; return; } DriverContextAttribute?useDriverAttr = contextType.GetCustomAttribute <DriverContextAttribute>(true); if (useDriverAttr != null) { _driverName = useDriverAttr.DriverName; _navigate = !useDriverAttr.DisableNavigation; if (useDriverAttr.WaitForBarrier) { _webDriver = await WebDriverManager.Instance.WaitForDriver(_driverName); } else { int references = useDriverAttr.MaxReference <= 0 ? GetDriverReferences(_driverName, contextType) : useDriverAttr.MaxReference; _webDriver = WebDriverManager.Instance.CreateDriver(_driverType, _driverName, references); _useDriverBarrier = true; _webDriver.Manage().Window.Maximize(); } } else { _webDriver = WebDriverManager.CreateDriver(_driverType); _webDriver.Manage().Window.Maximize(); } var barrierDefAttr = contextType.GetCustomAttribute <BarrierAttribute>(); if (barrierDefAttr != null) { _barrier = BarrierManager.Manager.GetWaitHandler(barrierDefAttr.BarrierName ?? contextType.Name); } var barriersAttr = contextType.GetCustomAttributes <WaitForBarrierAttribute>(); if (barriersAttr != null && barriersAttr.Any()) { await Task.WhenAll(barriersAttr.Select(x => BarrierManager.Manager.Wait(x.BarrierName))); } _status = ContextStatus.Initialized; _initializeEvent.Set(); }
public StepDefinition1PageObjects(WebDriverManager webDriverManager) { _webDriverManager = webDriverManager; }
public WorkPage(WebDriverManager webDriverManager) : base(webDriverManager) { PageFactory.InitElements(webDriverManager.WebDriver, this); _webDriverManager = webDriverManager; }
public void SetupInfrastructure() { IConfiguration config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables() .Build(); var configFactory = new ConfigurationFactory(config); ObjectContainer.RegisterInstanceAs(configFactory.Create <MovieLoggerConfig>()); ObjectContainer.RegisterInstanceAs(configFactory.Create <ImageLoggingConfig>()); Register(new FileManager(new DatetimeManager(() => DateTime.Now))); ImageLogging = new ImageLogging(ObjectContainer.Resolve <ImageLoggingConfig>()); MovieLogger = new MovieLogger(FileManager, ObjectContainer.Resolve <MovieLoggerConfig>(), Metadata); ObjectContainer.RegisterInstanceAs(ImageLogging); ObjectContainer.RegisterInstanceAs(MovieLogger); var logger = new DefaultLogger(new DirectoryInfo(Environment.CurrentDirectory)); Register((PossumLabs.Specflow.Core.Logging.ILog)logger); Register <ElementFactory>(new ElementFactory()); Register <XpathProvider>(new XpathProvider()); Register <SelectorFactory>(new SelectorFactory(ElementFactory, XpathProvider).UseBootstrap()); Register(new PossumLabs.Specflow.Selenium.WebDriverManager( this.Interpeter, this.ObjectFactory, new SeleniumGridConfiguration())); FileManager.Initialize(FeatureContext.FeatureInfo.Title, ScenarioContext.ScenarioInfo.Title, null /*Specflow limitation*/); var templateManager = new PossumLabs.Specflow.Core.Variables.TemplateManager(); templateManager.Initialize(Assembly.GetExecutingAssembly()); Register(templateManager); Log.Message($"feature: {FeatureContext.FeatureInfo.Title} scenario: {ScenarioContext.ScenarioInfo.Title} \n" + $"Tags: {FeatureContext.FeatureInfo.Tags.LogFormat()} {ScenarioContext.ScenarioInfo.Tags.LogFormat()}"); System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); WebDriverManager.Initialize(BuildDriver); WebDriverManager.WebDriverFactory = () => { var options = new ChromeOptions(); // https://stackoverflow.com/questions/22322596/selenium-error-the-http-request-to-the-remote-webdriver-timed-out-after-60-sec?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa options.AddArgument("no-sandbox"); //might be a fix :/ options.AddArgument("disable-popup-blocking"); options.AddArgument("disable-gpu"); options.AddArgument("disable-extensions"); options.AddArgument("disable-dev-shm-usage"); options.AddAdditionalCapability("username", WebDriverManager.SeleniumGridConfiguration.Username, true); options.AddAdditionalCapability("accessKey", WebDriverManager.SeleniumGridConfiguration.AccessKey, true); //TODO: Config value var driver = new RemoteWebDriver(new Uri(WebDriverManager.SeleniumGridConfiguration.Url), options.ToCapabilities(), TimeSpan.FromSeconds(180)); //do not change this, the site is a bloody nightmare with overlaying buttons etc. driver.Manage().Window.Size = WebDriverManager.DefaultSize; var allowsDetection = driver as IAllowsFileDetection; if (allowsDetection != null) { allowsDetection.FileDetector = new LocalFileDetector(); } return(driver); }; }
public void TearDown() { WebDriverManager.QuitDriver(driver); }
public static void ClickOnAlreadyHaveAccountLink(IWebDriver driver) { WebDriverManager.GetElementByLinkText(driver, Returntologinlink).Click(); WebDriverManager.WaitUntilNextPageIsLoaded(driver, Url); }
public void CreateAccountWithInValidCredentials() { CreateAccountPage.CreateAccount(driver, CreateAccountPage.GetRandomEmail("Invalid"), CreateAccountPage.GetRandomPassword(6)); WebDriverManager.WaitForElementById(driver, CreateAccountPage.CreateAccountErrorMessage); Assert.IsTrue(WebDriverManager.IsElementPresent(driver, CreateAccountPage.CreateAccountErrorMessage)); }
public void ReturnToLoginPage() { CreateAccountPage.ClickOnAlreadyHaveAccountLink(driver); Assert.IsTrue(WebDriverManager.CurrentUrl(driver).Equals(LoginPage.Url)); }
public void CreateAccountWithValidCredentials() { CreateAccountPage.CreateAccount(driver, CreateAccountPage.GetRandomEmail("Valid"), CreateAccountPage.GetRandomPassword(6)); Assert.IsTrue(WebDriverManager.CurrentUrl(driver).Equals(SellCarPage.Url)); }
public void Setup() { driver = WebDriverManager.InitializeDriver(); WebDriverManager.NavigateToPage(driver, CreateAccountPage.Url); }
public HomePage(WebDriverManager webDriverManager) { PageFactory.InitElements(webDriverManager.WebDriver, this); _webDriverManager = webDriverManager; }
public static void Open(String url) { WebDriverManager.GetWebDriver().Navigate().GoToUrl(url); }
public BaseSteps(IWebDriver driver) { Driver = driver; WebDriverManager = (WebDriverManager)ScenarioContext[DriverContextName]; }
public static void Close() { WebDriverManager.CloseWebDriver(); }
public static void TearDownHook() { WebDriverManager.StopBrowser(); }
public virtual string Switch() { return(WebDriverManager.CurrentSwitchTo(this.FramePath)); }
public void Test1() { WebDriverManager.CloseDriver(); }