public async Task Setup() { ConfigurationHelper.Initialise(TestContext.CurrentContext.TestDirectory); DbHelper.ClearDb(); IdentityHelpers.ClearAll(); //todo: allow other actors (types of provider) //var providerActor = (ProviderActor)TestContext.CurrentContext.Test.Arguments.GetValue(0); var provider = Actors.Provider.Create(); await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); var launchOptions = new LaunchOptions { Headless = false, IgnoreHTTPSErrors = true, //SlowMo = 10 }; Console.WriteLine("Launching browser..."); Browser = await Puppeteer.LaunchAsync(launchOptions); var context = Browser.DefaultContext; Page = await context.NewPageAsync(); var url = LaunchPage.Url.Replace("{providerId}", provider.ProviderId.ToString()); Console.WriteLine($"Opening {url}"); var response = await Page.GoToAsync(url); //Realm selection await Page.ClickOn(LaunchPage.Realm); await Page.WaitForNavigationAsync(); await Page.TypeInputAsync(LaunchPage.Username, provider.Username); await Page.TypeInputAsync(LaunchPage.Password, provider.Password); Console.Write("Signing in... "); await Page.Keyboard.DownAsync("Enter"); //hit enter, rather than click button await Page.WaitForSelectorAsync(".govuk-header"); //await Page.WaitForNavigationAsync(); Console.WriteLine("Complete"); }
static void Main(string[] args) { ConfigurationHelper.Initialise(Directory.GetCurrentDirectory()); System.Console.ForegroundColor = ConsoleColor.Cyan; System.Console.WriteLine("Commitments Test Data Generator"); System.Console.WriteLine(); System.Console.ForegroundColor = ConsoleColor.White; var scenarios = Scenarios.GetScenarios(); while (true) { var count = 0; foreach (var scenario in scenarios) { System.Console.WriteLine($"{count}: {scenario.Title}"); count++; } System.Console.WriteLine(); System.Console.Write("Select scenario (enter quits): "); var stringInput = System.Console.ReadLine(); if (string.IsNullOrWhiteSpace(stringInput)) { break; } var input = Convert.ToInt32(stringInput); var selected = scenarios[input]; DbHelper.ClearDb(); IdentityHelpers.ClearAll(); selected.Action.Invoke(); System.Console.ForegroundColor = ConsoleColor.Green; System.Console.WriteLine("Scenario created"); System.Console.WriteLine(); System.Console.ForegroundColor = ConsoleColor.White; System.Console.WriteLine("Press a key..."); System.Console.ReadKey(); System.Console.WriteLine(); } }
public async Task Setup() { ConfigurationHelper.Initialise(TestContext.CurrentContext.TestDirectory); DbHelper.ClearDb(); IdentityHelpers.ClearAll(); var employerActor = (EmployerActor)TestContext.CurrentContext.Test.Arguments.GetValue(0); var employer = Actors.Employer.Create(employerActor); await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); var launchOptions = new LaunchOptions { Headless = false, IgnoreHTTPSErrors = true, //SlowMo = 10 }; Console.WriteLine("Launching browser..."); Browser = await Puppeteer.LaunchAsync(launchOptions); var context = Browser.DefaultContext; Page = await context.NewPageAsync(); var url = LaunchPage.Url.Replace("{accountId}", employer.EncodedAccountId); Console.WriteLine($"Opening {url}"); var response = await Page.GoToAsync(url); await Page.TypeInputAsync(LaunchPage.EmailAddress, employer.Username); await Page.TypeInputAsync(LaunchPage.Password, employer.Password); Console.Write("Signing in... "); await Page.ClickOn(LaunchPage.SignIn); await Page.WaitForNavigationAsync(); Console.WriteLine("Complete"); }