Files
Berufsschule_HAM/tests/Berufsschule_HAM.E2ETests/HomePageTests.cs

52 lines
1.5 KiB
C#

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<Process> 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();
}
}