Closed
Description
Cucumber (https://github.com/cucumber/cucumber-jvm) is a great framework for writing acceptance tests. We definitely should use it instead of our's own.
- Read https://cucumber.io/docs/reference
- Read https://cucumber.io/docs/reference/jvm
- Read https://thomassundberg.wordpress.com/2014/05/29/cucumber-jvm-hello-world/
- Read http://www.slideshare.net/alan_parkinson/test-automation-with-cucumberjvm
- Watch https://www.youtube.com/playlist?list=PL_noPv5wmuO_t6yYbPfjwhJFOOcio89tI
- Setting Up Cucumber
- Writing a Basic Script
- Writing a Basic WebDriver Script
- Parameter Handling
- Scenario Data Tables
- Scenario Outline Data Tables
- Scenario Hooks
- Maven Setup
- Cucumber Reporting
- Test Suites
- Drop Downs, Checkboxes and Radios
- Background Script
- Multiple Step Definition Classes
- Page Objects
- Port our test
- WhenAdminAddCategory
- categoryNameEnShouldNotBeTooShort()
- categoryNameRuShouldNotBeTooShort()
- categoryNameEnShouldNotBeTooLong()
- categoryNameRuShouldNotBeTooLong()
- categoryNameEnShouldBeUnique()
- categoryNameRuShouldBeUnique()
- categoryNameEnWithAllowedCharactersShouldBeAccepted()
- categoryNameRuWithAllowedCharactersShouldBeAccepted()
- categoryNameEnWithForbiddenCharactersShouldBeRejected()
- categoryNameRuWithForbiddenCharactersShouldBeRejected()
- categoryNameEnShouldNotStartsFromHyphen()
- categoryNameRuShouldNotStartsFromHyphen()
- categoryNameEnShouldNotEndsWithHyphen()
- categoryNameRuShouldNotEndsWithHyphen()
- categoryNameEnShouldBeStripedFromLeadingAndTrailingSpaces()
- categoryNameRuShouldBeStripedFromLeadingAndTrailingSpaces()
- shouldBeRedirectedToPageWithInfoAboutCategoryAfterCreation()
- categoryShouldBeAvailableForChoosingAtPageWithSeries()
- WhenAdminAddCountry
- countryNameEnShouldNotBeTooShort()
- countryNameRuShouldNotBeTooShort()
- countryNameEnShouldNotBeTooLong()
- countryNameRuShouldNotBeTooLong()
- countryNameEnShouldBeUnique()
- countryNameRuShouldBeUnique()
- countryNameEnWithAllowedCharactersShouldBeAccepted()
- countryNameRuWithAllowedCharactersShouldBeAccepted()
- countryNameEnWithForbiddenCharactersShouldBeRejected()
- countryNameRuWithForbiddenCharactersShouldBeRejected()
- countryNameEnShouldNotStartsFromHyphen()
- countryNameRuShouldNotStartsFromHyphen()
- countryNameEnShouldNotEndsWithHyphen()
- countryNameRuShouldNotEndsWithHyphen()
- countryNameEnShouldBeStripedFromLeadingAndTrailingSpaces()
- countryNameRuShouldBeStripedFromLeadingAndTrailingSpaces()
- shouldBeRedirectedToPageWithInfoAboutCountryAfterCreation()
- countryShouldBeAvailableForChoosingAtPageWithSeries()
- WhenAdminAddSeries
- catalogNumbersShouldAcceptValidValues()
- quantityShouldBeANumber()
- quantityShouldBeNotLessThanLimit()
- quantityShouldNotBeGreaterThanLimit()
- catalogNumbersShouldRejectInvalidValues()
- catalogPricesShouldRejectInvalidValues()
- commentShouldNotBeTooLong()
- imageSizeMustBeGreaterThanZero()
- issueYearFieldShouldHaveOptionsForRangeFrom1840ToCurrentYear()
- catalogNumbersShouldBeStripedFromSpaces()
- commentShouldBeStripedFromLeadingAndTrailingSpaces()
- shouldCreateSeriesWithOnlyRequiredFieldsFilled()
- shouldCreateSeriesWithAllFieldsFilled()
- shouldIgnoreDuplicatedCatalogNumbers()
- shouldAllowExistingCatalogNumbers()
- WhenAdminAtIndexPage
- shouldExistsWelcomeText()
- shouldExistsLinkForAddingSeries()
- shouldExistsLinkForAddingCountries()
- shouldExistsLinkForAddingCategories()
- WhenAnonymousUserActivateAccount
- activationKeyShouldBeAutoFilledFromURL()
- loginAndPasswordShouldBeDifferent()
- passwordAndConfirmationShouldMatch()
- loginShouldNotBeTooShort()
- mostShortLoginShouldBeAccepted()
- loginShouldNotBeTooLong()
- mostLongLoginShouldBeAccepted()
- loginWithAllowedCharactersShouldBeAccepted()
- loginWithForbiddenCharactersShouldBeRejected()
- loginShouldBeUnique()
- nameShouldNotBeTooLong()
- nameWithAllowedCharactersShouldBeAccepted()
- nameWithForbiddenCharactersShouldBeRejected()
- nameShouldNotStartsFromHyphen()
- nameShouldNotEndsWithHyphen()
- nameShouldBeStripedFromLeadingAndTrailingSpaces()
- passwordShouldNotBeTooShort()
- mostShortPasswordShouldBeAccepted()
- passwordWithAllowedCharactersShouldBeAccepted()
- passwordWithForbiddenCharactersShouldBeRejected()
- activationKeyShouldNotBeTooShort()
- activationKeyShouldNotBeTooLong()
- activationKeyWithForbiddenCharactersShouldBeRejected()
- wrongActivationKeyShouldBeRejected()
- afterActivationShouldExistsMessageWithLinkForAuthentication()
- activationShouldPassWhenUserProvidedEmptyName()
- WhenAnonymousUserAddCategory
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAnonymousUserAddCountry
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAnonymousUserAddSeries
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAnonymousUserAtForbiddenPage
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAnonymousUserAtIndexPage
- shouldAbsentWelcomeText()
- linkForAddingSeriesShouldBeAbsent()
- linkForAddingCategoriesShouldBeAbsent()
- linkForAddingCountriesShouldBeAbsent()
- WhenAnonymousUserAtUnauthorizedPage
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAnonymousUserAuthenticates
- emptyValuesShouldBeConsideredAsInvalidCredentials()
- invalidCredentialsShouldBeRejected()
- validCredentialsShouldAuthenticateUserOnSite()
- WhenAnonymousUserOpenNotExistingCategoryPage
- shouldShow404Page()
- WhenAnonymousUserOpenNotExistingCountryPage
- shouldShow404Page()
- WhenAnonymousUserOpenNotExistingSeriesPage
- shouldShow404Page()
- WhenAnonymousUserOpenNotExistingPage
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- incidentShouldBeLoggedToDatabase()
- shouldShow404Page()
- WhenAnonymousUserOpenTogglzConsole
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAnonymousUserRegisterAccount
- shouldExistsMessageWithLinkToAuthenticationPage()
- emailShouldNotBeTooLong()
- emailShouldBeValid()
- emailShouldBeStripedFromLeadingAndTrailingSpaces()
- successfulMessageShouldBeShownAfterRegistration()
- emailWithActivationKeyShouldBeSentAfterRegistration()
- WhenUserAddSeries
- catalogNumbersShouldAcceptValidValues()
- quantityShouldBeANumber()
- quantityShouldBeNotLessThanLimit()
- quantityShouldNotBeGreaterThanLimit()
- catalogNumbersShouldRejectInvalidValues()
- catalogPricesShouldRejectInvalidValues()
- imageSizeMustBeGreaterThanZero()
- issueYearFieldShouldHaveOptionsForRangeFrom1840ToCurrentYear()
- catalogNumbersShouldBeStripedFromSpaces()
- shouldCreateSeriesWithOnlyRequiredFieldsFilled()
- shouldCreateSeriesWithAllFieldsFilled()
- shouldIgnoreDuplicatedCatalogNumbers()
- shouldAllowExistingCatalogNumbers()
- WhenUserAtActivateAccountPage
- messageShouldBeShown()
- messageShouldBeShown()
- formWithLegendShouldBeAbsent()
- WhenUserAtAuthPage
- messageShouldBeShown()
- formWithLegendShouldBeAbsent()
- WhenUserAtIndexPage
- shouldExistsWelcomeText()
- shouldExistsLinkForAddingSeries()
- linkForAddingCategoriesShouldBeAbsent()
- linkForAddingCountriesShouldBeAbsent()
- WhenUserAtRegisterAccountPage
- messageShouldBeShown()
- formWithLegendShouldBeAbsent()
- WhenUserLogsOut.shouldRedirectAndClearSession()
- WhenUserOpenTogglzConsole
- shouldExistsErrorMessage()
- shouldExistsErrorCode()
- WhenAdminAddCategory
- Port checks for required fields
- add category
- add country
- add series
- registration
- activation
- Port standart checks
- Review and remove branch re_131_thucidies
- Review and remove branch re_131_thucidies_new
- Review and remove branch re_131_thucidies_new_new
- Review and remove branch gh18_serenity
- Update README.md
- Add
package-info.java
files - Update wiki if it's required
- Remove TestNG dependency
- Remove fest-assert dependency
- Update
src/main/config/checkstyle-suppressions.xml
- Update
src/main/config/checkstyle.xml
(remove testng and fest; add junit and hamcrest)