├── .gitignore ├── .idea ├── .name ├── codeStyleSettings.xml ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── libraries │ ├── Gradle__antlr_antlr_2_7_7.xml │ ├── Gradle__axis_axis_1_4.xml │ ├── Gradle__axis_axis_jaxrpc_1_4.xml │ ├── Gradle__axis_axis_saaj_1_4.xml │ ├── Gradle__axis_axis_wsdl4j_1_5_1.xml │ ├── Gradle__biz_futureware_mantis_mantis_axis_soap_client_1_2_19.xml │ ├── Gradle__cglib_cglib_nodep_2_1_3.xml │ ├── Gradle__ch_qos_logback_logback_classic_1_1_5.xml │ ├── Gradle__ch_qos_logback_logback_core_1_1_5.xml │ ├── Gradle__com_beust_jcommander_1_48.xml │ ├── Gradle__com_fasterxml_classmate_1_3_0.xml │ ├── Gradle__com_google_code_findbugs_jsr305_1_3_9.xml │ ├── Gradle__com_google_code_gson_gson_2_3_1.xml │ ├── Gradle__com_google_code_gson_gson_2_6_1.xml │ ├── Gradle__com_google_guava_guava_19_0.xml │ ├── Gradle__com_google_guava_guava_19_0_rc2.xml │ ├── Gradle__com_jayway_restassured_json_path_2_9_0.xml │ ├── Gradle__com_jayway_restassured_rest_assured_2_9_0.xml │ ├── Gradle__com_jayway_restassured_rest_assured_common_2_9_0.xml │ ├── Gradle__com_jayway_restassured_xml_path_2_9_0.xml │ ├── Gradle__com_jcabi_incubator_xembly_0_22.xml │ ├── Gradle__com_jcabi_jcabi_aspects_0_22_2.xml │ ├── Gradle__com_jcabi_jcabi_github_0_27.xml │ ├── Gradle__com_jcabi_jcabi_http_1_14_2.xml │ ├── Gradle__com_jcabi_jcabi_immutable_1_4.xml │ ├── Gradle__com_jcabi_jcabi_log_0_17.xml │ ├── Gradle__com_jcabi_jcabi_manifests_1_1.xml │ ├── Gradle__com_jcabi_jcabi_xml_0_17_2.xml │ ├── Gradle__com_sun_istack_istack_commons_runtime_2_16.xml │ ├── Gradle__com_sun_jersey_jersey_client_1_18_1.xml │ ├── Gradle__com_sun_jersey_jersey_core_1_18_1.xml │ ├── Gradle__com_sun_xml_bind_jaxb_core_2_2_7.xml │ ├── Gradle__com_sun_xml_bind_jaxb_impl_2_2_7.xml │ ├── Gradle__com_sun_xml_fastinfoset_FastInfoset_1_2_12.xml │ ├── Gradle__com_thoughtworks_xstream_xstream_1_4_8.xml │ ├── Gradle__commons_beanutils_commons_beanutils_core_1_8_3.xml │ ├── Gradle__commons_codec_commons_codec_1_10.xml │ ├── Gradle__commons_codec_commons_codec_1_9.xml │ ├── Gradle__commons_collections_commons_collections_3_2_2.xml │ ├── Gradle__commons_discovery_commons_discovery_0_2.xml │ ├── Gradle__commons_io_commons_io_2_4.xml │ ├── Gradle__commons_logging_commons_logging_1_2.xml │ ├── Gradle__commons_net_commons_net_3_4.xml │ ├── Gradle__dom4j_dom4j_1_6_1.xml │ ├── Gradle__info_cukes_cucumber_core_1_2_4.xml │ ├── Gradle__info_cukes_cucumber_html_0_2_3.xml │ ├── Gradle__info_cukes_cucumber_java_1_2_4.xml │ ├── Gradle__info_cukes_cucumber_jvm_deps_1_0_5.xml │ ├── Gradle__info_cukes_cucumber_testng_1_2_4.xml │ ├── Gradle__info_cukes_gherkin_2_12_2.xml │ ├── Gradle__io_netty_netty_3_5_2_Final.xml │ ├── Gradle__javax_activation_activation_1_1_1.xml │ ├── Gradle__javax_mail_mail_1_4_4.xml │ ├── Gradle__javax_validation_validation_api_1_1_0_Final.xml │ ├── Gradle__javax_xml_bind_jaxb_api_2_2_7.xml │ ├── Gradle__javax_xml_bind_jsr173_api_1_0.xml │ ├── Gradle__log4j_log4j_1_2_17.xml │ ├── Gradle__mysql_mysql_connector_java_5_1_38.xml │ ├── Gradle__net_java_dev_jna_jna_4_1_0.xml │ ├── Gradle__net_java_dev_jna_jna_platform_4_1_0.xml │ ├── Gradle__net_sourceforge_cssparser_cssparser_0_9_16.xml │ ├── Gradle__net_sourceforge_htmlunit_htmlunit_2_18.xml │ ├── Gradle__net_sourceforge_htmlunit_htmlunit_core_js_2_17.xml │ ├── Gradle__net_sourceforge_nekohtml_nekohtml_1_9_22.xml │ ├── Gradle__org_antlr_antlr_runtime_3_5_2.xml │ ├── Gradle__org_apache_axis_axis_jaxrpc_1_4.xml │ ├── Gradle__org_apache_axis_axis_saaj_1_4.xml │ ├── Gradle__org_apache_commons_commons_exec_1_3.xml │ ├── Gradle__org_apache_commons_commons_lang3_3_3_2.xml │ ├── Gradle__org_apache_commons_commons_lang3_3_4.xml │ ├── Gradle__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml │ ├── Gradle__org_apache_httpcomponents_fluent_hc_4_5_1.xml │ ├── Gradle__org_apache_httpcomponents_httpclient_4_5_1.xml │ ├── Gradle__org_apache_httpcomponents_httpcore_4_4_3.xml │ ├── Gradle__org_apache_httpcomponents_httpcore_4_4_4.xml │ ├── Gradle__org_apache_httpcomponents_httpmime_4_5.xml │ ├── Gradle__org_apache_httpcomponents_httpmime_4_5_1.xml │ ├── Gradle__org_apache_tika_tika_core_1_5.xml │ ├── Gradle__org_aspectj_aspectjrt_1_7_4.xml │ ├── Gradle__org_aspectj_aspectjrt_1_8_7.xml │ ├── Gradle__org_beanshell_bsh_2_0b4.xml │ ├── Gradle__org_ccil_cowan_tagsoup_tagsoup_1_2_1.xml │ ├── Gradle__org_codehaus_groovy_groovy_2_4_4.xml │ ├── Gradle__org_codehaus_groovy_groovy_json_2_4_4.xml │ ├── Gradle__org_codehaus_groovy_groovy_xml_2_4_4.xml │ ├── Gradle__org_eclipse_jetty_jetty_io_9_2_12_v20150709.xml │ ├── Gradle__org_eclipse_jetty_jetty_util_9_2_12_v20150709.xml │ ├── Gradle__org_eclipse_jetty_websocket_websocket_api_9_2_12_v20150709.xml │ ├── Gradle__org_eclipse_jetty_websocket_websocket_client_9_2_12_v20150709.xml │ ├── Gradle__org_eclipse_jetty_websocket_websocket_common_9_2_12_v20150709.xml │ ├── Gradle__org_glassfish_javax_json_1_0_4.xml │ ├── Gradle__org_hamcrest_hamcrest_core_1_3.xml │ ├── Gradle__org_hamcrest_hamcrest_library_1_3.xml │ ├── Gradle__org_hamcrest_java_hamcrest_2_0_0_0.xml │ ├── Gradle__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml │ ├── Gradle__org_hibernate_hibernate_core_5_1_0_Final.xml │ ├── Gradle__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml │ ├── Gradle__org_javassist_javassist_3_20_0_GA.xml │ ├── Gradle__org_jboss_jandex_2_0_0_Final.xml │ ├── Gradle__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ ├── Gradle__org_jvnet_jaxb2_commons_jaxb2_basics_runtime_0_6_5.xml │ ├── Gradle__org_robotframework_robotframework_3_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_api_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_chrome_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_edge_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_firefox_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_htmlunit_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_ie_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_java_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_leg_rc_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_remote_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_safari_driver_2_52_0.xml │ ├── Gradle__org_seleniumhq_selenium_selenium_support_2_52_0.xml │ ├── Gradle__org_slf4j_slf4j_api_1_7_16.xml │ ├── Gradle__org_slf4j_slf4j_api_1_7_5.xml │ ├── Gradle__org_slf4j_slf4j_simple_1_7_7.xml │ ├── Gradle__org_subethamail_subethasmtp_3_1_7.xml │ ├── Gradle__org_testng_testng_6_9_10.xml │ ├── Gradle__org_w3c_css_sac_1_3.xml │ ├── Gradle__org_webbitserver_webbit_0_4_14.xml │ ├── Gradle__ru_lanwen_verbalregex_java_verbal_expressions_1_4.xml │ ├── Gradle__ru_yandex_qatools_allure_allure_java_annotations_1_4_0_RC4.xml │ ├── Gradle__ru_yandex_qatools_allure_allure_java_aspects_1_4_0_RC4.xml │ ├── Gradle__ru_yandex_qatools_allure_allure_java_commons_1_4_0_RC4.xml │ ├── Gradle__ru_yandex_qatools_allure_allure_model_1_4_0_RC4.xml │ ├── Gradle__ru_yandex_qatools_allure_allure_testng_adaptor_1_4_0_RC4.xml │ ├── Gradle__ru_yandex_qatools_properties_properties_loader_1_5.xml │ ├── Gradle__xalan_serializer_2_7_2.xml │ ├── Gradle__xalan_xalan_2_7_2.xml │ ├── Gradle__xerces_xercesImpl_2_11_0.xml │ ├── Gradle__xml_apis_xml_apis_1_4_01.xml │ ├── Gradle__xmlpull_xmlpull_1_1_3_1.xml │ └── Gradle__xpp3_xpp3_min_1_1_4c.xml ├── misc.xml ├── modules.xml ├── modules │ ├── addressbook-web-tests.iml │ ├── addressbook-web-tests_main.iml │ ├── addressbook-web-tests_test.iml │ ├── github-sample.iml │ ├── github-sample_main.iml │ ├── github-sample_test.iml │ ├── mantis-tests.iml │ ├── mantis-tests_main.iml │ ├── mantis-tests_test.iml │ ├── rest-sample.iml │ ├── rest-sample_main.iml │ ├── rest-sample_test.iml │ ├── sandbox.iml │ ├── sandbox_main.iml │ ├── sandbox_test.iml │ ├── soap-sample.iml │ ├── soap-sample_main.iml │ └── soap-sample_test.iml ├── uiDesigner.xml └── vcs.xml ├── LICENSE ├── README.md ├── addressbook-web-tests ├── IEDriverServer.exe ├── build.gradle ├── chromedriver.exe ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── src │ └── test │ │ ├── java │ │ └── ru │ │ │ └── stqa │ │ │ └── pft │ │ │ └── addressbook │ │ │ ├── appmanager │ │ │ ├── ApplicationManager.java │ │ │ ├── ContactHelper.java │ │ │ ├── DbHelper.java │ │ │ ├── GroupHelper.java │ │ │ ├── HelperBase.java │ │ │ ├── NavigationHelper.java │ │ │ └── SessionHelper.java │ │ │ ├── bdd │ │ │ ├── GroupStepDefinitions.java │ │ │ └── GroupTests.java │ │ │ ├── generators │ │ │ └── GroupDataGenerator.java │ │ │ ├── model │ │ │ ├── ContactData.java │ │ │ ├── GroupData.java │ │ │ └── Groups.java │ │ │ ├── rf │ │ │ └── AddressbookKeywords.java │ │ │ └── tests │ │ │ ├── ContactCreationTests.java │ │ │ ├── ContactModificationTests.java │ │ │ ├── ContactPhoneTests.java │ │ │ ├── DbConnectionTest.java │ │ │ ├── GroupCreationTests.java │ │ │ ├── GroupDeletionTests.java │ │ │ ├── GroupModificationTests.java │ │ │ ├── HbConnectionTest.java │ │ │ ├── MyTestListener.java │ │ │ └── TestBase.java │ │ └── resources │ │ ├── allure.properties │ │ ├── bdd │ │ └── groups.feature │ │ ├── groups.csv │ │ ├── groups.json │ │ ├── groups.xml │ │ ├── hibernate.cfg.xml │ │ ├── local.properties │ │ ├── logback.xml │ │ ├── remote.properties │ │ ├── rf │ │ └── groups.robot │ │ ├── stru.png │ │ ├── testng-contacts.xml │ │ └── testng-groups.xml └── tests.uml ├── github-sample ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ └── test │ └── java │ └── ru │ └── stqa │ └── pft │ └── github │ └── GithubTests.java ├── mantis-tests ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ └── test │ ├── java │ └── ru │ │ └── stqa │ │ └── pft │ │ └── mantis │ │ ├── appmanager │ │ ├── ApplicationManager.java │ │ ├── FtpHelper.java │ │ ├── HelperBase.java │ │ ├── HttpSession.java │ │ ├── JamesHelper.java │ │ ├── MailHelper.java │ │ ├── RegistrationHelper.java │ │ └── SoapHelper.java │ │ ├── model │ │ ├── Issue.java │ │ ├── MailMessage.java │ │ └── Project.java │ │ └── tests │ │ ├── LoginTests.java │ │ ├── MailTests.java │ │ ├── RegistrationTests.java │ │ ├── SoapTests.java │ │ └── TestBase.java │ └── resources │ ├── config_inc.php │ └── local.properties ├── rest-sample ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ └── test │ └── java │ └── ru │ └── stqa │ └── pft │ └── rest │ ├── Issue.java │ ├── RestAssuredTests.java │ └── RestTests.java ├── sandbox ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ ├── main │ └── java │ │ └── ru │ │ └── stqa │ │ └── pft │ │ └── sandbox │ │ ├── Collections.java │ │ ├── Equality.java │ │ ├── Equation.java │ │ ├── MyFirstProgram.java │ │ ├── Primes.java │ │ ├── Rectangle.java │ │ └── Square.java │ └── test │ └── java │ └── ru │ └── stqa │ └── pft │ └── sandbox │ ├── EquationTests.java │ ├── PrimeTests.java │ └── SquareTests.java └── soap-sample ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src ├── main ├── java │ └── net │ │ └── webservicex │ │ ├── GeoIP.java │ │ ├── GeoIPService.java │ │ ├── GeoIPServiceHttpGet.java │ │ ├── GeoIPServiceHttpPost.java │ │ ├── GeoIPServiceSoap.java │ │ ├── GetGeoIP.java │ │ ├── GetGeoIPContext.java │ │ ├── GetGeoIPContextResponse.java │ │ ├── GetGeoIPResponse.java │ │ ├── ObjectFactory.java │ │ └── package-info.java └── resources │ └── geoipservice.wsdl └── test └── java └── ru └── stqa └── pft └── soap └── GeoIpServiceTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | build/ 3 | 4 | # Ignore Gradle GUI config 5 | gradle-app.setting 6 | 7 | # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) 8 | !gradle-wrapper.jar 9 | .idea/workspace.xml 10 | *.log 11 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | sandbox -------------------------------------------------------------------------------- /.idea/codeStyleSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 13 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__antlr_antlr_2_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__axis_axis_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__axis_axis_jaxrpc_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__axis_axis_saaj_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__axis_axis_wsdl4j_1_5_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__biz_futureware_mantis_mantis_axis_soap_client_1_2_19.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__cglib_cglib_nodep_2_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ch_qos_logback_logback_classic_1_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ch_qos_logback_logback_core_1_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_beust_jcommander_1_48.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_fasterxml_classmate_1_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_google_code_findbugs_jsr305_1_3_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_google_code_gson_gson_2_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_google_code_gson_gson_2_6_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_google_guava_guava_19_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_google_guava_guava_19_0_rc2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jayway_restassured_json_path_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jayway_restassured_rest_assured_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jayway_restassured_rest_assured_common_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jayway_restassured_xml_path_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_incubator_xembly_0_22.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_aspects_0_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_github_0_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_http_1_14_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_immutable_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_log_0_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_manifests_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_jcabi_jcabi_xml_0_17_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_sun_istack_istack_commons_runtime_2_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_sun_jersey_jersey_client_1_18_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_sun_jersey_jersey_core_1_18_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_sun_xml_bind_jaxb_core_2_2_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_sun_xml_bind_jaxb_impl_2_2_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_sun_xml_fastinfoset_FastInfoset_1_2_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_thoughtworks_xstream_xstream_1_4_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_beanutils_commons_beanutils_core_1_8_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_codec_commons_codec_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_codec_commons_codec_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_collections_commons_collections_3_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_discovery_commons_discovery_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_io_commons_io_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_logging_commons_logging_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_net_commons_net_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__dom4j_dom4j_1_6_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_core_1_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_html_0_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_java_1_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_jvm_deps_1_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_testng_1_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_gherkin_2_12_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__io_netty_netty_3_5_2_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__javax_activation_activation_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__javax_mail_mail_1_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__javax_validation_validation_api_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__javax_xml_bind_jaxb_api_2_2_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__javax_xml_bind_jsr173_api_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__log4j_log4j_1_2_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__mysql_mysql_connector_java_5_1_38.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__net_java_dev_jna_jna_4_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__net_java_dev_jna_jna_platform_4_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__net_sourceforge_cssparser_cssparser_0_9_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__net_sourceforge_htmlunit_htmlunit_2_18.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__net_sourceforge_htmlunit_htmlunit_core_js_2_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__net_sourceforge_nekohtml_nekohtml_1_9_22.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_axis_axis_jaxrpc_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_axis_axis_saaj_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_commons_commons_exec_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_commons_commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_commons_commons_lang3_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_httpcomponents_fluent_hc_4_5_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_httpcomponents_httpclient_4_5_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_httpcomponents_httpcore_4_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_httpcomponents_httpcore_4_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_httpcomponents_httpmime_4_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_httpcomponents_httpmime_4_5_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_tika_tika_core_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_aspectj_aspectjrt_1_7_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_aspectj_aspectjrt_1_8_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_beanshell_bsh_2_0b4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_ccil_cowan_tagsoup_tagsoup_1_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_codehaus_groovy_groovy_2_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_codehaus_groovy_groovy_json_2_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_codehaus_groovy_groovy_xml_2_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_eclipse_jetty_jetty_io_9_2_12_v20150709.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_eclipse_jetty_jetty_util_9_2_12_v20150709.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_eclipse_jetty_websocket_websocket_api_9_2_12_v20150709.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_eclipse_jetty_websocket_websocket_client_9_2_12_v20150709.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_eclipse_jetty_websocket_websocket_common_9_2_12_v20150709.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hamcrest_java_hamcrest_2_0_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hibernate_hibernate_core_5_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_javassist_javassist_3_20_0_GA.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_jboss_jandex_2_0_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_jboss_logging_jboss_logging_3_3_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_jvnet_jaxb2_commons_jaxb2_basics_runtime_0_6_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_robotframework_robotframework_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_api_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_chrome_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_edge_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_firefox_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_htmlunit_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_ie_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_java_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_leg_rc_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_remote_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_safari_driver_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_seleniumhq_selenium_selenium_support_2_52_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_slf4j_simple_1_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_subethamail_subethasmtp_3_1_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_testng_testng_6_9_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_w3c_css_sac_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_webbitserver_webbit_0_4_14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_lanwen_verbalregex_java_verbal_expressions_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_yandex_qatools_allure_allure_java_annotations_1_4_0_RC4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_yandex_qatools_allure_allure_java_aspects_1_4_0_RC4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_yandex_qatools_allure_allure_java_commons_1_4_0_RC4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_yandex_qatools_allure_allure_model_1_4_0_RC4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_yandex_qatools_allure_allure_testng_adaptor_1_4_0_RC4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ru_yandex_qatools_properties_properties_loader_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__xalan_serializer_2_7_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__xalan_xalan_2_7_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__xerces_xercesImpl_2_11_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__xml_apis_xml_apis_1_4_01.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__xmlpull_xmlpull_1_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__xpp3_xpp3_min_1_1_4c.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/modules/addressbook-web-tests.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules/github-sample.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules/mantis-tests.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules/rest-sample.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules/sandbox.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules/sandbox_main.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/modules/sandbox_test.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.idea/modules/soap-sample.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules/soap-sample_main.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/modules/soap-sample_test.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # java_pft 2 | -------------------------------------------------------------------------------- /addressbook-web-tests/IEDriverServer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/barancev/java_pft/453ff42d9a7080c4df65447cac8cd5a8ea307ce6/addressbook-web-tests/IEDriverServer.exe -------------------------------------------------------------------------------- /addressbook-web-tests/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | repositories { 4 | mavenCentral() 5 | } 6 | 7 | configurations { 8 | agent 9 | } 10 | 11 | dependencies { 12 | compile 'org.testng:testng:6.9.10' 13 | compile 'org.seleniumhq.selenium:selenium-java:2.52.0' 14 | compile 'org.hamcrest:java-hamcrest:2.0.0.0' 15 | compile 'com.beust:jcommander:1.48' 16 | compile 'com.thoughtworks.xstream:xstream:1.4.8' 17 | compile 'com.google.code.gson:gson:2.6.1' 18 | compile 'ch.qos.logback:logback-classic:1.1.5' 19 | compile 'mysql:mysql-connector-java:5.1.38' 20 | compile 'org.hibernate:hibernate-core:5.1.0.Final' 21 | agent "org.aspectj:aspectjweaver:1.8.0" 22 | compile "ru.yandex.qatools.allure:allure-testng-adaptor:1.4.0.RC4" 23 | compile 'org.robotframework:robotframework:3.0' 24 | compile 'info.cukes:cucumber-java:1.2.4' 25 | compile 'info.cukes:cucumber-testng:1.2.4' 26 | } 27 | 28 | task testGroups(type: Test) { 29 | useTestNG { 30 | suites 'src/test/resources/testng-groups.xml' 31 | } 32 | if (project.hasProperty('browser')) { 33 | systemProperty 'browser', "${browser}" 34 | } 35 | if (project.hasProperty('platform')) { 36 | systemProperty 'platform', "${platform}" 37 | } 38 | if (project.hasProperty('target')) { 39 | systemProperty 'target', "${target}" 40 | } 41 | if (project.hasProperty('verifyUI')) { 42 | systemProperty 'verifyUI', "${verifyUI}" 43 | } 44 | } 45 | 46 | testGroups.doFirst { 47 | jvmArgs "-javaagent:${configurations.agent.singleFile}" 48 | } 49 | 50 | task testContacts(type: Test) { 51 | useTestNG { 52 | suites 'src/test/resources/testng-contacts.xml' 53 | } 54 | if (project.hasProperty('browser')) { 55 | systemProperty 'browser', "${browser}" 56 | } 57 | if (project.hasProperty('platform')) { 58 | systemProperty 'platform', "${platform}" 59 | } 60 | if (project.hasProperty('target')) { 61 | systemProperty 'target', "${target}" 62 | } 63 | if (project.hasProperty('verifyUI')) { 64 | systemProperty 'verifyUI', "${verifyUI}" 65 | } 66 | } 67 | 68 | task rf(type: JavaExec) { 69 | main = 'org.robotframework.RobotFramework' 70 | classpath = sourceSets.test.runtimeClasspath 71 | args '--outputdir', 'build/rf-report' 72 | args 'src/test/resources/rf' 73 | } -------------------------------------------------------------------------------- /addressbook-web-tests/chromedriver.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/barancev/java_pft/453ff42d9a7080c4df65447cac8cd5a8ea307ce6/addressbook-web-tests/chromedriver.exe -------------------------------------------------------------------------------- /addressbook-web-tests/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/barancev/java_pft/453ff42d9a7080c4df65447cac8cd5a8ea307ce6/addressbook-web-tests/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /addressbook-web-tests/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Mar 09 12:19:56 MSK 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-bin.zip 7 | -------------------------------------------------------------------------------- /addressbook-web-tests/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/appmanager/DbHelper.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.appmanager; 2 | 3 | import org.hibernate.Session; 4 | import org.hibernate.SessionFactory; 5 | import org.hibernate.boot.MetadataSources; 6 | import org.hibernate.boot.registry.StandardServiceRegistry; 7 | import org.hibernate.boot.registry.StandardServiceRegistryBuilder; 8 | import ru.stqa.pft.addressbook.model.ContactData; 9 | import ru.stqa.pft.addressbook.model.GroupData; 10 | import ru.stqa.pft.addressbook.model.Groups; 11 | 12 | import java.util.List; 13 | 14 | public class DbHelper { 15 | 16 | private final SessionFactory sessionFactory; 17 | 18 | public DbHelper() { 19 | // A SessionFactory is set up once for an application! 20 | final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() 21 | .configure() // configures settings from hibernate.cfg.xml 22 | .build(); 23 | sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); 24 | } 25 | 26 | public Groups groups() { 27 | Session session = sessionFactory.openSession(); 28 | session.beginTransaction(); 29 | List result = session.createQuery("from GroupData").list(); 30 | session.getTransaction().commit(); 31 | session.close(); 32 | return new Groups(result); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/appmanager/HelperBase.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.appmanager; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.NoAlertPresentException; 5 | import org.openqa.selenium.NoSuchElementException; 6 | import org.openqa.selenium.WebDriver; 7 | import org.openqa.selenium.firefox.FirefoxDriver; 8 | 9 | import java.io.File; 10 | 11 | public class HelperBase { 12 | protected WebDriver wd; 13 | 14 | public HelperBase(WebDriver wd) { 15 | this.wd = wd; 16 | } 17 | 18 | protected void click(By locator) { 19 | wd.findElement(locator).click(); 20 | } 21 | 22 | protected void type(By locator, String text) { 23 | click(locator); 24 | if (text != null) { 25 | String existingText = wd.findElement(locator).getAttribute("value"); 26 | if (! text.equals(existingText)) { 27 | wd.findElement(locator).clear(); 28 | wd.findElement(locator).sendKeys(text); 29 | } 30 | } 31 | } 32 | 33 | protected void attach(By locator, File file) { 34 | if (file != null) { 35 | wd.findElement(locator).sendKeys(file.getAbsolutePath()); 36 | } 37 | } 38 | 39 | public boolean isAlertPresent() { 40 | try { 41 | wd.switchTo().alert(); 42 | return true; 43 | } catch (NoAlertPresentException e) { 44 | return false; 45 | } 46 | } 47 | 48 | protected boolean isElementPresent(By locator) { 49 | try { 50 | wd.findElement(locator); 51 | return true; 52 | } catch (NoSuchElementException ex) { 53 | return false; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/appmanager/NavigationHelper.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.appmanager; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.firefox.FirefoxDriver; 6 | 7 | public class NavigationHelper extends HelperBase { 8 | 9 | public NavigationHelper(WebDriver wd) { 10 | super(wd); 11 | } 12 | 13 | public void groupPage() { 14 | if (isElementPresent(By.tagName("h1")) 15 | && wd.findElement(By.tagName("h1")).getText().equals("Groups") 16 | && isElementPresent(By.name("new"))) { 17 | return; 18 | } 19 | click(By.linkText("groups")); 20 | } 21 | 22 | public void gotoHomePage() { 23 | if (isElementPresent(By.id("maintable"))) { 24 | return; 25 | } 26 | click(By.linkText("home")); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/appmanager/SessionHelper.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.appmanager; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.firefox.FirefoxDriver; 6 | 7 | public class SessionHelper extends HelperBase { 8 | 9 | public SessionHelper(WebDriver wd) { 10 | super(wd); 11 | } 12 | 13 | public void login(String username, String password) { 14 | type(By.name("user"), username); 15 | type(By.name("pass"), password); 16 | click(By.xpath("//form[@id='LoginForm']/input[3]")); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/bdd/GroupStepDefinitions.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.bdd; 2 | 3 | import cucumber.api.java.After; 4 | import cucumber.api.java.Before; 5 | import cucumber.api.java.en.Given; 6 | import cucumber.api.java.en.Then; 7 | import cucumber.api.java.en.When; 8 | import org.hamcrest.CoreMatchers; 9 | import org.hamcrest.MatcherAssert; 10 | import org.openqa.selenium.remote.BrowserType; 11 | import ru.stqa.pft.addressbook.appmanager.ApplicationManager; 12 | import ru.stqa.pft.addressbook.model.GroupData; 13 | import ru.stqa.pft.addressbook.model.Groups; 14 | 15 | import java.io.IOException; 16 | 17 | import static org.hamcrest.CoreMatchers.equalTo; 18 | import static org.hamcrest.MatcherAssert.assertThat; 19 | 20 | public class GroupStepDefinitions { 21 | 22 | private ApplicationManager app; 23 | private Groups groups; 24 | private GroupData newGroup; 25 | 26 | @Before 27 | public void init() throws IOException { 28 | app = new ApplicationManager(System.getProperty("browser", BrowserType.FIREFOX)); 29 | app.init(); 30 | } 31 | 32 | @After 33 | public void stop() { 34 | app.stop(); 35 | app = null; 36 | } 37 | 38 | @Given("^a set of groups$") 39 | public void loadGroups() { 40 | groups = app.db().groups(); 41 | } 42 | 43 | @When("^I create a new group with name (.+), header (.+) and footer (.+)$") 44 | public void createGroup(String name, String header, String footer) { 45 | newGroup = new GroupData().withName(name).withHeader(header).withFooter(footer); 46 | app.goTo().groupPage(); 47 | app.group().create(newGroup); 48 | } 49 | 50 | @Then("^the new set of groups is equal to the old set with the added group$") 51 | public void verifyGroupCreated() { 52 | Groups newGroups = app.db().groups(); 53 | assertThat(newGroups, equalTo( 54 | groups.withAdded(newGroup.withId(newGroups.stream().mapToInt((g) -> g.getId()).max().getAsInt())))); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/bdd/GroupTests.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.bdd; 2 | 3 | import cucumber.api.CucumberOptions; 4 | import cucumber.api.testng.AbstractTestNGCucumberTests; 5 | 6 | @CucumberOptions(features = "classpath:bdd", plugin = {"pretty", "html:build/cucumber-report"}) 7 | public class GroupTests extends AbstractTestNGCucumberTests { 8 | } 9 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/model/Groups.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.model; 2 | 3 | import com.google.common.collect.ForwardingSet; 4 | 5 | import java.util.Collection; 6 | import java.util.HashSet; 7 | import java.util.List; 8 | import java.util.Set; 9 | 10 | public class Groups extends ForwardingSet { 11 | 12 | private Set delegate; 13 | 14 | public Groups(Groups groups) { 15 | this.delegate = new HashSet(groups.delegate); 16 | } 17 | 18 | public Groups() { 19 | this.delegate = new HashSet(); 20 | } 21 | 22 | public Groups(Collection groups) { 23 | this.delegate = new HashSet(groups); 24 | } 25 | 26 | @Override 27 | protected Set delegate() { 28 | return delegate; 29 | } 30 | 31 | public Groups withAdded(GroupData group) { 32 | Groups groups = new Groups(this); 33 | groups.add(group); 34 | return groups; 35 | } 36 | 37 | public Groups without(GroupData group) { 38 | Groups groups = new Groups(this); 39 | groups.remove(group); 40 | return groups; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/rf/AddressbookKeywords.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.rf; 2 | 3 | import org.openqa.selenium.remote.BrowserType; 4 | import ru.stqa.pft.addressbook.appmanager.ApplicationManager; 5 | import ru.stqa.pft.addressbook.model.GroupData; 6 | 7 | import java.io.IOException; 8 | 9 | public class AddressbookKeywords { 10 | 11 | public static final String ROBOT_LIBRARY_SCOPE = "GLOBAL"; 12 | 13 | private ApplicationManager app; 14 | 15 | public void initApplicationManager() throws IOException { 16 | app = new ApplicationManager(System.getProperty("browser", BrowserType.FIREFOX)); 17 | app.init(); 18 | } 19 | 20 | public void stopApplicationManager() { 21 | app.stop(); 22 | app = null; 23 | } 24 | 25 | public int getGroupCount() { 26 | app.goTo().groupPage(); 27 | return app.group().count(); 28 | } 29 | 30 | public void createGroup(String name, String header, String footer) { 31 | app.goTo().groupPage(); 32 | app.group().create(new GroupData().withName(name).withHeader(header).withFooter(footer)); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/ContactCreationTests.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.annotations.Test; 4 | import ru.stqa.pft.addressbook.model.ContactData; 5 | import ru.stqa.pft.addressbook.model.Groups; 6 | 7 | import java.io.File; 8 | 9 | public class ContactCreationTests extends TestBase { 10 | 11 | @Test 12 | public void testContactCreation() { 13 | Groups groups = app.db().groups(); 14 | File photo = new File("src/test/resources/stru.png"); 15 | ContactData newContact = new ContactData().withFirstname("test_name").withLastname("test_surname").withPhoto(photo) 16 | .inGroup(groups.iterator().next()); 17 | app.goTo().gotoHomePage(); 18 | app.contact().initContactCreation(); 19 | app.contact().fillContactForm(newContact, true); 20 | app.contact().submitContactCreation(); 21 | app.contact().returnToHomePage(); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/ContactModificationTests.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.annotations.Test; 4 | import ru.stqa.pft.addressbook.model.ContactData; 5 | 6 | public class ContactModificationTests extends TestBase { 7 | 8 | @Test(enabled = false) 9 | public void testContactModification() { 10 | app.goTo().gotoHomePage(); 11 | app.contact().initContactModification(); 12 | app.contact().fillContactForm( 13 | new ContactData().withFirstname("test_name").withFirstname("test_surname"), false); 14 | app.contact().submitContactModification(); 15 | app.contact().returnToHomePage(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/ContactPhoneTests.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.annotations.Test; 4 | import ru.stqa.pft.addressbook.model.ContactData; 5 | 6 | import java.util.Arrays; 7 | import java.util.stream.Collectors; 8 | 9 | import static org.hamcrest.CoreMatchers.equalTo; 10 | import static org.hamcrest.MatcherAssert.assertThat; 11 | 12 | public class ContactPhoneTests extends TestBase { 13 | 14 | @Test 15 | public void testContactPhones() { 16 | app.goTo().gotoHomePage(); 17 | ContactData contact = app.contact().all().iterator().next(); 18 | ContactData contactInfoFromEditForm = app.contact().infoFromEditForm(contact); 19 | 20 | assertThat(contact.getAllPhones(), equalTo(mergePhones(contactInfoFromEditForm))); 21 | } 22 | 23 | private String mergePhones(ContactData contact) { 24 | return Arrays.asList(contact.getHomePhone(), contact.getMobilePhone(), contact.getWorkPhone()) 25 | .stream().filter((s) -> ! s.equals("")) 26 | .map(ContactPhoneTests::cleaned) 27 | .collect(Collectors.joining("\n")); 28 | } 29 | 30 | public static String cleaned(String phone) { 31 | return phone.replaceAll("\\s", "").replaceAll("[-()]", ""); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/DbConnectionTest.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.annotations.Test; 4 | import ru.stqa.pft.addressbook.model.GroupData; 5 | import ru.stqa.pft.addressbook.model.Groups; 6 | 7 | import java.sql.*; 8 | 9 | public class DbConnectionTest { 10 | 11 | @Test 12 | public void testDbConnection() { 13 | Connection conn = null; 14 | try { 15 | conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/addressbook?user=root&password="); 16 | Statement st = conn.createStatement(); 17 | ResultSet rs = st.executeQuery("select group_id,group_name,group_header,group_footer from group_list"); 18 | Groups groups = new Groups(); 19 | while (rs.next()) { 20 | groups.add(new GroupData().withId(rs.getInt("group_id")).withName(rs.getString("group_name")) 21 | .withHeader(rs.getString("group_header")).withFooter(rs.getString("group_footer"))); 22 | } 23 | rs.close(); 24 | st.close(); 25 | conn.close(); 26 | 27 | System.out.println(groups); 28 | 29 | } catch (SQLException ex) { 30 | // handle any errors 31 | System.out.println("SQLException: " + ex.getMessage()); 32 | System.out.println("SQLState: " + ex.getSQLState()); 33 | System.out.println("VendorError: " + ex.getErrorCode()); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/GroupDeletionTests.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.annotations.BeforeMethod; 4 | import org.testng.annotations.Test; 5 | import ru.stqa.pft.addressbook.model.GroupData; 6 | import ru.stqa.pft.addressbook.model.Groups; 7 | 8 | import static org.hamcrest.CoreMatchers.equalTo; 9 | import static org.hamcrest.MatcherAssert.assertThat; 10 | import static org.testng.Assert.assertEquals; 11 | 12 | public class GroupDeletionTests extends TestBase { 13 | 14 | @BeforeMethod 15 | public void ensurePreconditions() { 16 | app.goTo().groupPage(); 17 | if (app.group().all().size() == 0) { 18 | app.group().create(new GroupData().withName("test1")); 19 | } 20 | } 21 | 22 | @Test 23 | public void testGroupDeletion() { 24 | Groups before = app.group().all(); 25 | GroupData deletedGroup = before.iterator().next(); 26 | app.group().delete(deletedGroup); 27 | assertThat(app.group().count(), equalTo(before.size() - 1)); 28 | Groups after = app.group().all(); 29 | assertThat(after, equalTo(before.without(deletedGroup))); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/GroupModificationTests.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.annotations.BeforeMethod; 4 | import org.testng.annotations.Test; 5 | import ru.stqa.pft.addressbook.model.GroupData; 6 | import ru.stqa.pft.addressbook.model.Groups; 7 | 8 | import static org.hamcrest.CoreMatchers.equalTo; 9 | import static org.hamcrest.MatcherAssert.assertThat; 10 | 11 | public class GroupModificationTests extends TestBase { 12 | 13 | @BeforeMethod 14 | public void ensurePreconditions() { 15 | if (app.db().groups().size() == 0) { 16 | app.goTo().groupPage(); 17 | app.group().create(new GroupData().withName("test1")); 18 | } 19 | } 20 | 21 | @Test 22 | public void testGroupModification() { 23 | Groups before = app.db().groups(); 24 | GroupData modifiedGroup = before.iterator().next(); 25 | GroupData group = new GroupData() 26 | .withId(modifiedGroup.getId()).withName("test1").withHeader("test2").withFooter("test3"); 27 | app.goTo().groupPage(); 28 | app.group().modify(group); 29 | assertThat(app.group().count(), equalTo(before.size())); 30 | Groups after = app.db().groups(); 31 | assertThat(after, equalTo(before.without(modifiedGroup).withAdded(group))); 32 | verifyGroupListInUI(); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/HbConnectionTest.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.hibernate.Session; 4 | import org.hibernate.SessionFactory; 5 | import org.hibernate.boot.MetadataSources; 6 | import org.hibernate.boot.registry.StandardServiceRegistry; 7 | import org.hibernate.boot.registry.StandardServiceRegistryBuilder; 8 | import org.testng.annotations.BeforeClass; 9 | import org.testng.annotations.Test; 10 | import ru.stqa.pft.addressbook.model.ContactData; 11 | import ru.stqa.pft.addressbook.model.GroupData; 12 | 13 | import java.util.List; 14 | 15 | public class HbConnectionTest { 16 | 17 | private SessionFactory sessionFactory; 18 | 19 | @BeforeClass 20 | protected void setUp() throws Exception { 21 | // A SessionFactory is set up once for an application! 22 | final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() 23 | .configure() // configures settings from hibernate.cfg.xml 24 | .build(); 25 | try { 26 | sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); 27 | } 28 | catch (Exception e) { 29 | e.printStackTrace(); 30 | // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory 31 | // so destroy it manually. 32 | StandardServiceRegistryBuilder.destroy( registry ); 33 | } 34 | } 35 | 36 | @Test 37 | public void testHbConnection() { 38 | Session session = sessionFactory.openSession(); 39 | session.beginTransaction(); 40 | List result = session.createQuery("from ContactData where deprecated = '0000-00-00'").list(); 41 | for (ContactData contact : result) { 42 | System.out.println(contact); 43 | System.out.println(contact.getGroups()); 44 | } 45 | session.getTransaction().commit(); 46 | session.close(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/MyTestListener.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.testng.ITestContext; 4 | import org.testng.ITestListener; 5 | import org.testng.ITestResult; 6 | import ru.stqa.pft.addressbook.appmanager.ApplicationManager; 7 | import ru.yandex.qatools.allure.annotations.Attachment; 8 | 9 | public class MyTestListener implements ITestListener { 10 | @Override 11 | public void onTestStart(ITestResult result) { 12 | 13 | } 14 | 15 | @Override 16 | public void onTestSuccess(ITestResult result) { 17 | 18 | } 19 | 20 | @Override 21 | public void onTestFailure(ITestResult result) { 22 | ApplicationManager app = (ApplicationManager) result.getTestContext().getAttribute("app"); 23 | saveScreenshot(app.takeScreenshot()); 24 | } 25 | 26 | @Attachment(value = "Page screenshot", type = "image/png") 27 | public byte[] saveScreenshot(byte[] screenShot) { 28 | return screenShot; 29 | } 30 | 31 | @Override 32 | public void onTestSkipped(ITestResult result) { 33 | 34 | } 35 | 36 | @Override 37 | public void onTestFailedButWithinSuccessPercentage(ITestResult result) { 38 | 39 | } 40 | 41 | @Override 42 | public void onStart(ITestContext context) { 43 | 44 | } 45 | 46 | @Override 47 | public void onFinish(ITestContext context) { 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/java/ru/stqa/pft/addressbook/tests/TestBase.java: -------------------------------------------------------------------------------- 1 | package ru.stqa.pft.addressbook.tests; 2 | 3 | import org.hamcrest.CoreMatchers; 4 | import org.hamcrest.MatcherAssert; 5 | import org.openqa.selenium.remote.BrowserType; 6 | import org.slf4j.Logger; 7 | import org.slf4j.LoggerFactory; 8 | import org.testng.ITestContext; 9 | import org.testng.annotations.*; 10 | import ru.stqa.pft.addressbook.appmanager.ApplicationManager; 11 | import ru.stqa.pft.addressbook.model.GroupData; 12 | import ru.stqa.pft.addressbook.model.Groups; 13 | 14 | import java.lang.reflect.Method; 15 | import java.util.Arrays; 16 | import java.util.stream.Collectors; 17 | 18 | import static org.hamcrest.CoreMatchers.equalTo; 19 | import static org.hamcrest.MatcherAssert.assertThat; 20 | 21 | @Listeners(MyTestListener.class) 22 | public class TestBase { 23 | 24 | Logger logger = LoggerFactory.getLogger(TestBase.class); 25 | 26 | protected static final ApplicationManager app 27 | = new ApplicationManager(System.getProperty("browser", BrowserType.FIREFOX)); 28 | 29 | @BeforeSuite 30 | public void setUp(ITestContext context) throws Exception { 31 | app.init(); 32 | context.setAttribute("app", app); 33 | } 34 | 35 | @AfterSuite(alwaysRun = true) 36 | public void tearDown() { 37 | app.stop(); 38 | } 39 | 40 | @BeforeMethod 41 | public void logTestStart(Method m, Object[] p) { 42 | logger.info("Start test " + m.getName() + " with parameters " + Arrays.asList(p)); 43 | } 44 | 45 | @AfterMethod(alwaysRun = true) 46 | public void logTestStop(Method m) { 47 | logger.info("Stop test " + m.getName()); 48 | } 49 | 50 | public void verifyGroupListInUI() { 51 | if (Boolean.getBoolean("verifyUI")) { 52 | Groups dbGroups = app.db().groups(); 53 | Groups uiGroups = app.group().all(); 54 | assertThat(uiGroups, equalTo(dbGroups.stream() 55 | .map((g) -> new GroupData().withId(g.getId()).withName(g.getName())) 56 | .collect(Collectors.toSet()))); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/resources/allure.properties: -------------------------------------------------------------------------------- 1 | allure.results.directory=build/allure-results -------------------------------------------------------------------------------- /addressbook-web-tests/src/test/resources/bdd/groups.feature: -------------------------------------------------------------------------------- 1 | Feature: Groups 2 | 3 | Scenario Outline: Group creation 4 | Given a set of groups 5 | When I create a new group with name , header
and footer