using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System.Diagnostics; namespace Berufsschule_HAM.E2ETests; public class HomePageTests : IDisposable { private readonly ChromeDriver _driver; public string serverUrl; public Process serverProcess; public HomePageTests() { serverUrl = "http://localhost:5275"; Task app = Helper.AppHelper.StartApp(serverUrl); var options = new ChromeOptions(); //options.AddArgument("--headless"); _driver = new ChromeDriver(options); serverProcess = app.Result; } [Fact] public void HomePage_ShouldShowLoginPage() { _driver.Navigate().GoToUrl(serverUrl); IWebElement loginForm = _driver.FindElement(By.CssSelector("form[action=\"/Home/Login\"]")); Assert.True(loginForm.Displayed); } [Fact] public void HomePage_ShouldSucceedLogin() { _driver.Navigate().GoToUrl(serverUrl); IWebElement username = _driver.FindElement(By.Id("username")); username.SendKeys("admin"); IWebElement password = _driver.FindElement(By.Id("password")); password.SendKeys("Test1234."); IWebElement submit = _driver.FindElement(By.CssSelector("button[type=\"submit\"]")); submit.Click(); Thread.Sleep(250); Assert.Contains("/Home/Index", _driver.Url); } public void Dispose() { _driver.Quit(); serverProcess.Kill(); } }