using OpenQA.Selenium.Appium.Windows; namespace Tests.E2ETests { public class MemberAdminWindowTest : TestBase { public WindowsDriver Session { get; private set; } [OneTimeSetUp] public void ClassSetUp() { Setup(); AppSession.FindElementByName("Mitglieder").Click(); Thread.Sleep(1000); Session = CreateWindowDriver("MemberAdminWindow"); } [SetUp] public void TestSetUp() { } [OneTimeTearDown] public void ClassTearDown() { if (Session != null) { Session.Close(); Session.Quit(); Session = null; } TearDown(); StopWinappDriver(); } [TearDown] public void TestTearDown() { Session.FindElementByAccessibilityId("SearchInput").Clear(); Thread.Sleep(1000); } [Test, Order(1)] public void CreateMember() { Session.FindElementByAccessibilityId("NewMemberButton").Click(); var mgnr = Session.FindElementByAccessibilityId("MgNrInput").Text; //TODO: Fixe MGNR verwenden Session.FindElementByAccessibilityId("GivenNameInput").SendKeys("Max"); Session.FindElementByAccessibilityId("FamilyNameInput").SendKeys("Mustermann"); Session.FindElementByAccessibilityId("PrefixInput").SendKeys("Ing."); Session.FindElementByAccessibilityId("SuffixInput").SendKeys("jun."); Session.FindElementByAccessibilityId("BirthdayInput").SendKeys("1987"); Session.FindElementByAccessibilityId("AddressInput").SendKeys("Musterstraße 9"); Session.FindElementByAccessibilityId("PlzInput").SendKeys("2120"); ClickComboBoxByCount(Session, "OrtInput", 1); Session.FindElementByAccessibilityId("EmailAddress1Input").SendKeys("max.mustermann@aon.at"); Session.FindElementByAccessibilityId("EmailAddress2Input").SendKeys("erika.mustermann@aon.at"); ClickComboBoxByCount(Session, "PhoneNr1TypeInput", 1); Session.FindElementByAccessibilityId("PhoneNr1Input").SendKeys("+43 1234 5678"); ClickComboBoxByCount(Session, "PhoneNr2TypeInput", 2); Session.FindElementByAccessibilityId("PhoneNr2Input").SendKeys("+43 123 45678901"); Session.FindElementByAccessibilityId("IbanInput").SendKeys("AT611904300234573201"); Session.FindElementByAccessibilityId("BicInput").SendKeys("RLNWATWWWDF"); Session.FindElementByAccessibilityId("UstIdNrInput").SendKeys("ATU66192906"); //TODO: Testdaten? Session.FindElementByAccessibilityId("LfbisNrInput").SendKeys("1251074"); //TODO: Testdaten? Session.FindElementByAccessibilityId("BuchführendInput").Click(); Session.FindElementByAccessibilityId("OrganicInput").Click(); Session.FindElementByAccessibilityId("BillingNameInput").SendKeys("Mustermann KG"); Session.FindElementByAccessibilityId("BillingAddressInput").SendKeys("Betriebsstraße 1"); Session.FindElementByAccessibilityId("BillingPlzInput").SendKeys("2120"); ClickComboBoxByCount(Session, "BillingOrtInput", 2); Session.FindElementByAccessibilityId("BusinessSharesInput").SendKeys("10"); ClickComboBoxByText(Session, "BranchInput", "Matzen"); ClickComboBoxByCount(Session, "DefaultKgInput", 3); Session.FindElementByAccessibilityId("VollLieferantInput").Click(); Session.FindElementByAccessibilityId("FunkionärInput").Click(); Session.FindElementByAccessibilityId("CommentInput").SendKeys("Die lieben Mustermänner und Musterfrauen!"); Session.FindElementByAccessibilityId("ContactEmailInput").Click(); Session.FindElementByAccessibilityId("SaveButton").Click(); Session.FindElementByAccessibilityId("SearchInput").SendKeys($"{mgnr} Max Mustermann"); var memberListow = Session.FindElementByAccessibilityId("MemberList").FindElementByClassName("DataGridRow"); Assert.That(memberListow, Is.Not.Null); Assert.Multiple(() => { Assert.That(memberListow.FindElementByName($"{mgnr} "), Is.Not.Null); Assert.That(memberListow.FindElementByName("Max"), Is.Not.Null); Assert.That(memberListow.FindElementByName("Mustermann"), Is.Not.Null); }); } [Test, Order(2)] public void EditMember() { Session.FindElementByAccessibilityId("SearchInput").SendKeys("10003 Max Mustermann"); var memberList = Session.FindElementByAccessibilityId("MemberList"); Assert.That(memberList, Is.Not.Null); var memberListRows = memberList.FindElementsByClassName("DataGridRow"); Assert.That(memberListRows, Has.Count.EqualTo(1)); Session.FindElementByAccessibilityId("EditMemberButton").Click(); var businessSharesInput = Session.FindElementByAccessibilityId("BusinessSharesInput"); Assert.That(businessSharesInput, Is.Not.Null); var businessShares = int.Parse(businessSharesInput.Text); businessSharesInput.Clear(); businessSharesInput.SendKeys($"{businessShares + 5}"); Session.FindElementByAccessibilityId("SaveButton").Click(); var newBusinessShares = int.Parse(businessSharesInput.Text); Assert.That(newBusinessShares, Is.EqualTo(businessShares + 5)); } [Test, Order(3)] public void DeleteMember() { Session.FindElementByAccessibilityId("SearchInput").SendKeys("10003 Max Mustermann"); var memberList = Session.FindElementByAccessibilityId("MemberList"); Assert.That(memberList, Is.Not.Null); var memberListRows = memberList.FindElementsByClassName("DataGridRow"); Assert.That(memberListRows, Has.Count.EqualTo(1)); var memberListRow = memberListRows.First(); Assert.Multiple(() => { Assert.That(memberListRow.FindElementByName("10003 "), Is.Not.Null); Assert.That(memberListRow.FindElementByName("Max"), Is.Not.Null); Assert.That(memberListRow.FindElementByName("Mustermann"), Is.Not.Null); }); Session.FindElementByAccessibilityId("DeleteMemberButton").Click(); DesktopSession.FindElementByName("OK").Click(); memberListRows = memberList.FindElementsByClassName("DataGridRow"); Assert.That(memberListRows, Has.Count.EqualTo(0)); } } }