From e022d5e1c96123b9b747caf726b1ea635ec50ce7 Mon Sep 17 00:00:00 2001 From: Stefan Ludwig Date: Fri, 6 May 2016 15:35:28 +0200 Subject: [PATCH] Initial commit of WebTester 2 --- .gitignore | 10 + .travis.yml | 14 + LICENSE | 5 +- NOTICE | 14 + README.md | 44 +- development/eclipse_formatter.xml | 295 +++++++ development/intellij-formatter-settings.jar | Bin 0 -> 1690 bytes development/intellij_formatter.xml | 71 ++ documentation/README.md | 39 + documentation/chapters/ad-hoc-find.md | 46 ++ documentation/chapters/annotation-action.md | 20 + .../chapters/annotation-attribute.md | 29 + documentation/chapters/annotation-cached.md | 48 ++ .../chapters/annotation-identify-using.md | 52 ++ documentation/chapters/annotation-mark.md | 34 + documentation/chapters/annotation-must.md | 52 ++ documentation/chapters/annotation-named.md | 23 + .../chapters/annotation-post-construct.md | 52 ++ documentation/chapters/annotation-wait.md | 51 ++ documentation/chapters/browser.md | 77 ++ documentation/chapters/by-producers.md | 17 + documentation/chapters/conditions.md | 73 ++ documentation/chapters/configuration.md | 142 ++++ documentation/chapters/event-system.md | 84 ++ documentation/chapters/generic-element.md | 21 + documentation/chapters/mouse.md | 81 ++ documentation/chapters/page-fragment.md | 99 +++ documentation/chapters/page.md | 202 +++++ documentation/chapters/support-assertj3.md | 25 + documentation/chapters/support-chrome.md | 20 + documentation/chapters/support-firefox.md | 19 + documentation/chapters/support-hamcrest.md | 50 ++ documentation/chapters/support-ie.md | 23 + documentation/chapters/support-junit4.md | 185 +++++ documentation/chapters/support-spring4.md | 45 + documentation/chapters/waiting.md | 27 + documentation/images/gs_project_structure.png | Bin 0 -> 11337 bytes documentation/images/gs_tweet.png | Bin 0 -> 10731 bytes documentation/images/logo-650x157.png | Bin 0 -> 22320 bytes pom.xml | 772 ++++++++++++++++++ webtester-build-tools/pom.xml | 27 + .../src/main/resources/checkstyle_rules.xml | 71 ++ .../main/resources/licensing/NOTICE.template | 14 + .../resources/licensing/license-mappings.xml | 14 + .../src/main/resources/pmd_rules.xml | 81 ++ webtester-core/pom.xml | 82 ++ .../src/license/THIRD-PARTY.properties | 14 + .../testit/webtester/WebTesterException.java | 23 + .../testit/webtester/adhoc/AdHocFinder.java | 131 +++ .../testit/webtester/adhoc/ByFinder.java | 100 +++ .../testit/webtester/adhoc/TypeFinder.java | 106 +++ .../testit/webtester/browser/Browser.java | 206 +++++ .../webtester/browser/BrowserBuilder.java | 78 ++ .../webtester/browser/BrowserFactory.java | 105 +++ .../webtester/browser/WebDriverBrowser.java | 233 ++++++ .../browser/operations/AlertHandler.java | 169 ++++ .../operations/BaseBrowserOperation.java | 34 + .../webtester/browser/operations/Focus.java | 147 ++++ .../browser/operations/JavaScript.java | 98 +++ .../browser/operations/Navigate.java | 95 +++ .../webtester/browser/operations/Open.java | 124 +++ .../browser/operations/PageSource.java | 213 +++++ .../browser/operations/Screenshot.java | 243 ++++++ .../webtester/browser/operations/Window.java | 166 ++++ .../browser/proxy/NoProxyConfiguration.java | 24 + .../browser/proxy/ProxyConfiguration.java | 29 + .../webtester/conditions/Conditions.java | 145 ++++ .../conditions/pagefragments/Attribute.java | 37 + .../pagefragments/AttributeWithValue.java | 47 ++ .../conditions/pagefragments/Disabled.java | 26 + .../conditions/pagefragments/Editable.java | 51 ++ .../conditions/pagefragments/Enabled.java | 26 + .../pagefragments/Interactable.java | 46 ++ .../conditions/pagefragments/Invisible.java | 28 + .../conditions/pagefragments/Present.java | 26 + .../pagefragments/PresentAndVisible.java | 38 + .../conditions/pagefragments/ReadOnly.java | 39 + .../conditions/pagefragments/Selected.java | 29 + .../pagefragments/SelectedIndex.java | 33 + .../pagefragments/SelectedIndices.java | 49 ++ .../pagefragments/SelectedText.java | 33 + .../pagefragments/SelectedTexts.java | 49 ++ .../pagefragments/SelectedValue.java | 33 + .../pagefragments/SelectedValues.java | 49 ++ .../conditions/pagefragments/Visible.java | 26 + .../pagefragments/VisibleTextContains.java | 33 + .../pagefragments/VisibleTextEquals.java | 33 + .../webtester/conditions/syntax/Either.java | 50 ++ .../webtester/conditions/syntax/Has.java | 34 + .../webtester/conditions/syntax/Is.java | 34 + .../webtester/conditions/syntax/Not.java | 33 + .../webtester/config/BaseConfiguration.java | 350 ++++++++ .../webtester/config/Configuration.java | 530 ++++++++++++ .../config/ConfigurationAdapter.java | 28 + .../config/ConfigurationBuilder.java | 112 +++ .../config/ConfigurationException.java | 21 + .../config/ConfigurationExporter.java | 34 + ...bstractPropertiesConfigurationAdapter.java | 38 + ...athPropertiesFileConfigurationAdapter.java | 62 ++ .../DefaultFileConfigurationAdapter.java | 27 + .../GlobalFileConfigurationAdapter.java | 28 + .../LocalFileConfigurationAdapter.java | 27 + .../TestItHomeFileConfigurationAdapter.java | 60 ++ .../builders/BaseConfigurationBuilder.java | 108 +++ .../builders/DefaultConfigurationBuilder.java | 44 + .../exceptions/InvalidValueTypeException.java | 17 + .../exceptions/SetNullValuesException.java | 13 + .../SystemPropertyConfigurationExporter.java | 30 + .../testit/webtester/css/CssProperties.java | 21 + .../testit/webtester/css/StyleChanger.java | 54 ++ .../webtester/css/StyleChangerImpl.java | 46 ++ .../webtester/events/AbstractEvent.java | 24 + .../testit/webtester/events/Event.java | 36 + .../webtester/events/EventListener.java | 25 + .../testit/webtester/events/EventSystem.java | 89 ++ .../webtester/events/EventSystemImpl.java | 73 ++ .../webtester/events/ExceptionEvent.java | 32 + .../events/PageFragmentEventBuilder.java | 84 ++ .../testit/webtester/events/Produces.java | 42 + .../events/browser/AcceptedAlertEvent.java | 41 + .../events/browser/ClosedBrowserEvent.java | 27 + .../events/browser/ClosedWindowEvent.java | 27 + .../events/browser/DeclinedAlertEvent.java | 41 + .../events/browser/MaximizedWindowEvent.java | 27 + .../browser/NavigatedBackwardsEvent.java | 28 + .../browser/NavigatedForwardsEvent.java | 28 + .../events/browser/OpenedUrlEvent.java | 47 ++ .../events/browser/RefreshedPageEvent.java | 27 + .../events/browser/SavedSourceCodeEvent.java | 49 ++ .../browser/SetWindowPositionEvent.java | 38 + .../events/browser/SetWindowSizeEvent.java | 38 + .../SwitchedToDefaultContentEvent.java | 27 + .../events/browser/SwitchedToFrameEvent.java | 51 ++ .../events/browser/SwitchedToWindowEvent.java | 40 + .../events/browser/TookScreenshotEvent.java | 49 ++ .../TakeScreenshotOnExceptionListener.java | 42 + .../AbstractPageFragmentEvent.java | 43 + .../AbstractPageFragmentEventBuilder.java | 60 ++ .../events/pagefragments/ClearedEvent.java | 43 + .../events/pagefragments/ClickedEvent.java | 47 ++ .../pagefragments/ContextClickedEvent.java | 39 + .../pagefragments/DeselectedAllEvent.java | 39 + .../DeselectedByIndicesEvent.java | 93 +++ .../pagefragments/DeselectedByTextsEvent.java | 91 +++ .../DeselectedByValuesEvent.java | 91 +++ .../pagefragments/DoubleClickedEvent.java | 39 + .../pagefragments/DraggedAndDroppedEvent.java | 40 + .../pagefragments/EnterPressedEvent.java | 37 + .../pagefragments/FormSubmittedEvent.java | 39 + .../events/pagefragments/NumberSetEvent.java | 88 ++ .../pagefragments/SelectedByIndexEvent.java | 65 ++ .../pagefragments/SelectedByIndicesEvent.java | 93 +++ .../pagefragments/SelectedByTextEvent.java | 64 ++ .../pagefragments/SelectedByTextsEvent.java | 91 +++ .../pagefragments/SelectedByValueEvent.java | 64 ++ .../pagefragments/SelectedByValuesEvent.java | 91 +++ .../pagefragments/SelectionChangedEvent.java | 81 ++ .../pagefragments/TextAppendedEvent.java | 81 ++ .../events/pagefragments/TextSetEvent.java | 81 ++ .../webtester/internal/ActionTemplate.java | 183 +++++ .../testit/webtester/internal/Caches.java | 13 + .../internal/OffersAdHocFinding.java | 120 +++ .../internal/OffersBrowserGetter.java | 19 + .../internal/OffersPageCreation.java | 21 + .../webtester/internal/PageFactory.java | 36 + .../internal/PageFragmentFactory.java | 54 ++ .../testit/webtester/internal/TestItHome.java | 68 ++ .../webtester/internal/WebElementFinder.java | 95 +++ .../internal/annotations/CreatesPage.java | 9 + .../internal/annotations/ReturnsBrowser.java | 9 + .../internal/annotations/ReturnsName.java | 9 + .../annotations/ReturnsWebElement.java | 9 + .../internal/configuration/DefaultValue.java | 17 + .../internal/configuration/Documentation.java | 13 + .../configuration/NamedProperties.java | 105 +++ .../PropertiesFileGenerator.java | 81 ++ .../configuration/TypeDefinition.java | 13 + .../exceptions/IllegalSignatureException.java | 20 + .../webtester/internal/must/MustChecker.java | 94 +++ .../internal/must/MustConditionException.java | 18 + .../PostConstructInvocationException.java | 14 + .../postconstruct/PostConstructInvoker.java | 84 ++ .../internal/proxies/PageFragmentModel.java | 37 + .../proxies/PageFragmentProxyHandler.java | 167 ++++ .../internal/proxies/PageProxyHandler.java | 80 ++ ...EventProducingImplementationDecorator.java | 88 ++ .../proxies/befores/ActionOperation.java | 36 + .../proxies/befores/BeforeOperation.java | 12 + .../proxies/befores/MarkOperation.java | 35 + .../AbstractIdentifyUsingCollectionImpl.java | 62 ++ .../internal/proxies/impls/AttributeImpl.java | 84 ++ .../proxies/impls/BrowserReturningImpl.java | 27 + .../proxies/impls/DefaultMethodImpl.java | 41 + .../internal/proxies/impls/HashCodeImpl.java | 23 + .../proxies/impls/IdentifyUsingImpl.java | 101 +++ .../proxies/impls/IdentifyUsingListImpl.java | 43 + .../proxies/impls/IdentifyUsingSetImpl.java | 43 + .../impls/IdentifyUsingStreamImpl.java | 42 + .../proxies/impls/Implementation.java | 11 + .../proxies/impls/NameReturningImpl.java | 27 + .../proxies/impls/PageCreatingImpl.java | 30 + .../internal/proxies/impls/ToStringImpl.java | 29 + .../impls/WebElementReturningImpl.java | 32 + .../testit/webtester/markings/Marker.java | 81 ++ .../novatec/testit/webtester/mouse/Mouse.java | 254 ++++++ .../webtester/mouse/MouseActionSequence.java | 120 +++ .../webtester/mouse/MouseDragAction.java | 48 ++ .../testit/webtester/mouse/MouseOnAction.java | 72 ++ .../testit/webtester/mouse/MouseToAction.java | 61 ++ .../webtester/pagefragments/Button.java | 51 ++ .../webtester/pagefragments/Checkbox.java | 92 +++ .../testit/webtester/pagefragments/Div.java | 9 + .../webtester/pagefragments/EmailField.java | 8 + .../testit/webtester/pagefragments/Form.java | 30 + .../pagefragments/GenericElement.java | 98 +++ .../webtester/pagefragments/GenericList.java | 88 ++ .../pagefragments/GenericSelect.java | 89 ++ .../pagefragments/GenericTextField.java | 111 +++ .../webtester/pagefragments/Headline.java | 14 + .../webtester/pagefragments/IFrame.java | 23 + .../testit/webtester/pagefragments/Image.java | 73 ++ .../testit/webtester/pagefragments/Link.java | 35 + .../webtester/pagefragments/ListItem.java | 9 + .../webtester/pagefragments/MultiSelect.java | 353 ++++++++ .../webtester/pagefragments/NumberField.java | 49 ++ .../webtester/pagefragments/OrderedList.java | 9 + .../webtester/pagefragments/PageFragment.java | 259 ++++++ .../webtester/pagefragments/Paragraph.java | 9 + .../pagefragments/PasswordField.java | 8 + .../webtester/pagefragments/RadioButton.java | 34 + .../webtester/pagefragments/SearchField.java | 8 + .../webtester/pagefragments/SingleSelect.java | 148 ++++ .../testit/webtester/pagefragments/Span.java | 9 + .../testit/webtester/pagefragments/Table.java | 244 ++++++ .../webtester/pagefragments/TableField.java | 22 + .../webtester/pagefragments/TableRow.java | 71 ++ .../pagefragments/TelephoneField.java | 8 + .../webtester/pagefragments/TextArea.java | 30 + .../webtester/pagefragments/TextField.java | 8 + .../pagefragments/UnorderedList.java | 9 + .../webtester/pagefragments/UrlField.java | 8 + .../pagefragments/annotations/Action.java | 32 + .../pagefragments/annotations/As.java | 36 + .../pagefragments/annotations/Attribute.java | 58 ++ .../pagefragments/annotations/Be.java | 57 ++ .../pagefragments/annotations/Cached.java | 68 ++ .../annotations/IdentifyUsing.java | 54 ++ .../pagefragments/annotations/Mapping.java | 72 ++ .../pagefragments/annotations/Mappings.java | 28 + .../pagefragments/annotations/Mark.java | 51 ++ .../pagefragments/annotations/Must.java | 48 ++ .../pagefragments/annotations/Named.java | 41 + .../pagefragments/annotations/Until.java | 57 ++ .../pagefragments/annotations/Wait.java | 40 + .../identification/ByProducer.java | 35 + .../identification/ByProducers.java | 100 +++ .../identification/producers/ClassName.java | 26 + .../identification/producers/CssSelector.java | 26 + .../identification/producers/Id.java | 26 + .../identification/producers/IdEndsWith.java | 29 + .../producers/IdStartsWith.java | 29 + .../identification/producers/LinkText.java | 26 + .../identification/producers/Name.java | 26 + .../producers/PartialLinkText.java | 26 + .../identification/producers/TagName.java | 26 + .../identification/producers/XPath.java | 26 + .../mapping/MappingException.java | 12 + .../mapping/MappingValidator.java | 37 + .../mapping/MappingValidatorImpl.java | 94 +++ .../pagefragments/mapping/Validator.java | 42 + .../mapping/validators/JustTag.java | 46 ++ .../mapping/validators/NoOpValidator.java | 35 + .../mapping/validators/TagWithAttribute.java | 48 ++ .../validators/TagWithAttributeAndValues.java | 65 ++ .../validators/TagWithoutAttribute.java | 48 ++ .../pagefragments/traits/Clickable.java | 41 + .../pagefragments/traits/Selectable.java | 46 ++ .../novatec/testit/webtester/pages/Page.java | 77 ++ .../webtester/waiting/ConfiguredWait.java | 28 + .../webtester/waiting/TimeoutException.java | 19 + .../testit/webtester/waiting/Wait.java | 88 ++ .../webtester/waiting/WaitOperations.java | 169 ++++ .../testit/webtester/waiting/WaitUntil.java | 52 ++ .../testit-webtester-default.properties | 56 ++ .../features/DebugMarkingsFeatureTest.java | 69 ++ .../features/IdentifyUsingFeatureTest.java | 86 ++ .../java/features/MouseUtilsFeatureTest.java | 104 +++ .../MustBeOnPageFragmentsFeatureTest.java | 85 ++ .../features/MustBeOnPagesFeatureTest.java | 61 ++ .../features/MustWithWaitFeatureTest.java | 59 ++ .../NamedPageFragmentsFeatureTest.java | 53 ++ .../PageFragmentCachingFeatureTest.java | 123 +++ ...stConstructOnPageFragmentsFeatureTest.java | 111 +++ .../PostConstructOnPagesFeatureTest.java | 100 +++ .../features/WaitAnnotationFeatureTest.java | 65 ++ .../browser/operations/AlertHandlerTest.java | 152 ++++ .../browser/operations/FocusTest.java | 190 +++++ .../browser/operations/JavaScriptTest.java | 121 +++ .../browser/operations/NavigateTest.java | 106 +++ .../browser/operations/OpenTest.java | 221 +++++ .../browser/operations/ScreenshotTest.java | 39 + .../browser/operations/WindowTest.java | 155 ++++ .../pagefragments/AttributeTest.java | 31 + .../pagefragments/AttributeWithValueTest.java | 37 + .../pagefragments/DisabledTest.java | 31 + .../pagefragments/EditableTest.java | 74 ++ .../conditions/pagefragments/EnabledTest.java | 31 + .../pagefragments/InteractableTest.java | 43 + .../pagefragments/InvisibleTest.java | 31 + .../pagefragments/PresentAndVisibleTest.java | 41 + .../conditions/pagefragments/PresentTest.java | 31 + .../pagefragments/SelectedIndexTest.java | 37 + .../pagefragments/SelectedIndicesTest.java | 55 ++ .../pagefragments/SelectedTest.java | 31 + .../pagefragments/SelectedTextTest.java | 37 + .../pagefragments/SelectedTextsTest.java | 55 ++ .../pagefragments/SelectedValueTest.java | 37 + .../pagefragments/SelectedValuesTest.java | 55 ++ .../conditions/pagefragments/VisibleTest.java | 31 + .../VisibleTextContainsTest.java | 37 + .../pagefragments/VisibleTextEqualsTest.java | 37 + .../conditions/syntax/EitherTest.java | 134 +++ .../webtester/conditions/syntax/HasTest.java | 62 ++ .../webtester/conditions/syntax/IsTest.java | 62 ++ .../webtester/conditions/syntax/NotTest.java | 31 + .../config/BaseConfigurationBuilderTest.java | 123 +++ .../config/BaseConfigurationTest.java | 209 +++++ ...stemPropertyConfigurationExporterTest.java | 43 + .../webtester/css/StyleChangerImplTest.java | 99 +++ .../webtester/events/EventSystemImplTest.java | 105 +++ .../internal/PostConstructInvokerTest.java | 59 ++ .../testit/webtester/waiting/WaitsTest.java | 54 ++ .../java/integration/BaseIntegrationTest.java | 102 +++ .../NestedPageFragmentsIntegrationTest.java | 104 +++ .../StaleElementIntegrationTest.java | 72 ++ .../adhoc/AdHocFinderIntegrationTest.java | 518 ++++++++++++ .../browser/BrowserIntegrationTest.java | 33 + .../operations/AlertIntegrationTest.java | 38 + .../operations/PageSourceIntegrationTest.java | 68 ++ .../operations/ScreenshotIntegrationTest.java | 68 ++ .../conditions/ReadOnlyIntegrationTest.java | 60 ++ .../mouse/MouseIntegrationTest.java | 150 ++++ .../pagefragments/ButtonIntegrationTest.java | 135 +++ .../CheckboxIntegrationTest.java | 134 +++ .../pagefragments/DivIntegrationTest.java | 49 ++ .../pagefragments/FormIntegrationTest.java | 69 ++ .../GenericElementIntegrationTest.java | 110 +++ .../GenericListIntegrationTest.java | 64 ++ .../HeadlineIntegrationTest.java | 83 ++ .../pagefragments/IFrameIntegrationTest.java | 61 ++ .../pagefragments/ImageIntegrationTest.java | 97 +++ .../pagefragments/LinkIntegrationTest.java | 82 ++ .../ListItemIntegrationTest.java | 49 ++ .../MultiSelectIntegrationTest.java | 373 +++++++++ .../NumberFieldIntegrationTest.java | 115 +++ .../OrderedListIntegrationTest.java | 131 +++ .../PageFragmentIntegrationTest.java | 248 ++++++ .../ParagraphIntegrationTest.java | 49 ++ .../PasswordFieldIntegrationTest.java | 154 ++++ .../RadioButtonIntegrationTest.java | 98 +++ .../SingleSelectIntegrationTest.java | 244 ++++++ .../pagefragments/SpanIntegrationTest.java | 49 ++ .../TableFieldIntegrationTest.java | 74 ++ .../pagefragments/TableIntegrationTest.java | 263 ++++++ .../TableRowIntegrationTest.java | 101 +++ .../TextAreaIntegrationTest.java | 177 ++++ .../TextFieldIntegrationTest.java | 187 +++++ .../UnorderedListIntegrationTest.java | 131 +++ .../AttributeInjectionIntegrationTest.java | 151 ++++ .../IdentificationIntegrationTest.java | 114 +++ .../waiting/WaitsIntegrationTest.java | 96 +++ .../src/test/java/utils/MockFactory.java | 392 +++++++++ .../test/java/utils/TestBrowserFactory.java | 50 ++ .../src/test/java/utils/TestUtils.java | 22 + .../test/java/utils/events/EventCaptor.java | 79 ++ .../utils/events/ExceptionEventCaptor.java | 53 ++ .../java/utils/events/MultiEventCaptor.java | 49 ++ .../events/MultiEventCollectingListener.java | 24 + .../events/SingleEventCollectingListener.java | 33 + .../configurations/base_cfg.properties | 1 + .../configurations/test_cfg.properties | 1 + .../src/test/resources/html/_style.css | 31 + .../resources/html/annotations/visible.html | 38 + .../test/resources/html/browser/alert.html | 9 + .../test/resources/html/browser/empty.html | 9 + .../resources/html/browser/pageSource.html | 9 + .../resources/html/browser/pageWithTitle.html | 10 + .../html/browser/pageWithoutTitle.html | 9 + .../html/conditions/conditions_readonly.html | 37 + .../html/conditions/conditions_readonly.xhtml | 35 + .../src/test/resources/html/empty.html | 6 + .../html/features/debug-markings.html | 61 ++ .../html/features/identify-using.html | 35 + .../resources/html/features/mouse-utils.html | 72 ++ .../html/features/must-be-with-wait.html | 31 + .../test/resources/html/features/must-be.html | 60 ++ .../html/features/named-page-fragments.html | 60 ++ .../html/features/page-fragment-caching.html | 39 + .../html/features/post-construct.html | 60 ++ .../html/features/wait-annotation.html | 29 + .../resources/html/nested-page-fragments.html | 30 + .../html/pagefragments/_frameContent.html | 8 + .../resources/html/pagefragments/_image.png | Bin 0 -> 246 bytes .../html/pagefragments/_targetPage.html | 9 + .../annotations/attribute-injection.html | 38 + .../resources/html/pagefragments/button.html | 58 ++ .../html/pagefragments/checkbox.html | 35 + .../resources/html/pagefragments/div.html | 31 + .../resources/html/pagefragments/form.html | 36 + .../html/pagefragments/genericElement.html | 44 + .../html/pagefragments/genericList.html | 35 + .../html/pagefragments/headline.html | 51 ++ .../identification/by-producers.html | 63 ++ .../resources/html/pagefragments/iframe.html | 31 + .../resources/html/pagefragments/image.html | 35 + .../resources/html/pagefragments/link.html | 31 + .../html/pagefragments/listItem.html | 35 + .../html/pagefragments/multiSelect.html | 61 ++ .../html/pagefragments/numberField.html | 35 + .../html/pagefragments/orderedList.html | 61 ++ .../html/pagefragments/pageFragment.html | 65 ++ .../html/pagefragments/paragraph.html | 31 + .../html/pagefragments/passwordField.html | 43 + .../html/pagefragments/radioButton.html | 35 + .../html/pagefragments/singleSelect.html | 61 ++ .../resources/html/pagefragments/span.html | 31 + .../resources/html/pagefragments/table.html | 110 +++ .../html/pagefragments/tableField.html | 42 + .../html/pagefragments/tableRow.html | 51 ++ .../html/pagefragments/textArea.html | 51 ++ .../html/pagefragments/textField.html | 69 ++ .../html/pagefragments/unorderedList.html | 61 ++ .../test/resources/html/stale-elements.html | 65 ++ .../src/test/resources/html/utils/_image.png | Bin 0 -> 246 bytes .../resources/html/utils/ad-hoc-finding.html | 57 ++ .../src/test/resources/html/utils/mouse.html | 132 +++ .../src/test/resources/html/utils/waits.html | 39 + webtester-core/src/test/resources/logback.xml | 16 + .../resources/testit-webtester.properties | 13 + webtester-support-assertj3/.gitignore | 1 + webtester-support-assertj3/pom.xml | 44 + .../src/license/THIRD-PARTY.properties | 15 + .../support/assertj/WebTesterAssertions.java | 49 ++ .../assertions/AbstractWebTesterAssert.java | 29 + .../AbstractPageFragmentAssert.java | 243 ++++++ .../pagefragments/AbstractSelectAssert.java | 82 ++ .../pagefragments/ButtonAssert.java | 52 ++ .../pagefragments/GenericTextFieldAssert.java | 82 ++ .../pagefragments/MultiSelectAssert.java | 96 +++ .../pagefragments/PageFragmentAssert.java | 17 + .../pagefragments/SelectableAssert.java | 52 ++ .../pagefragments/SingleSelectAssert.java | 83 ++ .../pagefragments/ButtonAssertTest.java | 43 + .../GenericTextFieldAssertTest.java | 72 ++ .../pagefragments/MultiSelectAssertTest.java | 226 +++++ .../pagefragments/PageFragmentAssertTest.java | 223 +++++ .../pagefragments/SelectableAssertTest.java | 42 + .../pagefragments/SingleSelectAssertTest.java | 170 ++++ .../src/test/resources/logback.xml | 16 + webtester-support-chrome/pom.xml | 38 + .../src/license/THIRD-PARTY.properties | 15 + .../browser/proxy/ChromeFactory.java | 85 ++ webtester-support-firefox/pom.xml | 38 + .../src/license/THIRD-PARTY.properties | 15 + .../browser/proxy/FirefoxFactory.java | 115 +++ webtester-support-hamcrest/pom.xml | 46 ++ .../src/license/THIRD-PARTY.properties | 16 + .../support/hamcrest/WebTesterMatchers.java | 191 +++++ .../support/hamcrest/matchers/HasMatcher.java | 31 + .../pagefragments/AttributeMatcher.java | 35 + .../pagefragments/AttributeValueMatcher.java | 46 ++ .../pagefragments/ButtonLabelMatcher.java | 36 + .../pagefragments/DisabledMatcher.java | 29 + .../pagefragments/EnabledMatcher.java | 29 + .../pagefragments/InvisibleMatcher.java | 29 + .../pagefragments/NoOptionsMatcher.java | 31 + .../NoSelectedOptionsMatcher.java | 31 + .../pagefragments/NumberOfOptionsMatcher.java | 36 + .../NumberOfSelectedOptionsMatcher.java | 36 + .../pagefragments/OptionsMatcher.java | 28 + .../pagefragments/OptionsTextsMatcher.java | 39 + .../pagefragments/OptionsValuesMatcher.java | 39 + .../pagefragments/PresentMatcher.java | 29 + .../pagefragments/SelectedMatcher.java | 29 + .../pagefragments/SelectedOptionsMatcher.java | 28 + .../pagefragments/SelectionIndexMatcher.java | 38 + .../SelectionIndicesMatcher.java | 39 + .../pagefragments/SelectionTextMatcher.java | 38 + .../pagefragments/SelectionTextsMatcher.java | 39 + .../pagefragments/SelectionValueMatcher.java | 38 + .../pagefragments/SelectionValuesMatcher.java | 39 + .../matchers/pagefragments/TagMatcher.java | 36 + .../pagefragments/TextContainingMatcher.java | 36 + .../matchers/pagefragments/TextMatcher.java | 36 + .../pagefragments/VisibleMatcher.java | 29 + .../VisibleTextContainingMatcher.java | 37 + .../pagefragments/VisibleTextMatcher.java | 37 + .../pagefragments/AttributeMatcherTest.java | 28 + .../AttributeValueMatcherTest.java | 34 + .../pagefragments/ButtonLabelMatcherTest.java | 32 + .../pagefragments/DisabledMatcherTest.java | 28 + .../pagefragments/EnabledMatcherTest.java | 28 + .../pagefragments/InvisibleMatcherTest.java | 28 + .../pagefragments/NoOptionsMatcherTest.java | 28 + .../NoSelectedOptionsMatcherTest.java | 28 + .../NumberOfOptionsMatcherTest.java | 28 + .../NumberOfSelectedOptionsMatcherTest.java | 28 + .../pagefragments/OptionsMatcherTest.java | 28 + .../OptionsTextsMatcherTest.java | 46 ++ .../OptionsValuesMatcherTest.java | 46 ++ .../pagefragments/PresentMatcherTest.java | 28 + .../pagefragments/SelectedMatcherTest.java | 28 + .../SelectedOptionsMatcherTest.java | 28 + .../SelectionIndexMatcherTest.java | 28 + .../SelectionIndicesMatcherTest.java | 46 ++ .../SelectionTextMatcherTest.java | 28 + .../SelectionTextsMatcherTest.java | 46 ++ .../SelectionValueMatcherTest.java | 28 + .../SelectionValuesMatcherTest.java | 46 ++ .../pagefragments/TagMatcherTest.java | 28 + .../TextContainingMatcherTest.java | 32 + .../pagefragments/TextMatcherTest.java | 32 + .../pagefragments/VisibleMatcherTest.java | 28 + .../VisibleTextContainingMatcherTest.java | 28 + .../pagefragments/VisibleTextMatcherTest.java | 28 + .../src/test/resources/logback.xml | 16 + webtester-support-ie/pom.xml | 38 + .../src/license/THIRD-PARTY.properties | 15 + .../proxy/InternetExplorerFactory.java | 120 +++ webtester-support-junit4/pom.xml | 38 + .../src/license/THIRD-PARTY.properties | 17 + .../junit/annotations/ConfigurationValue.java | 48 ++ .../junit/annotations/CreateUsing.java | 47 ++ .../junit/annotations/EntryPoint.java | 42 + .../webtester/junit/annotations/Primary.java | 30 + .../IllegalTestClassStructureException.java | 18 + .../NoBrowserFactoryProvidedException.java | 13 + .../exceptions/NoManagedBrowserException.java | 17 + .../exceptions/NoPrimaryBrowserException.java | 17 + .../NoStaticPrimaryBrowserException.java | 10 + .../NoUniquePrimaryBrowserException.java | 16 + .../NotOfInjectableFieldTypeException.java | 16 + .../WebTesterJUnitSupportException.java | 21 + .../junit/runner/WebTesterJUnitRunner.java | 354 ++++++++ .../runner/internal/AbstractTestBrowser.java | 110 +++ .../runner/internal/ClassTestBrowser.java | 39 + .../internal/ConfigurationValueInjector.java | 107 +++ .../runner/internal/MethodTestBrowser.java | 33 + .../TestClassPlausibilityChecker.java | 128 +++ .../junit/utils/ReflectionUtils.java | 51 ++ ...terJUnitRunnerConfigurationValuesTest.java | 53 ++ .../ConfigurationValueInjectorTest.java | 105 +++ .../TestClassPlausibilityCheckerTest.java | 132 +++ .../junit/utils/ReflectionUtilsTest.java | 56 ++ .../src/test/resources/logback.xml | 16 + .../resources/testit-webtester.properties | 12 + webtester-support-spring4/pom.xml | 82 ++ .../src/license/THIRD-PARTY.properties | 16 + .../ConfigurationBuilderFactoryBean.java | 81 ++ ...DefaultSpringConfigurationFactoryBean.java | 60 ++ ...totypeConfigurationBuilderFactoryBean.java | 85 ++ ...SpringEnvironmentConfigurationAdapter.java | 84 ++ ...ntConfigurationAdapterIntegrationTest.java | 58 ++ ...ngEnvironmentConfigurationAdapterTest.java | 68 ++ .../src/test/resources/banner.txt | 0 .../src/test/resources/logback.xml | 16 + .../resources/spring-environment.properties | 1 + .../resources/testit-webtester.properties | 2 + 568 files changed, 35511 insertions(+), 4 deletions(-) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 NOTICE create mode 100644 development/eclipse_formatter.xml create mode 100644 development/intellij-formatter-settings.jar create mode 100644 development/intellij_formatter.xml create mode 100644 documentation/README.md create mode 100644 documentation/chapters/ad-hoc-find.md create mode 100644 documentation/chapters/annotation-action.md create mode 100644 documentation/chapters/annotation-attribute.md create mode 100644 documentation/chapters/annotation-cached.md create mode 100644 documentation/chapters/annotation-identify-using.md create mode 100644 documentation/chapters/annotation-mark.md create mode 100644 documentation/chapters/annotation-must.md create mode 100644 documentation/chapters/annotation-named.md create mode 100644 documentation/chapters/annotation-post-construct.md create mode 100644 documentation/chapters/annotation-wait.md create mode 100644 documentation/chapters/browser.md create mode 100644 documentation/chapters/by-producers.md create mode 100644 documentation/chapters/conditions.md create mode 100644 documentation/chapters/configuration.md create mode 100644 documentation/chapters/event-system.md create mode 100644 documentation/chapters/generic-element.md create mode 100644 documentation/chapters/mouse.md create mode 100644 documentation/chapters/page-fragment.md create mode 100644 documentation/chapters/page.md create mode 100644 documentation/chapters/support-assertj3.md create mode 100644 documentation/chapters/support-chrome.md create mode 100644 documentation/chapters/support-firefox.md create mode 100644 documentation/chapters/support-hamcrest.md create mode 100644 documentation/chapters/support-ie.md create mode 100644 documentation/chapters/support-junit4.md create mode 100644 documentation/chapters/support-spring4.md create mode 100644 documentation/chapters/waiting.md create mode 100644 documentation/images/gs_project_structure.png create mode 100644 documentation/images/gs_tweet.png create mode 100644 documentation/images/logo-650x157.png create mode 100644 pom.xml create mode 100644 webtester-build-tools/pom.xml create mode 100644 webtester-build-tools/src/main/resources/checkstyle_rules.xml create mode 100644 webtester-build-tools/src/main/resources/licensing/NOTICE.template create mode 100644 webtester-build-tools/src/main/resources/licensing/license-mappings.xml create mode 100644 webtester-build-tools/src/main/resources/pmd_rules.xml create mode 100644 webtester-core/pom.xml create mode 100644 webtester-core/src/license/THIRD-PARTY.properties create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/WebTesterException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/adhoc/AdHocFinder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/adhoc/ByFinder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/adhoc/TypeFinder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/Browser.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/BrowserBuilder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/BrowserFactory.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/WebDriverBrowser.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/AlertHandler.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/BaseBrowserOperation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/Focus.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/JavaScript.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/Navigate.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/Open.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/PageSource.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/Screenshot.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/operations/Window.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/proxy/NoProxyConfiguration.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/browser/proxy/ProxyConfiguration.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/Conditions.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Attribute.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/AttributeWithValue.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Disabled.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Editable.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Enabled.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Interactable.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Invisible.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Present.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/PresentAndVisible.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/ReadOnly.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Selected.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedIndex.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedIndices.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedText.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedTexts.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedValue.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedValues.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/Visible.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/VisibleTextContains.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/pagefragments/VisibleTextEquals.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/syntax/Either.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/syntax/Has.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/syntax/Is.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/conditions/syntax/Not.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/BaseConfiguration.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/Configuration.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/ConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/ConfigurationBuilder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/ConfigurationException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/ConfigurationExporter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/adapters/AbstractPropertiesConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/adapters/ClasspathPropertiesFileConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/adapters/DefaultFileConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/adapters/GlobalFileConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/adapters/LocalFileConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/adapters/TestItHomeFileConfigurationAdapter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/builders/BaseConfigurationBuilder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/builders/DefaultConfigurationBuilder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/exceptions/InvalidValueTypeException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/exceptions/SetNullValuesException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/config/exporters/SystemPropertyConfigurationExporter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/css/CssProperties.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/css/StyleChanger.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/css/StyleChangerImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/AbstractEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/Event.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/EventListener.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/EventSystem.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/EventSystemImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/ExceptionEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/PageFragmentEventBuilder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/Produces.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/AcceptedAlertEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/ClosedBrowserEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/ClosedWindowEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/DeclinedAlertEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/MaximizedWindowEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/NavigatedBackwardsEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/NavigatedForwardsEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/OpenedUrlEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/RefreshedPageEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/SavedSourceCodeEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/SetWindowPositionEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/SetWindowSizeEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/SwitchedToDefaultContentEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/SwitchedToFrameEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/SwitchedToWindowEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/browser/TookScreenshotEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/listeners/TakeScreenshotOnExceptionListener.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/AbstractPageFragmentEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/AbstractPageFragmentEventBuilder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/ClearedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/ClickedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/ContextClickedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/DeselectedAllEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/DeselectedByIndicesEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/DeselectedByTextsEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/DeselectedByValuesEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/DoubleClickedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/DraggedAndDroppedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/EnterPressedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/FormSubmittedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/NumberSetEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectedByIndexEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectedByIndicesEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectedByTextEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectedByTextsEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectedByValueEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectedByValuesEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/SelectionChangedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/TextAppendedEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/events/pagefragments/TextSetEvent.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/ActionTemplate.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/Caches.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/OffersAdHocFinding.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/OffersBrowserGetter.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/OffersPageCreation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/PageFactory.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/PageFragmentFactory.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/TestItHome.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/WebElementFinder.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/annotations/CreatesPage.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/annotations/ReturnsBrowser.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/annotations/ReturnsName.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/annotations/ReturnsWebElement.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/configuration/DefaultValue.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/configuration/Documentation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/configuration/NamedProperties.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/configuration/PropertiesFileGenerator.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/configuration/TypeDefinition.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/exceptions/IllegalSignatureException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/must/MustChecker.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/must/MustConditionException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/postconstruct/PostConstructInvocationException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/postconstruct/PostConstructInvoker.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/PageFragmentModel.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/PageFragmentProxyHandler.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/PageProxyHandler.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/arounds/EventProducingImplementationDecorator.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/befores/ActionOperation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/befores/BeforeOperation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/befores/MarkOperation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/AbstractIdentifyUsingCollectionImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/AttributeImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/BrowserReturningImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/DefaultMethodImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/HashCodeImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/IdentifyUsingImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/IdentifyUsingListImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/IdentifyUsingSetImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/IdentifyUsingStreamImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/Implementation.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/NameReturningImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/PageCreatingImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/ToStringImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/internal/proxies/impls/WebElementReturningImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/markings/Marker.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/mouse/Mouse.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/mouse/MouseActionSequence.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/mouse/MouseDragAction.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/mouse/MouseOnAction.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/mouse/MouseToAction.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Button.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Checkbox.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Div.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/EmailField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Form.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/GenericElement.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/GenericList.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/GenericSelect.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/GenericTextField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Headline.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/IFrame.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Image.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Link.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/ListItem.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/MultiSelect.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/NumberField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/OrderedList.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/PageFragment.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Paragraph.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/PasswordField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/RadioButton.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/SearchField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/SingleSelect.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Span.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/Table.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/TableField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/TableRow.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/TelephoneField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/TextArea.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/TextField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/UnorderedList.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/UrlField.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Action.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/As.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Attribute.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Be.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Cached.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/IdentifyUsing.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Mapping.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Mappings.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Mark.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Must.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Named.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Until.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/annotations/Wait.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/ByProducer.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/ByProducers.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/ClassName.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/CssSelector.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/Id.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/IdEndsWith.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/IdStartsWith.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/LinkText.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/Name.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/PartialLinkText.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/TagName.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/identification/producers/XPath.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/MappingException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/MappingValidator.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/MappingValidatorImpl.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/Validator.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/validators/JustTag.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/validators/NoOpValidator.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/validators/TagWithAttribute.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/validators/TagWithAttributeAndValues.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/mapping/validators/TagWithoutAttribute.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/traits/Clickable.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pagefragments/traits/Selectable.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/pages/Page.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/waiting/ConfiguredWait.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/waiting/TimeoutException.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/waiting/Wait.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/waiting/WaitOperations.java create mode 100644 webtester-core/src/main/java/info/novatec/testit/webtester/waiting/WaitUntil.java create mode 100644 webtester-core/src/main/resources/testit-webtester-default.properties create mode 100644 webtester-core/src/test/java/features/DebugMarkingsFeatureTest.java create mode 100644 webtester-core/src/test/java/features/IdentifyUsingFeatureTest.java create mode 100644 webtester-core/src/test/java/features/MouseUtilsFeatureTest.java create mode 100644 webtester-core/src/test/java/features/MustBeOnPageFragmentsFeatureTest.java create mode 100644 webtester-core/src/test/java/features/MustBeOnPagesFeatureTest.java create mode 100644 webtester-core/src/test/java/features/MustWithWaitFeatureTest.java create mode 100644 webtester-core/src/test/java/features/NamedPageFragmentsFeatureTest.java create mode 100644 webtester-core/src/test/java/features/PageFragmentCachingFeatureTest.java create mode 100644 webtester-core/src/test/java/features/PostConstructOnPageFragmentsFeatureTest.java create mode 100644 webtester-core/src/test/java/features/PostConstructOnPagesFeatureTest.java create mode 100644 webtester-core/src/test/java/features/WaitAnnotationFeatureTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/AlertHandlerTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/FocusTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/JavaScriptTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/NavigateTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/OpenTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/ScreenshotTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/browser/operations/WindowTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/AttributeTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/AttributeWithValueTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/DisabledTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/EditableTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/EnabledTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/InteractableTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/InvisibleTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/PresentAndVisibleTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/PresentTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedIndexTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedIndicesTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedTextTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedTextsTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedValueTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/SelectedValuesTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/VisibleTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/VisibleTextContainsTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/pagefragments/VisibleTextEqualsTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/syntax/EitherTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/syntax/HasTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/syntax/IsTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/conditions/syntax/NotTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/config/BaseConfigurationBuilderTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/config/BaseConfigurationTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/config/exporters/SystemPropertyConfigurationExporterTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/css/StyleChangerImplTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/events/EventSystemImplTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/internal/PostConstructInvokerTest.java create mode 100644 webtester-core/src/test/java/info/novatec/testit/webtester/waiting/WaitsTest.java create mode 100644 webtester-core/src/test/java/integration/BaseIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/NestedPageFragmentsIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/StaleElementIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/adhoc/AdHocFinderIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/browser/BrowserIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/browser/operations/AlertIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/browser/operations/PageSourceIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/browser/operations/ScreenshotIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/conditions/ReadOnlyIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/mouse/MouseIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/ButtonIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/CheckboxIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/DivIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/FormIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/GenericElementIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/GenericListIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/HeadlineIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/IFrameIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/ImageIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/LinkIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/ListItemIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/MultiSelectIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/NumberFieldIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/OrderedListIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/PageFragmentIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/ParagraphIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/PasswordFieldIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/RadioButtonIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/SingleSelectIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/SpanIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/TableFieldIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/TableIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/TableRowIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/TextAreaIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/TextFieldIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/UnorderedListIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/annotations/AttributeInjectionIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/pagefragments/identification/IdentificationIntegrationTest.java create mode 100644 webtester-core/src/test/java/integration/waiting/WaitsIntegrationTest.java create mode 100644 webtester-core/src/test/java/utils/MockFactory.java create mode 100644 webtester-core/src/test/java/utils/TestBrowserFactory.java create mode 100644 webtester-core/src/test/java/utils/TestUtils.java create mode 100644 webtester-core/src/test/java/utils/events/EventCaptor.java create mode 100644 webtester-core/src/test/java/utils/events/ExceptionEventCaptor.java create mode 100644 webtester-core/src/test/java/utils/events/MultiEventCaptor.java create mode 100644 webtester-core/src/test/java/utils/events/MultiEventCollectingListener.java create mode 100644 webtester-core/src/test/java/utils/events/SingleEventCollectingListener.java create mode 100644 webtester-core/src/test/resources/configurations/base_cfg.properties create mode 100644 webtester-core/src/test/resources/configurations/test_cfg.properties create mode 100644 webtester-core/src/test/resources/html/_style.css create mode 100644 webtester-core/src/test/resources/html/annotations/visible.html create mode 100644 webtester-core/src/test/resources/html/browser/alert.html create mode 100644 webtester-core/src/test/resources/html/browser/empty.html create mode 100644 webtester-core/src/test/resources/html/browser/pageSource.html create mode 100644 webtester-core/src/test/resources/html/browser/pageWithTitle.html create mode 100644 webtester-core/src/test/resources/html/browser/pageWithoutTitle.html create mode 100644 webtester-core/src/test/resources/html/conditions/conditions_readonly.html create mode 100644 webtester-core/src/test/resources/html/conditions/conditions_readonly.xhtml create mode 100644 webtester-core/src/test/resources/html/empty.html create mode 100644 webtester-core/src/test/resources/html/features/debug-markings.html create mode 100644 webtester-core/src/test/resources/html/features/identify-using.html create mode 100644 webtester-core/src/test/resources/html/features/mouse-utils.html create mode 100644 webtester-core/src/test/resources/html/features/must-be-with-wait.html create mode 100644 webtester-core/src/test/resources/html/features/must-be.html create mode 100644 webtester-core/src/test/resources/html/features/named-page-fragments.html create mode 100644 webtester-core/src/test/resources/html/features/page-fragment-caching.html create mode 100644 webtester-core/src/test/resources/html/features/post-construct.html create mode 100644 webtester-core/src/test/resources/html/features/wait-annotation.html create mode 100644 webtester-core/src/test/resources/html/nested-page-fragments.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/_frameContent.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/_image.png create mode 100644 webtester-core/src/test/resources/html/pagefragments/_targetPage.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/annotations/attribute-injection.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/button.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/checkbox.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/div.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/form.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/genericElement.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/genericList.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/headline.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/identification/by-producers.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/iframe.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/image.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/link.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/listItem.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/multiSelect.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/numberField.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/orderedList.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/pageFragment.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/paragraph.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/passwordField.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/radioButton.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/singleSelect.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/span.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/table.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/tableField.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/tableRow.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/textArea.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/textField.html create mode 100644 webtester-core/src/test/resources/html/pagefragments/unorderedList.html create mode 100644 webtester-core/src/test/resources/html/stale-elements.html create mode 100644 webtester-core/src/test/resources/html/utils/_image.png create mode 100644 webtester-core/src/test/resources/html/utils/ad-hoc-finding.html create mode 100644 webtester-core/src/test/resources/html/utils/mouse.html create mode 100644 webtester-core/src/test/resources/html/utils/waits.html create mode 100644 webtester-core/src/test/resources/logback.xml create mode 100644 webtester-core/src/test/resources/testit-webtester.properties create mode 100644 webtester-support-assertj3/.gitignore create mode 100644 webtester-support-assertj3/pom.xml create mode 100644 webtester-support-assertj3/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/WebTesterAssertions.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/AbstractWebTesterAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/AbstractPageFragmentAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/AbstractSelectAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/ButtonAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/GenericTextFieldAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/MultiSelectAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/PageFragmentAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/SelectableAssert.java create mode 100644 webtester-support-assertj3/src/main/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/SingleSelectAssert.java create mode 100644 webtester-support-assertj3/src/test/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/ButtonAssertTest.java create mode 100644 webtester-support-assertj3/src/test/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/GenericTextFieldAssertTest.java create mode 100644 webtester-support-assertj3/src/test/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/MultiSelectAssertTest.java create mode 100644 webtester-support-assertj3/src/test/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/PageFragmentAssertTest.java create mode 100644 webtester-support-assertj3/src/test/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/SelectableAssertTest.java create mode 100644 webtester-support-assertj3/src/test/java/info/novatec/testit/webtester/support/assertj/assertions/pagefragments/SingleSelectAssertTest.java create mode 100644 webtester-support-assertj3/src/test/resources/logback.xml create mode 100644 webtester-support-chrome/pom.xml create mode 100644 webtester-support-chrome/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-chrome/src/main/java/info/novatec/testit/webtester/browser/proxy/ChromeFactory.java create mode 100644 webtester-support-firefox/pom.xml create mode 100644 webtester-support-firefox/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-firefox/src/main/java/info/novatec/testit/webtester/browser/proxy/FirefoxFactory.java create mode 100644 webtester-support-hamcrest/pom.xml create mode 100644 webtester-support-hamcrest/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/WebTesterMatchers.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/HasMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/AttributeMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/AttributeValueMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/ButtonLabelMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/DisabledMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/EnabledMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/InvisibleMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NoOptionsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NoSelectedOptionsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NumberOfOptionsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NumberOfSelectedOptionsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/OptionsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/OptionsTextsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/OptionsValuesMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/PresentMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectedMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectedOptionsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionIndexMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionIndicesMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionTextMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionTextsMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionValueMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionValuesMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/TagMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/TextContainingMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/TextMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/VisibleMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/VisibleTextContainingMatcher.java create mode 100644 webtester-support-hamcrest/src/main/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/VisibleTextMatcher.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/AttributeMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/AttributeValueMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/ButtonLabelMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/DisabledMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/EnabledMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/InvisibleMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NoOptionsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NoSelectedOptionsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NumberOfOptionsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/NumberOfSelectedOptionsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/OptionsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/OptionsTextsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/OptionsValuesMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/PresentMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectedMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectedOptionsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionIndexMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionIndicesMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionTextMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionTextsMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionValueMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/SelectionValuesMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/TagMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/TextContainingMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/TextMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/VisibleMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/VisibleTextContainingMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/java/info/novatec/testit/webtester/support/hamcrest/matchers/pagefragments/VisibleTextMatcherTest.java create mode 100644 webtester-support-hamcrest/src/test/resources/logback.xml create mode 100644 webtester-support-ie/pom.xml create mode 100644 webtester-support-ie/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-ie/src/main/java/info/novatec/testit/webtester/browser/proxy/InternetExplorerFactory.java create mode 100644 webtester-support-junit4/pom.xml create mode 100644 webtester-support-junit4/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/annotations/ConfigurationValue.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/annotations/CreateUsing.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/annotations/EntryPoint.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/annotations/Primary.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/IllegalTestClassStructureException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/NoBrowserFactoryProvidedException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/NoManagedBrowserException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/NoPrimaryBrowserException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/NoStaticPrimaryBrowserException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/NoUniquePrimaryBrowserException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/NotOfInjectableFieldTypeException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/exceptions/WebTesterJUnitSupportException.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/runner/WebTesterJUnitRunner.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/runner/internal/AbstractTestBrowser.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/runner/internal/ClassTestBrowser.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/runner/internal/ConfigurationValueInjector.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/runner/internal/MethodTestBrowser.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/runner/internal/TestClassPlausibilityChecker.java create mode 100644 webtester-support-junit4/src/main/java/info/novatec/testit/webtester/junit/utils/ReflectionUtils.java create mode 100644 webtester-support-junit4/src/test/java/info/novatec/testit/webtester/junit/runner/WebTesterJUnitRunnerConfigurationValuesTest.java create mode 100644 webtester-support-junit4/src/test/java/info/novatec/testit/webtester/junit/runner/internal/ConfigurationValueInjectorTest.java create mode 100644 webtester-support-junit4/src/test/java/info/novatec/testit/webtester/junit/runner/internal/TestClassPlausibilityCheckerTest.java create mode 100644 webtester-support-junit4/src/test/java/info/novatec/testit/webtester/junit/utils/ReflectionUtilsTest.java create mode 100644 webtester-support-junit4/src/test/resources/logback.xml create mode 100644 webtester-support-junit4/src/test/resources/testit-webtester.properties create mode 100644 webtester-support-spring4/pom.xml create mode 100644 webtester-support-spring4/src/license/THIRD-PARTY.properties create mode 100644 webtester-support-spring4/src/main/java/info/novatec/testit/webtester/spring4/config/ConfigurationBuilderFactoryBean.java create mode 100644 webtester-support-spring4/src/main/java/info/novatec/testit/webtester/spring4/config/DefaultSpringConfigurationFactoryBean.java create mode 100644 webtester-support-spring4/src/main/java/info/novatec/testit/webtester/spring4/config/PrototypeConfigurationBuilderFactoryBean.java create mode 100644 webtester-support-spring4/src/main/java/info/novatec/testit/webtester/spring4/config/adapters/SpringEnvironmentConfigurationAdapter.java create mode 100644 webtester-support-spring4/src/test/java/info/novatec/testit/webtester/spring4/config/adapters/SpringEnvironmentConfigurationAdapterIntegrationTest.java create mode 100644 webtester-support-spring4/src/test/java/info/novatec/testit/webtester/spring4/config/adapters/SpringEnvironmentConfigurationAdapterTest.java create mode 100644 webtester-support-spring4/src/test/resources/banner.txt create mode 100644 webtester-support-spring4/src/test/resources/logback.xml create mode 100644 webtester-support-spring4/src/test/resources/spring-environment.properties create mode 100644 webtester-support-spring4/src/test/resources/testit-webtester.properties diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7f29d731 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +!.gitignore +.project +.classpath +.eclipse-pmd +.idea/ +*.iml +**/.settings/ +**/.metadata/ +**/target/ +target diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..a83ced09 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: java +jdk: + - oraclejdk8 +before_script: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" + - sleep 3 # give xvfb some time to start +script: + - mvn clean + - mvn verify -P code-quality,documentation,release +addons: + apt: + packages: + - oracle-java8-installer diff --git a/LICENSE b/LICENSE index 8dada3ed..d6456956 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -178,7 +179,7 @@ APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -186,7 +187,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..31cb29f6 --- /dev/null +++ b/NOTICE @@ -0,0 +1,14 @@ +testIT - WebTester +Copyright 2013 NovaTec Consulting GmbH + +This product includes software developed at +NovaTec Consulting GmbH (http://www.novatec-gmbh.de/). + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the LICENSE file. diff --git a/README.md b/README.md index f48db504..30d06388 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,42 @@ -# webtester2-core -This is the repository for WebTester 2 - The Java 8 version of WebTester! +[![License](https://img.shields.io/badge/License-Apache%20License%202.0-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt) +[![Build Status](https://travis-ci.org/testIT-WebTester/webtester2-core.svg?branch=master)](https://travis-ci.org/testIT-WebTester/webtester2-core) + +![testIT WebTester](documentation/images/logo-650x157.png) + +> This is the Java 8 optimized version of WebTester (v2.x), for Java 6 and 7 versions see [1.x](https://github.com/testIT-WebTester/webtester-core). + +testIT WebTester is a web-application UI test automation framework based on Selenium (http://www.seleniumhq.org). + +It is the product of years of consulting experience in various projects and aims at providing a very intuitive, declarative and extendable API for writing programmatic UI tests in Java. + +### Features +- Java 8 optimized API +- Page Object Pattern as it's main focus +- Functional page elements instead of generic WebElement API +- Script style testing support using Ad-Hoc element identification API +- Composition of pages and page fragments over inheritance +- Declarative interface-based programming model +- Event System for traceability and custom action +- Option to highlight used elements as a visual debugging support +- Support modules for the integration with frameworks like: assertj, hamcrest, junit, spring +- If you must, Selenium is always just a method call away. + +### Get in touch +You can contact us by writing an [e-mail](mailto:webtester@novatec-gmbh.de) or create an [issue](https://github.com/testIT-WebTester/webtester2-core/issues). + +### Documentation +The [user documentation](documentation/README.md) is part of the repository and provides in-depth documentation on all the features. +If you have further questions please get in touch with us. + +### Contribute +If you want to contribute to WebTester, fork the repository, make your additions and changes and create a pull request. +Things you need to know are documented [here](https://github.com/testIT-WebTester/webtester2-core/wiki/Contribution). + +### Issues +If you experience any issues please use GitHub's [issue](https://github.com/testIT-WebTester/webtester2-core/issues) system to tell us about it! + +### Licensing +testIT WebTester is licensed under [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt). + +### Sponsoring +testIT WebTester is mainly developed by [NovaTec Consulting GmbH](http://www.novatec-gmbh.de/), a German consultancy firm that drives quality in software development projects. diff --git a/development/eclipse_formatter.xml b/development/eclipse_formatter.xml new file mode 100644 index 00000000..d1cc1337 --- /dev/null +++ b/development/eclipse_formatter.xml @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/development/intellij-formatter-settings.jar b/development/intellij-formatter-settings.jar new file mode 100644 index 0000000000000000000000000000000000000000..54d1fa807852b83df7684f9e274e0d1e0bcd4cdf GIT binary patch literal 1690 zcmWIWW@Zs#;Nak35MEZ`&VU5ufb9H&lFaK)pD=AyP+inrcJW53@aT6+>)7@ruq%hn0m|EuN_q%IYW;2-i%<8r``F(F)*?qm!34(W7tF~8g zm^BLin*E?!pRdfYx7Yue#;v?R7JS?Gt~Nd_;nM$6i>p}qvRY8que8sox{u$MUb@z;ah4Q({ROq|&Z8$ln`h-)P*^-NkV!O`NJ>KtL|M7PG zzIz+f|3n_;|MW7wZqMQD{P|7uHg^B5*jn-Ty8eTM&kXA}h9?#jgf08?)c&`6=KH^2 z*Byy|`s4Q8CnW_J%YF)O>CX5pxJCZpPOkTh&nJF)bNt{V`w#rTTKBO1^_du2$YnK8 z;JRfAOTyLzOaJxl+FAI<=B}!OT(q_ab&tWMf7Qozws8%*~=tm3Pdz4j+@{T`g?XviGsmS z*1L_)5`~OWJgkQPhxsR_EOB^Jbi=*oX2Th&;~#TeFHc%}mi@$qbvgMDIZ|BCn3gM^ zj+`rVf0Bpz`xWUSz6P;H=gxFK=(*Q4)up*~PD1|GZ^r|bCNG$F&)K0xp?Hl#sL1-t zZcpFti;WukNmEbgP5;U<(KF}w0*#kFR+{Wv<`%3r=1G_M-ZImqCnVJ)c>UpCrnHk% zE|Y~@kIpS++_P)Op_*f@S5JDY`^?*F^7vWH0;Z^?2_C1r@}IA1n&hec(ERZ4Y3kPm zOG9q0o%?x}!tH}8LMc{}(Kjy#UNe;1{lMXEywn+8yV(KKR*AcmFRYqed(mZjFgJ5gYm(SEXAeC;#6bj*m7eqWEIqA%%2!9zQ}@x+qSI%*3$=Xp+qAeolyaWX^gVy(@lz&nnZT{s z*`=j@Bx*Tr~rS-2{Ma|0e5kQFzY0ciBfo>Is!SELB$sWd;&6&G-5Bz zko^P-BILjW#SH?au%N{hx>k@ + +