Framework for teaching the basics of low-code automation on projects of the Czechitas Digital Testing Academy.
In its default state, after launching, the framework should start a web browser you have installed, without the need to download additional drivers. The assumption is that the user has one of the following web browsers installed: Firefox, Chrome, or Edge.
A sample test in the ExampleTest class will open a web browser and verify that the address www.czechitas.cz is present in the contacts section of the testing application.
Working with the framework is divided according to elements of the testing application as follows:
ApplicationAction - Allows you to work with application list:
clickCreateNewApplicationButton()- click on create new application buttonselectProgrammingSection()- select Programming course categoryclickCreatePythonApplicationButton()- create a new application once programming category is selectedopenFirstApplicationDetailsPage()- open an existing application to see detailssearch("Jan")- search for an application from JanclickEditFirstApplicationButton()- open the first application to edit details
ApplicationDetail - Allows you to work with application details page:
selectTerm(String term)- select a terminsertStudentFirstName("Jan")- insert student first nameinsertStudentLastName("Novak")- insert student first nameinsertBirthdate("01.01.2000")- insert student day of birthinsertNote("my personal note")- insert a noteselectCashPaymentMethod()- choose cash payment methodselectBankTrasnferPaymentMethod()- choose bank transfer payment methodselectSlipPaymentMethod()- choose slip payment methodselectFKSPPaymentMethod()- choose FKSP payment methodclickAcceptTermsCheckbox()- accept Terms and ConditionsclickEditApplicationButton()- save changes upon editing an applicationclickCreateApplicationButton()- click the button to create an application once all the details are providedclickHealthDisabilityCheckbox()- click on checkbox for health disabilityinsertHealthDisabilityNote()- insert a note for health disability
InternalMenuAction - Allows you to work with internal menu upon logging in:
goToOrdersSection()- go to Objednavky sectiongoToTermsSection()- go to Terminy sectiongoToApplicationsSection()- go to Prihlasky sectiongoToCategoriesSection()- go to Kategorie sectiongoToNewsSection()- go to Aktuality sectiongoToExportsSection()- go to Exporty section
LoginAction - allows you to login and logout:
clickLoginMenuLink()- click login link in top menu (top right corner)insertEmail("test@czechitas.cz")- insert emailinsertPassword("mySecurePass123")- insert passwordclickLoginButton()- click login button once credentials are providedlogout()- logoutclickRegisterButton()- click register button
RegistrationAction - allows you to register:
insertFirstAndLastName("John", "Doe")- insert first and last name in the registration forminsertEmail("john.doe@test.cz")- insert email in the registration forminsertPassword("Password123")- insert password in the registration forminsertPasswordConfirmation("Password123")- insert password confirmation in the registration formclickRegisterButton- click register button to submit the form
ProfileAction - allows you to work with customer profile:
goToProfilePage()- open profile page from top menuinsertPassword("new password")- enter a new password. Change "new password" to the one you like based on security requirements (lowercase and uppercase letters, numbers, etc)insertPasswordVerification("new password")- enter a password to confirmclickChangeButton()- click the button to save changes
PublicMenuAction - allows you to work with top level menu in page header:
goToContactsSection()- go to Kontakt sectiongoToHomePage()- go to Domu pagegoToInstructionsAndFormsForTeacherSection()- go to Navody a Formulare pro ucitelegoToKindergartenAndSchoolSection()- go to Objednávka pro MŠ/ZŠgoToInstructionsAndFormsForParentSection()- go to Navody a Formulare pro rodicegoToCreateApplicationSection()- create an application from top header menu (Pro rodice -> Vytvorit prihlasku)
OrderAction - allows you to work with the order page:
search("Jan")- search for an order from JanclickAddButton()- click the button to add a new order
OrderDetailsAction - allows you to work with the order detail page:
insertICO("1234567")- insert ICO into IČO fieldinsertClient("Odberatel")- insert a client name into Odběratel fieldinsertFullAddress("Adresa")- insert a full address into Úplná Adresa fieldinsertSubstitute("Jmeno")- insert a substitute name into Zastoupena - ředitel(ka) školyinsertContactPersonNameAndSurname("name", "surname")- insert a contact person name and surname into Jméno a příjmeníinsertContactPersonTelephone("+420777888999")- insert a contact person telephone into TelefoninsertContactPersonEmail("email@test.cz")- insert a contact person email into EmailinsertStartDate("01.01.2026")- insert a start date into Upřednostňovaný termín 1insertEndDate("10.01.2026")- insert a end date into Upřednostňovaný termín 1selectForenoonSuburbanCampVariant()- select a Dopolední suburban camp variant in the Kurz fieldselectAfternoonSuburbanCampVariant()- select a Odpolední suburban camp variant in the Kurz fieldinsertChildrenCountToSuburbanCamp(5)- insert a number of children to the Počet dětí fieldinsertChildrenCountToSchoolInNature(5)- insert a number of children to the Počet dětí fieldinsertInAgeToSuburbanCamp(15)- insert an age of children to the Ve věku fieldinsertInAgeToSchoolInNature(15)- insert an age of children to the Ve věku fieldinsertAdultsCountToSuburbanCamp(2)- insert a number of adults to the Počet pedagogického doprovodu fieldinsertAdultsCountToSchoolInNature(2)- insert a number of adults to the Počet pedagogického doprovodu fieldsaveSuburbanCampOrder()- save the suburban camp ordersaveSchoolInNatureOrder()- save the school in nature orderinsertStartTime("12:00")- insert a start time into Nástup fieldselectBreakfastStartToSchoolInNature()- select Snídaní in the Strava začíná fieldselectLunchStartToSchoolInNature()- select a Obědem suburban camp variant in the Strava začíná fieldselectDinnerStartToSchoolInNature()- select a Večeří suburban camp variant in the Strava začíná fieldinsertEndTime("20:00")- insert a end time into Ukončení fieldselectBreakfastEndToSchoolInNature()- select a Snídaní suburban camp variant in the Strava končí fieldselectDinnerStartToSchoolInNature()- select a Večeří suburban camp variant in the Strava končí fieldselectDinnerStartToSchoolInNature()- select a Večeří suburban camp variant in the Strava končí field
Application list - verification steps you can do on the application list view
checkColumnExists("Akce")- check if Akce column is visible on the pagecheckApplicationsTableIsEmpty()- ensure the application list is empty (Žádné záznamy nenalezeny message is displayed)checkNumberOfApplications(5)- ensure the application list has exactly 5 applications
Application detail view - verification steps you can do on the detail view
checkPaymentMethod("Bankovní převod")- ensure the application is paid through a bank transfercheckFirstName("Jan")- check that the student first name is JancheckLastName("Novak")- check that the student first name is NovakcheckDateOfBirth("01.01.2010")- check that the student date of birth is 01.01.2010checkNote("myPrivateNote")- check that the note is myPrivateNotecheckRemainingAmountToPay("100.00")- check that remaining amount to pay is 100.00 KčcheckTerm("05.02. - 09.02.2024")- check that the term is 05.02. - 09.02.2024checkMessageContainsStudentLastName("Novak")- ensure that Zpráva pro příjemce contains student last name NovakcheckHealthDisabilityNote("Note")- ensure that Zdravotní omezení contains health disability note Note
Order list - verification steps you can do on the order list view
checkOrdersTableIsEmpty()- ensure the orders list is empty (Žádné záznamy nenalezeny message is displayed)checkNumberOfOrders(5)- ensure the orders list has exactly 5 orders
Login & Registration - verification steps you can do on the login and registration page
checkUserIsLoggedIn("Novak")- ensure that the user is logged in and the name is NovakcheckUserIsNotLoggedIn()- ensure that the user is not logged in
General Assertions - verification steps you can do on any page
checkCurrentUrl("https://team8-2022brno.herokuapp.com/zaci")- ensure that the current URL is https://team8-2022brno.herokuapp.com/zaci