diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..13566b81b --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 000000000..f8bbcf127 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 000000000..aa00ffab7 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 000000000..02b915b85 --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 000000000..712ab9d98 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_beust_jcommander_1_82.xml b/.idea/libraries/Maven__com_beust_jcommander_1_82.xml new file mode 100644 index 000000000..7f57b10ce --- /dev/null +++ b/.idea/libraries/Maven__com_beust_jcommander_1_82.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml new file mode 100644 index 000000000..aa94641a0 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_3.xml new file mode 100644 index 000000000..e94ceb750 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_3.xml new file mode 100644 index 000000000..656ffa496 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_docker_java_docker_java_3_2_13.xml b/.idea/libraries/Maven__com_github_docker_java_docker_java_3_2_13.xml new file mode 100644 index 000000000..eb1fbe34c --- /dev/null +++ b/.idea/libraries/Maven__com_github_docker_java_docker_java_3_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_docker_java_docker_java_api_3_2_13.xml b/.idea/libraries/Maven__com_github_docker_java_docker_java_api_3_2_13.xml new file mode 100644 index 000000000..9cd35e4a2 --- /dev/null +++ b/.idea/libraries/Maven__com_github_docker_java_docker_java_api_3_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_docker_java_docker_java_core_3_2_13.xml b/.idea/libraries/Maven__com_github_docker_java_docker_java_core_3_2_13.xml new file mode 100644 index 000000000..a7cfaa92f --- /dev/null +++ b/.idea/libraries/Maven__com_github_docker_java_docker_java_core_3_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_docker_java_docker_java_transport_3_2_13.xml b/.idea/libraries/Maven__com_github_docker_java_docker_java_transport_3_2_13.xml new file mode 100644 index 000000000..de7126287 --- /dev/null +++ b/.idea/libraries/Maven__com_github_docker_java_docker_java_transport_3_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_docker_java_docker_java_transport_httpclient5_3_2_13.xml b/.idea/libraries/Maven__com_github_docker_java_docker_java_transport_httpclient5_3_2_13.xml new file mode 100644 index 000000000..9c667e0e1 --- /dev/null +++ b/.idea/libraries/Maven__com_github_docker_java_docker_java_transport_httpclient5_3_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_auto_auto_common_1_2.xml b/.idea/libraries/Maven__com_google_auto_auto_common_1_2.xml new file mode 100644 index 000000000..dfdf457b9 --- /dev/null +++ b/.idea/libraries/Maven__com_google_auto_auto_common_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_auto_service_auto_service_1_0_1.xml b/.idea/libraries/Maven__com_google_auto_service_auto_service_1_0_1.xml new file mode 100644 index 000000000..52da39ca3 --- /dev/null +++ b/.idea/libraries/Maven__com_google_auto_service_auto_service_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_auto_service_auto_service_annotations_1_0_1.xml b/.idea/libraries/Maven__com_google_auto_service_auto_service_annotations_1_0_1.xml new file mode 100644 index 000000000..7713ed366 --- /dev/null +++ b/.idea/libraries/Maven__com_google_auto_service_auto_service_annotations_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 000000000..1c380d0bd --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_10.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_10.xml new file mode 100644 index 000000000..207a93002 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_11_0.xml b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_11_0.xml new file mode 100644 index 000000000..4eb3ba5f5 --- /dev/null +++ b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_11_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 000000000..36e948e2e --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_31_1_jre.xml b/.idea/libraries/Maven__com_google_guava_guava_31_1_jre.xml new file mode 100644 index 000000000..5757b3dd9 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_31_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 000000000..4e15702e5 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 000000000..bacaa4563 --- /dev/null +++ b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml new file mode 100644 index 000000000..fea99f026 --- /dev/null +++ b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_typesafe_netty_netty_reactive_streams_2_0_4.xml b/.idea/libraries/Maven__com_typesafe_netty_netty_reactive_streams_2_0_4.xml new file mode 100644 index 000000000..a8c6c1505 --- /dev/null +++ b/.idea/libraries/Maven__com_typesafe_netty_netty_reactive_streams_2_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_15.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_15.xml new file mode 100644 index 000000000..c88c2b719 --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_15.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_6.xml b/.idea/libraries/Maven__commons_io_commons_io_2_6.xml new file mode 100644 index 000000000..d722698a8 --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__dev_failsafe_failsafe_3_3_1.xml b/.idea/libraries/Maven__dev_failsafe_failsafe_3_3_1.xml new file mode 100644 index 000000000..027a970e9 --- /dev/null +++ b/.idea/libraries/Maven__dev_failsafe_failsafe_3_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_bonigarcia_webdrivermanager_5_3_1.xml b/.idea/libraries/Maven__io_github_bonigarcia_webdrivermanager_5_3_1.xml new file mode 100644 index 000000000..9e4509251 --- /dev/null +++ b/.idea/libraries/Maven__io_github_bonigarcia_webdrivermanager_5_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_buffer_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_90_Final.xml new file mode 100644 index 000000000..3ee9dc447 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_4_1_90_Final.xml new file mode 100644 index 000000000..2389d4cfb --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_90_Final.xml new file mode 100644 index 000000000..3699859e3 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_60_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_60_Final.xml new file mode 100644 index 000000000..4bafc149a --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_60_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_common_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_common_4_1_90_Final.xml new file mode 100644 index 000000000..3f2a10b09 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_common_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_handler_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_4_1_90_Final.xml new file mode 100644 index 000000000..bd95dab85 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_handler_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_60_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_60_Final.xml new file mode 100644 index 000000000..58771f105 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_60_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_resolver_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_90_Final.xml new file mode 100644 index 000000000..a4fc17444 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_4_1_90_Final.xml new file mode 100644 index 000000000..2d11f74cd --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_classes_epoll_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_classes_epoll_4_1_90_Final.xml new file mode 100644 index 000000000..4d6814068 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_classes_epoll_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_classes_kqueue_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_classes_kqueue_4_1_90_Final.xml new file mode 100644 index 000000000..1513ae139 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_classes_kqueue_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_90_Final.xml new file mode 100644 index 000000000..1ab7e07d0 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_60_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_60_Final.xml new file mode 100644 index 000000000..3aff18b90 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_60_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_kqueue_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_kqueue_4_1_90_Final.xml new file mode 100644 index 000000000..c337f40e8 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_kqueue_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_kqueue_osx_x86_64_4_1_60_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_kqueue_osx_x86_64_4_1_60_Final.xml new file mode 100644 index 000000000..34f04b3f3 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_kqueue_osx_x86_64_4_1_60_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_90_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_90_Final.xml new file mode 100644 index 000000000..43eed0931 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_90_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_1_24_0.xml new file mode 100644 index 000000000..6af7414e5 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_events_1_24_0_alpha.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_events_1_24_0_alpha.xml new file mode 100644 index 000000000..a1255755a --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_events_1_24_0_alpha.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_logs_1_24_0_alpha.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_logs_1_24_0_alpha.xml new file mode 100644 index 000000000..a3e3367d7 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_api_logs_1_24_0_alpha.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_context_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_context_1_24_0.xml new file mode 100644 index 000000000..98a6b31cd --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_context_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_exporter_logging_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_exporter_logging_1_24_0.xml new file mode 100644 index 000000000..91c7bceab --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_exporter_logging_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_1_24_0.xml new file mode 100644 index 000000000..a624e6e5a --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_common_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_common_1_24_0.xml new file mode 100644 index 000000000..753310bdb --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_common_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_extension_autoconfigure_1_24_0_alpha.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_extension_autoconfigure_1_24_0_alpha.xml new file mode 100644 index 000000000..124a92768 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_extension_autoconfigure_1_24_0_alpha.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_extension_autoconfigure_spi_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_extension_autoconfigure_spi_1_24_0.xml new file mode 100644 index 000000000..db511b382 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_extension_autoconfigure_spi_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_logs_1_24_0_alpha.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_logs_1_24_0_alpha.xml new file mode 100644 index 000000000..00d18bdd5 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_logs_1_24_0_alpha.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_metrics_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_metrics_1_24_0.xml new file mode 100644 index 000000000..c4b869056 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_metrics_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_trace_1_24_0.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_trace_1_24_0.xml new file mode 100644 index 000000000..ecb9c3003 --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_sdk_trace_1_24_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_opentelemetry_opentelemetry_semconv_1_24_0_alpha.xml b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_semconv_1_24_0_alpha.xml new file mode 100644 index 000000000..e1a2bd24e --- /dev/null +++ b/.idea/libraries/Maven__io_opentelemetry_opentelemetry_semconv_1_24_0_alpha.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_ous_jtoml_2_0_0.xml b/.idea/libraries/Maven__io_ous_jtoml_2_0_0.xml new file mode 100644 index 000000000..b7b0d4efe --- /dev/null +++ b/.idea/libraries/Maven__io_ous_jtoml_2_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_2.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_2.xml new file mode 100644 index 000000000..019992be6 --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_java_dev_jna_jna_5_8_0.xml b/.idea/libraries/Maven__net_java_dev_jna_jna_5_8_0.xml new file mode 100644 index 000000000..7e440f2eb --- /dev/null +++ b/.idea/libraries/Maven__net_java_dev_jna_jna_5_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml new file mode 100644 index 000000000..49cd123ce --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_exec_1_3.xml b/.idea/libraries/Maven__org_apache_commons_commons_exec_1_3.xml new file mode 100644 index 000000000..e064a8225 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_exec_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml new file mode 100644 index 000000000..28b868250 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_client5_httpclient5_5_1_3.xml b/.idea/libraries/Maven__org_apache_httpcomponents_client5_httpclient5_5_1_3.xml new file mode 100644 index 000000000..9edc0bc6c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_client5_httpclient5_5_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_core5_httpcore5_5_1_3.xml b/.idea/libraries/Maven__org_apache_httpcomponents_core5_httpcore5_5_1_3.xml new file mode 100644 index 000000000..6b9e91c59 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_core5_httpcore5_5_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_core5_httpcore5_h2_5_1_3.xml b/.idea/libraries/Maven__org_apache_httpcomponents_core5_httpcore5_h2_5_1_3.xml new file mode 100644 index 000000000..0503c83ef --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_core5_httpcore5_h2_5_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml new file mode 100644 index 000000000..6ac1c42c6 --- /dev/null +++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_asynchttpclient_async_http_client_2_12_3.xml b/.idea/libraries/Maven__org_asynchttpclient_async_http_client_2_12_3.xml new file mode 100644 index 000000000..35e18c018 --- /dev/null +++ b/.idea/libraries/Maven__org_asynchttpclient_async_http_client_2_12_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_asynchttpclient_async_http_client_netty_utils_2_12_3.xml b/.idea/libraries/Maven__org_asynchttpclient_async_http_client_netty_utils_2_12_3.xml new file mode 100644 index 000000000..3f83c57d6 --- /dev/null +++ b/.idea/libraries/Maven__org_asynchttpclient_async_http_client_netty_utils_2_12_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_64.xml b/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_64.xml new file mode 100644 index 000000000..56cfc40f4 --- /dev/null +++ b/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_64.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_64.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_64.xml new file mode 100644 index 000000000..861cb2825 --- /dev/null +++ b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_64.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_brotli_dec_0_1_2.xml b/.idea/libraries/Maven__org_brotli_dec_0_1_2.xml new file mode 100644 index 000000000..2aade8642 --- /dev/null +++ b/.idea/libraries/Maven__org_brotli_dec_0_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_checkerframework_checker_qual_3_12_0.xml b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_12_0.xml new file mode 100644 index 000000000..1b2a35b1e --- /dev/null +++ b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_0.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_0.xml new file mode 100644 index 000000000..07e0c344b --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_0.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_0.xml new file mode 100644 index 000000000..0796c403b --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_0.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_0.xml new file mode 100644 index 000000000..0bca97c2e --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_0.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_0.xml new file mode 100644 index 000000000..8c49f4756 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_0.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_0.xml new file mode 100644 index 000000000..86cd9a1c7 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_0.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_0.xml new file mode 100644 index 000000000..f0ef25d96 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml new file mode 100644 index 000000000..fbc1b1635 --- /dev/null +++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml b/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml new file mode 100644 index 000000000..f17253bf8 --- /dev/null +++ b/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_api_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_api_4_8_3.xml new file mode 100644 index 000000000..b25e47b97 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_api_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chrome_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chrome_driver_4_8_3.xml new file mode 100644 index 000000000..a3270eb4f --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chrome_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chromium_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chromium_driver_4_8_3.xml new file mode 100644 index 000000000..887c9fa4e --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chromium_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v109_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v109_4_8_3.xml new file mode 100644 index 000000000..c42ac65a2 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v109_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v110_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v110_4_8_3.xml new file mode 100644 index 000000000..5934ae08f --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v110_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v111_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v111_4_8_3.xml new file mode 100644 index 000000000..3edfd9d18 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v111_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v85_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v85_4_8_3.xml new file mode 100644 index 000000000..433dcfee4 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_devtools_v85_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_edge_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_edge_driver_4_8_3.xml new file mode 100644 index 000000000..9323e074a --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_edge_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_firefox_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_firefox_driver_4_8_3.xml new file mode 100644 index 000000000..c0c4d24f9 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_firefox_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_http_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_http_4_8_3.xml new file mode 100644 index 000000000..2c3b782d8 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_http_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_ie_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_ie_driver_4_8_3.xml new file mode 100644 index 000000000..ee9d5cac7 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_ie_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_java_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_java_4_8_3.xml new file mode 100644 index 000000000..f2ecc4640 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_java_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_json_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_json_4_8_3.xml new file mode 100644 index 000000000..07cb80573 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_json_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_manager_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_manager_4_8_3.xml new file mode 100644 index 000000000..6d237205d --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_manager_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_remote_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_remote_driver_4_8_3.xml new file mode 100644 index 000000000..a9c177f18 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_remote_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_safari_driver_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_safari_driver_4_8_3.xml new file mode 100644 index 000000000..147dc5c0b --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_safari_driver_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_support_4_8_3.xml b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_support_4_8_3.xml new file mode 100644 index 000000000..96f0d4d33 --- /dev/null +++ b/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_support_4_8_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml new file mode 100644 index 000000000..f92b9599e --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_3.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_3.xml new file mode 100644 index 000000000..2a5d8ca94 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..2e289ef7b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..366a77583 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/take-home-webdriver-test.iml b/.idea/take-home-webdriver-test.iml new file mode 100644 index 000000000..24b3684df --- /dev/null +++ b/.idea/take-home-webdriver-test.iml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..35eb1ddfb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..5782da3c6 --- /dev/null +++ b/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + cydeo + selenium-project + 1.0-SNAPSHOT + + + 11 + 11 + UTF-8 + + + + + + org.seleniumhq.selenium + selenium-java + 4.8.3 + + + + io.github.bonigarcia + webdrivermanager + 5.3.1 + + + + org.junit.jupiter + junit-jupiter + 5.9.0 + test + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/task/pages/CheckBoxesPage.java b/src/test/java/task/pages/CheckBoxesPage.java new file mode 100644 index 000000000..188488526 --- /dev/null +++ b/src/test/java/task/pages/CheckBoxesPage.java @@ -0,0 +1,47 @@ +package task.pages; + +import org.checkerframework.checker.units.qual.C; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.devtools.v85.page.Page; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.tests.CheckBoxes; +import task.utilities.Driver; + +import java.util.List; + +public class CheckBoxesPage { + + + + @FindBy(css = "input[type='checkbox']:nth-of-type(1)") + public WebElement checkBox1; + + @FindBy(css = "input[type='checkbox']:nth-of-type(2)") + public WebElement checkBox2; + + + public CheckBoxesPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + + public void clickCheckBox1() { + checkBox1.click(); + } + + public void clickCheckBox2() { + checkBox2.click(); + } + + public boolean isCheckBox1Selected() { + return checkBox1.isSelected(); + } + + public boolean isCheckBox2Selected() { + return checkBox2.isSelected(); + } +} diff --git a/src/test/java/task/pages/ContextMenuPage.java b/src/test/java/task/pages/ContextMenuPage.java new file mode 100644 index 000000000..2a8e3db0a --- /dev/null +++ b/src/test/java/task/pages/ContextMenuPage.java @@ -0,0 +1,18 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class ContextMenuPage { + + + public ContextMenuPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(id = "hot-spot") + public WebElement contextMenuIcon; +} diff --git a/src/test/java/task/pages/DragAndDropPage.java b/src/test/java/task/pages/DragAndDropPage.java new file mode 100644 index 000000000..667314150 --- /dev/null +++ b/src/test/java/task/pages/DragAndDropPage.java @@ -0,0 +1,21 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class DragAndDropPage { + + public DragAndDropPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(id = "column-a") + public WebElement firstColumn; + + + @FindBy(id = "column-b") + public WebElement secondColumn; +} diff --git a/src/test/java/task/pages/DropdownPage.java b/src/test/java/task/pages/DropdownPage.java new file mode 100644 index 000000000..a69f6799c --- /dev/null +++ b/src/test/java/task/pages/DropdownPage.java @@ -0,0 +1,42 @@ +package task.pages; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.ui.Select; +import task.utilities.Driver; + +import java.util.ArrayList; +import java.util.List; + +public class DropdownPage { + + public DropdownPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(id = "dropdown") + public WebElement dropDown; + + public boolean isSelected(String option) { + + + Select select = new Select(dropDown); + + List dropDown = select.getOptions(); + + for (WebElement eachOption : dropDown) { + if (eachOption.getText().equals(option)) { //if the desired option and each are equal + select.selectByVisibleText(option); + eachOption.isSelected(); + return true; + } + + + + } + return false; + } +} diff --git a/src/test/java/task/pages/DynamicContentPage.java b/src/test/java/task/pages/DynamicContentPage.java new file mode 100644 index 000000000..a41a043be --- /dev/null +++ b/src/test/java/task/pages/DynamicContentPage.java @@ -0,0 +1,11 @@ +package task.pages; + +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class DynamicContentPage { + + public DynamicContentPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } +} diff --git a/src/test/java/task/pages/DynamicControlsPage.java b/src/test/java/task/pages/DynamicControlsPage.java new file mode 100644 index 000000000..2ac2ec57f --- /dev/null +++ b/src/test/java/task/pages/DynamicControlsPage.java @@ -0,0 +1,30 @@ +package task.pages; + +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class DynamicControlsPage { + + public DynamicControlsPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(css = "button[onclick='swapCheckbox()']") + public WebElement removeButton; + + + @FindBy(css = "button[onclick='swapCheckbox()']") + public WebElement addButton; + + @FindBy(css = "button[onclick='swapInput()']") + public WebElement enableButton; + + + @FindBy(css = "input[type='text']") + public WebElement inputField; + +} diff --git a/src/test/java/task/pages/DynamicLoadingPage.java b/src/test/java/task/pages/DynamicLoadingPage.java new file mode 100644 index 000000000..34686d82f --- /dev/null +++ b/src/test/java/task/pages/DynamicLoadingPage.java @@ -0,0 +1,31 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; +import task.utilities.Driver; + +import java.time.Duration; + +public class DynamicLoadingPage { + + public DynamicLoadingPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(id = "finish") + public WebElement textMessage; + + + @FindBy(xpath = "//button[.='Start']") + public WebElement startButton; + + + @FindBy(id = "loading") + public WebElement loadingBar; + + +} diff --git a/src/test/java/task/pages/FileDownloadPage.java b/src/test/java/task/pages/FileDownloadPage.java new file mode 100644 index 000000000..9c4cf086d --- /dev/null +++ b/src/test/java/task/pages/FileDownloadPage.java @@ -0,0 +1,25 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.Browser; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +public class FileDownloadPage { + + public FileDownloadPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + @FindBy(linkText = "some-file.txt") + public WebElement file; + + + public void downloadFile(){ + file.click(); + BrowserUtils.waitFor(5); + } + +} diff --git a/src/test/java/task/pages/FileUploadPage.java b/src/test/java/task/pages/FileUploadPage.java new file mode 100644 index 000000000..0d2239db7 --- /dev/null +++ b/src/test/java/task/pages/FileUploadPage.java @@ -0,0 +1,50 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +import java.io.File; + +public class FileUploadPage { + + + public FileUploadPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + + + @FindBy(id = "file-upload") + public WebElement chooseFileButton; + + + @FindBy(id = "file-submit") + public WebElement uploadButton; + + + @FindBy(id = "uploaded-files") + public WebElement uploadedFiles; + + + public void uploadFile(String fileName){ + + + String filePath = System.getProperty("user.home") + File.separator + "Downloads" + File.separator + fileName; + + chooseFileButton.sendKeys(filePath); + + + uploadButton.click(); + + + + } + + + + +} diff --git a/src/test/java/task/pages/FloatingMenuPage.java b/src/test/java/task/pages/FloatingMenuPage.java new file mode 100644 index 000000000..b62540d98 --- /dev/null +++ b/src/test/java/task/pages/FloatingMenuPage.java @@ -0,0 +1,23 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class FloatingMenuPage { + + public FloatingMenuPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + + + @FindBy(id = "menu") + public WebElement floatingMenu; + + + + +} diff --git a/src/test/java/task/pages/IframePage.java b/src/test/java/task/pages/IframePage.java new file mode 100644 index 000000000..eb78dc558 --- /dev/null +++ b/src/test/java/task/pages/IframePage.java @@ -0,0 +1,21 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class IframePage { + + public IframePage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + @FindBy(id = "mce_0_ifr") + public WebElement iframe; + + + @FindBy(id = "tinymce") + public WebElement textArea; + +} diff --git a/src/test/java/task/pages/JavaScriptAlertsPage.java b/src/test/java/task/pages/JavaScriptAlertsPage.java new file mode 100644 index 000000000..183070aab --- /dev/null +++ b/src/test/java/task/pages/JavaScriptAlertsPage.java @@ -0,0 +1,34 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class JavaScriptAlertsPage { + + + public JavaScriptAlertsPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(xpath = "//button[@onclick='jsAlert()']") + public WebElement jsAlert; + + + @FindBy(xpath = "//button[@onclick='jsConfirm()']") + public WebElement jsConfirm; + + @FindBy(xpath = "//button[@onclick='jsPrompt()']") + public WebElement jsPrompt; + + @FindBy(id = "result") + public WebElement result; + + + + + + +} diff --git a/src/test/java/task/pages/JavaScriptErrorPage.java b/src/test/java/task/pages/JavaScriptErrorPage.java new file mode 100644 index 000000000..1cc6ff57a --- /dev/null +++ b/src/test/java/task/pages/JavaScriptErrorPage.java @@ -0,0 +1,14 @@ +package task.pages; + +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class JavaScriptErrorPage { + + public JavaScriptErrorPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + +} diff --git a/src/test/java/task/pages/LoginPage.java b/src/test/java/task/pages/LoginPage.java new file mode 100644 index 000000000..5f4f75f17 --- /dev/null +++ b/src/test/java/task/pages/LoginPage.java @@ -0,0 +1,34 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class LoginPage { + + public LoginPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + @FindBy(id="username") + public WebElement userName; + + + @FindBy(id="password") + public WebElement password; + + @FindBy(xpath="//button[@class='radius']") + public WebElement loginButton; + + @FindBy(xpath = "//div[@class='flash success']") + public WebElement successMessage; + + + @FindBy(xpath = "//div[@class='flash error']") + public WebElement failureMessage; + + + + +} diff --git a/src/test/java/task/pages/MouseHoverPage.java b/src/test/java/task/pages/MouseHoverPage.java new file mode 100644 index 000000000..606967b22 --- /dev/null +++ b/src/test/java/task/pages/MouseHoverPage.java @@ -0,0 +1,57 @@ +package task.pages; + + +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +import java.util.List; + +public class MouseHoverPage { + + public MouseHoverPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + Actions actions = new Actions(Driver.getDriver()); + + //JavascriptExecutor js = (JavascriptExecutor) Driver.getDriver(); + + + @FindBy(xpath = "//img[@alt='User Avatar']") + public List images; + + @FindBy(xpath = "//div[@class='figcaption']/h5") + public List additionalText; + + + public String hoverOver(List listOfElements, int index){ + + actions.moveToElement(listOfElements.get(index)).perform(); + BrowserUtils.waitForVisibility(additionalText.get(index), 15); + + return additionalText.get(index).getText(); + } + + + + + + + +} + + + + + + + + + + + diff --git a/src/test/java/task/pages/NotificationMessagePage.java b/src/test/java/task/pages/NotificationMessagePage.java new file mode 100644 index 000000000..6b84c973c --- /dev/null +++ b/src/test/java/task/pages/NotificationMessagePage.java @@ -0,0 +1,22 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +public class NotificationMessagePage { + + + public NotificationMessagePage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(linkText = "Click here") + public WebElement notificationLink; + + @FindBy(id = "flash") + public WebElement messageBox; + +} diff --git a/src/test/java/task/pages/OpenInNewTabPage.java b/src/test/java/task/pages/OpenInNewTabPage.java new file mode 100644 index 000000000..a3a14a95a --- /dev/null +++ b/src/test/java/task/pages/OpenInNewTabPage.java @@ -0,0 +1,26 @@ +package task.pages; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import task.utilities.Driver; + +import java.util.Set; + +public class OpenInNewTabPage { + + + public OpenInNewTabPage(){ + PageFactory.initElements(Driver.getDriver(), this); + } + + + @FindBy(linkText = "Click Here") + public WebElement link; + + + + + + +} diff --git a/src/test/java/task/tests/CheckBoxes.java b/src/test/java/task/tests/CheckBoxes.java new file mode 100644 index 000000000..8c607f333 --- /dev/null +++ b/src/test/java/task/tests/CheckBoxes.java @@ -0,0 +1,55 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.CheckBoxesPage; +import task.utilities.Driver; + +public class CheckBoxes extends CheckBoxesPage{ + + + + CheckBoxesPage checkBoxesPage = new CheckBoxesPage(); + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/checkboxes"); + } + + + @Test + public void testCheckBox1() { + checkBoxesPage.clickCheckBox1(); + Assertions.assertTrue(checkBoxesPage.isCheckBox1Selected()); + + + checkBoxesPage.clickCheckBox1(); + Assertions.assertFalse(checkBoxesPage.isCheckBox1Selected()); + + + + } + + @Test + public void testCheckBox2() { + + checkBoxesPage.clickCheckBox2(); + Assertions.assertTrue(!checkBoxesPage.isCheckBox2Selected()); + + checkBoxesPage.clickCheckBox2(); + Assertions.assertTrue(checkBoxesPage.isCheckBox2Selected()); + } + + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } + + + +} diff --git a/src/test/java/task/tests/ContextMenu.java b/src/test/java/task/tests/ContextMenu.java new file mode 100644 index 000000000..70a6783ff --- /dev/null +++ b/src/test/java/task/tests/ContextMenu.java @@ -0,0 +1,52 @@ +package task.tests; + +import org.junit.jupiter.api.*; +import org.openqa.selenium.Alert; +import org.openqa.selenium.interactions.Actions; +import task.pages.ContextMenuPage; +import task.utilities.Driver; + +public class ContextMenu { + + + ContextMenuPage contextMenuPage = new ContextMenuPage(); + String expectedText = "You selected a context menu"; + String actualText; + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/context_menu"); + + + } + + + @Test + public void verifyContextClickTest(){ + + + Actions actions = new Actions(Driver.getDriver()); + actions.contextClick(contextMenuPage.contextMenuIcon).perform(); + + Alert alert = Driver.getDriver().switchTo().alert(); + actualText = alert.getText(); + + alert.dismiss(); + + Assertions.assertEquals(actualText, expectedText); + + + + } + + + + @AfterEach + public void tearDown(){ + + Driver.closeDriver(); + + } + +} diff --git a/src/test/java/task/tests/DragAndDrop.java b/src/test/java/task/tests/DragAndDrop.java new file mode 100644 index 000000000..f2c8b1f1e --- /dev/null +++ b/src/test/java/task/tests/DragAndDrop.java @@ -0,0 +1,46 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.interactions.Actions; +import task.pages.DragAndDropPage; +import task.utilities.Driver; + +public class DragAndDrop { + + DragAndDropPage dragAndDropPage = new DragAndDropPage(); + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/drag_and_drop"); + } + + + @Test + public void testDragAndDrop(){ + + + String boxAbefore = dragAndDropPage.firstColumn.getText(); //first column == A + String boxBbefore = dragAndDropPage.secondColumn.getText(); //second column == B + + Actions actions = new Actions(Driver.getDriver()); + actions.dragAndDrop(dragAndDropPage.firstColumn, dragAndDropPage.secondColumn).perform(); + + String boxAafter = dragAndDropPage.secondColumn.getText(); //second column == A + String boxBafter = dragAndDropPage.firstColumn.getText(); //first column == B + + + + Assertions.assertEquals(boxAbefore,boxBafter); //A swapped with B + Assertions.assertEquals(boxBbefore, boxAafter); //B in the first column(A) + + } + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/Dropdown.java b/src/test/java/task/tests/Dropdown.java new file mode 100644 index 000000000..036ec2048 --- /dev/null +++ b/src/test/java/task/tests/Dropdown.java @@ -0,0 +1,41 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.DropdownPage; +import task.utilities.Driver; + +public class Dropdown extends DropdownPage{ + + + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/dropdown"); + } + + + + + @Test + public void testDropdown(){ + + dropDown.click(); + + Assertions.assertTrue(isSelected("Option 1")); + Assertions.assertTrue(isSelected("Option 2")); + } + + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } + + + +} diff --git a/src/test/java/task/tests/DynamicContent.java b/src/test/java/task/tests/DynamicContent.java new file mode 100644 index 000000000..3fadfa330 --- /dev/null +++ b/src/test/java/task/tests/DynamicContent.java @@ -0,0 +1,48 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.By; +import task.pages.DynamicContentPage; +import task.utilities.Driver; + +public class DynamicContent extends DynamicContentPage { + + + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/dynamic_content"); + } + + + + + @Test + public void testDynamicContent(){ + + + String contentBeforeRefresh = Driver.getDriver().findElement(By.tagName("body")).getText(); + + // Refresh the page multiple times and verify that the content changes each time + for (int i = 0; i < 3; i++) { + Driver.getDriver().navigate().refresh(); + String refreshedContent = Driver.getDriver().findElement(By.tagName("body")).getText(); + + Assertions.assertNotEquals(refreshedContent, contentBeforeRefresh); + } + + } + + + + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/DynamicControls.java b/src/test/java/task/tests/DynamicControls.java new file mode 100644 index 000000000..cc59591e6 --- /dev/null +++ b/src/test/java/task/tests/DynamicControls.java @@ -0,0 +1,62 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; +import task.pages.DynamicControlsPage; +import task.utilities.Driver; + +import java.time.Duration; + +public class DynamicControls extends DynamicControlsPage { + + DynamicControlsPage dynamicControlsPage = new DynamicControlsPage(); + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/dynamic_controls"); + } + + + @Test + public void testDynamicControls(){ + + removeButton.click(); + + WebDriverWait wait = new WebDriverWait(Driver.getDriver(), Duration.ofSeconds(10)); + wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("checkbox"))); + + + boolean checkBoxPresence = Driver.getDriver().findElements(By.id("checkbox")).size() > 0; + Assertions.assertTrue(!checkBoxPresence); + + + addButton.click(); + wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("checkbox"))); + + + checkBoxPresence = Driver.getDriver().findElements(By.id("checkbox")).size() > 0; + Assertions.assertTrue(checkBoxPresence); + + + enableButton.click(); + wait.until(ExpectedConditions.elementToBeClickable(inputField)); + + + boolean isEnabled = inputField.isEnabled(); + Assertions.assertTrue(isEnabled); + } + + + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/DynamicLoading.java b/src/test/java/task/tests/DynamicLoading.java new file mode 100644 index 000000000..1e32405d9 --- /dev/null +++ b/src/test/java/task/tests/DynamicLoading.java @@ -0,0 +1,46 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.DynamicLoadingPage; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +import java.time.Duration; + +public class DynamicLoading { + + + DynamicLoadingPage dynamicLoadingPage = new DynamicLoadingPage(); + String expectedText = "Hello World!"; + String actualText; + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/dynamic_loading/2"); + } + + + @Test + public void testDynamicLoading(){ + + BrowserUtils.waitForVisibility(dynamicLoadingPage.startButton, 10); + dynamicLoadingPage.startButton.click(); + + BrowserUtils.waitForVisibility(dynamicLoadingPage.textMessage, 10); + + actualText = dynamicLoadingPage.textMessage.getText(); + Assertions.assertEquals(expectedText, actualText); + + } + + + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/FileDownload.java b/src/test/java/task/tests/FileDownload.java new file mode 100644 index 000000000..73fb97b40 --- /dev/null +++ b/src/test/java/task/tests/FileDownload.java @@ -0,0 +1,51 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.FileDownloadPage; +import task.utilities.Driver; + +import java.io.File; + +public class FileDownload { + + + + FileDownloadPage fileDownloadPage = new FileDownloadPage(); + + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/download"); + } + + + + @Test + public void testFileDownload(){ + + fileDownloadPage.downloadFile(); + + String fileName = fileDownloadPage.file.getText(); + + //to make it OS independent, System.getProperty() and File.separator + String downloadsDir = System.getProperty("user.home") + File.separator + "Downloads" + File.separator; + File fileDownloaded = new File(downloadsDir + fileName); + + + Assertions.assertTrue(fileDownloaded.exists()); + + + + } + + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/FileUpload.java b/src/test/java/task/tests/FileUpload.java new file mode 100644 index 000000000..caa72ba9b --- /dev/null +++ b/src/test/java/task/tests/FileUpload.java @@ -0,0 +1,45 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.FileUploadPage; +import task.utilities.Driver; +import java.io.File; + +public class FileUpload { + + + FileUploadPage fileUploadPage = new FileUploadPage(); + + String actualUploadFileName; + String expectedUploadFileName = "some-file.txt"; + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/upload"); + } + + + + @Test + public void testFileUpload(){ + + fileUploadPage.uploadFile(expectedUploadFileName); + + actualUploadFileName = fileUploadPage.uploadedFiles.getText(); + + Assertions.assertEquals(expectedUploadFileName, actualUploadFileName); + + + } + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } + +} diff --git a/src/test/java/task/tests/FloatingMenu.java b/src/test/java/task/tests/FloatingMenu.java new file mode 100644 index 000000000..e081157f2 --- /dev/null +++ b/src/test/java/task/tests/FloatingMenu.java @@ -0,0 +1,43 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.JavascriptExecutor; +import task.pages.FloatingMenuPage; +import task.utilities.Driver; + + + +public class FloatingMenu { + + + FloatingMenuPage floatingMenuPage = new FloatingMenuPage(); + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/floating_menu"); + } + + + @Test + public void testFloatingMenu(){ + + + JavascriptExecutor js = (JavascriptExecutor) Driver.getDriver(); + js.executeScript("window.scrollBy(0,653)"); + + + + Assertions.assertTrue(floatingMenuPage.floatingMenu.isDisplayed()); + + } + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/Iframe.java b/src/test/java/task/tests/Iframe.java new file mode 100644 index 000000000..62737fb99 --- /dev/null +++ b/src/test/java/task/tests/Iframe.java @@ -0,0 +1,46 @@ +package task.tests; + +import jdk.swing.interop.LightweightFrameWrapper; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.IframePage; +import task.utilities.Driver; + + +public class Iframe { + + + IframePage iframePage = new IframePage(); + String expectedText = "This is the text area!"; + String actualText; + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/iframe"); + } + + + @Test + public void testIframe(){ + + Driver.getDriver().switchTo().frame(iframePage.iframe); + + iframePage.textArea.clear(); + iframePage.textArea.sendKeys(expectedText); + + + actualText = iframePage.textArea.getText(); + + Assertions.assertEquals(expectedText,actualText); + + } + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/JavaScriptAlerts.java b/src/test/java/task/tests/JavaScriptAlerts.java new file mode 100644 index 000000000..5f21f61c5 --- /dev/null +++ b/src/test/java/task/tests/JavaScriptAlerts.java @@ -0,0 +1,72 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.Alert; +import task.pages.JavaScriptAlertsPage; +import task.utilities.Driver; + +public class JavaScriptAlerts { + + JavaScriptAlertsPage jsPage = new JavaScriptAlertsPage(); + Alert alert; + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/javascript_alerts"); + } + + + + @Test + public void testJSalerts(){ + + jsPage.jsAlert.click(); + alert = Driver.getDriver().switchTo().alert(); + alert.dismiss(); + + String expectedMessage = "You successfuly clicked an alert"; + String actualMessage = jsPage.result.getText(); + Assertions.assertEquals(expectedMessage, actualMessage); + + } + + @Test + public void testJSconfirm(){ + + jsPage.jsConfirm.click(); + alert = Driver.getDriver().switchTo().alert(); + alert.accept(); + + String expectedMessage = "You clicked: Ok"; + String actualMessage = jsPage.result.getText(); + Assertions.assertEquals(expectedMessage, actualMessage); + + + } + + @Test + public void testJSprompt(){ + + jsPage.jsPrompt.click(); + alert = Driver.getDriver().switchTo().alert(); + alert.sendKeys("The message!"); + alert.accept(); + + String expectedText = "The message!"; + String actualText = jsPage.result.getText(); + System.out.println("actualText = " + actualText); + System.out.println("expectedText = " + expectedText); + + Assertions.assertTrue(actualText.contains(expectedText) ); + + } + + + @AfterEach + public void tearDown() { + Driver.closeDriver(); + } + +} diff --git a/src/test/java/task/tests/JavaScriptError.java b/src/test/java/task/tests/JavaScriptError.java new file mode 100644 index 000000000..8fc5eb5c1 --- /dev/null +++ b/src/test/java/task/tests/JavaScriptError.java @@ -0,0 +1,51 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.logging.LogEntries; +import org.openqa.selenium.logging.LogEntry; +import org.openqa.selenium.logging.LogType; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +import java.util.logging.Level; + +public class JavaScriptError { + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/javascript_error"); + } + + + @Test + public void testJavaScriptError(){ + BrowserUtils.waitFor(3); + BrowserUtils.switchWindow(0); + + + BrowserUtils.waitFor(3); + + LogEntries logEntries = Driver.getDriver().manage().logs().get(LogType.BROWSER); + for (LogEntry entry : logEntries) { + if (entry.getLevel().equals(Level.SEVERE)){ + String actualErrorMessage = entry.getMessage(); + + if (actualErrorMessage.contains("Cannot read property 'xyz' of undefined")){ + Assertions.assertTrue(Driver.getDriver().getPageSource().contains(actualErrorMessage)); + break; + } + } + } + } + + + @AfterEach + public void tearDown() { + Driver.closeDriver(); + } + + +} diff --git a/src/test/java/task/tests/LoginFailure.java b/src/test/java/task/tests/LoginFailure.java new file mode 100644 index 000000000..0f1477c04 --- /dev/null +++ b/src/test/java/task/tests/LoginFailure.java @@ -0,0 +1,50 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.LoginPage; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +public class LoginFailure { + + + + LoginPage loginPage = new LoginPage(); + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/login"); + + + } + + + @Test + public void testLoginFailure() { + + + loginPage.userName.sendKeys("invalidUsername"); + + loginPage.password.sendKeys("WrongPassword!"); + + loginPage.loginButton.click(); + BrowserUtils.waitFor(2); + + + Assertions.assertTrue(loginPage.failureMessage.isDisplayed()); + + + + } + + + + @AfterEach + public void tearDown(){ + + Driver.closeDriver(); + + } +} diff --git a/src/test/java/task/tests/LoginSuccess.java b/src/test/java/task/tests/LoginSuccess.java new file mode 100644 index 000000000..0b1f3aa1e --- /dev/null +++ b/src/test/java/task/tests/LoginSuccess.java @@ -0,0 +1,46 @@ +package task.tests; + + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.LoginPage; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + + + +public class LoginSuccess { + + + LoginPage loginPage = new LoginPage(); + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/login"); + } + + @Test + public void testLoginSuccessful() { + + loginPage.userName.sendKeys("tomsmith"); + + loginPage.password.sendKeys("SuperSecretPassword!"); + + loginPage.loginButton.click(); + BrowserUtils.waitFor(2); + + + Assertions.assertTrue(loginPage.successMessage.isDisplayed()); + + +} + + + @AfterEach + public void tearDown(){ + Driver.closeDriver(); + } + + +} diff --git a/src/test/java/task/tests/MouseHover.java b/src/test/java/task/tests/MouseHover.java new file mode 100644 index 000000000..1e59a9c18 --- /dev/null +++ b/src/test/java/task/tests/MouseHover.java @@ -0,0 +1,64 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.WebElement; +import task.pages.MouseHoverPage; +import task.utilities.Driver; + +import java.util.ArrayList; +import java.util.List; + +public class MouseHover { + + MouseHoverPage mouseHoverPage = new MouseHoverPage(); + + List expectedTexts = new ArrayList<>(); + + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/hovers"); + } + + + + @Test + public void testMouseHover() { + + List allImages = mouseHoverPage.images; // get all images + + + //loop and hover over each + //hover over 1st image + + expectedTexts.add("name: user1"); + expectedTexts.add("name: user2"); + expectedTexts.add("name: user3"); + + + for (int i = 0; i < expectedTexts.size(); i++) { + + String actualText = mouseHoverPage.hoverOver(allImages, i); + + Assertions.assertEquals(expectedTexts.get(i), actualText); + + + + } + } + + + + + + + @AfterEach + public void tearDown() { + Driver.closeDriver(); + } + + } \ No newline at end of file diff --git a/src/test/java/task/tests/NotificationMessage.java b/src/test/java/task/tests/NotificationMessage.java new file mode 100644 index 000000000..6c48b9181 --- /dev/null +++ b/src/test/java/task/tests/NotificationMessage.java @@ -0,0 +1,64 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.NotificationMessagePage; +import task.utilities.Driver; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class NotificationMessage { + + + NotificationMessagePage notificationMessagePage = new NotificationMessagePage(); + + List expectedMessages = new ArrayList<>(); + + String actualMessage; + + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/notification_message_rendered"); + } + + + @Test + public void testNotificationMessage(){ + + expectedMessages.add("Action successful"); + expectedMessages.add("Action Unsuccessful"); + expectedMessages.add("Action unsuccessful, please try again"); + + + boolean isShown = false; + + for (int i = 0; i < 5; i++) { + + notificationMessagePage.notificationLink.click(); + actualMessage = notificationMessagePage.messageBox.getText().trim(); + + + Assertions.assertTrue(actualMessage.contains("Action successful") + || actualMessage.contains("Action unsuccesful, please try again") + || actualMessage.contains("Action Unsuccessful")); + + + + } + + + + + } + + + @AfterEach + public void tearDown() { + Driver.closeDriver(); + } +} diff --git a/src/test/java/task/tests/OpenInNewTab.java b/src/test/java/task/tests/OpenInNewTab.java new file mode 100644 index 000000000..c780fc43b --- /dev/null +++ b/src/test/java/task/tests/OpenInNewTab.java @@ -0,0 +1,46 @@ +package task.tests; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import task.pages.OpenInNewTabPage; +import task.utilities.BrowserUtils; +import task.utilities.Driver; + +public class OpenInNewTab { + + + OpenInNewTabPage openInNewTabPage = new OpenInNewTabPage(); + String expectedText = "New Window"; + String actualText; + + @BeforeEach + public void setUp(){ + Driver.getDriver().get("http://localhost:7080/windows"); + } + + + + @Test + public void testOpenInNewTab(){ + + openInNewTabPage.link.click(); + + + BrowserUtils.switchWindow(expectedText); + actualText = Driver.getDriver().getTitle(); + + + Assertions.assertEquals(expectedText, actualText); + } + + + + + @AfterEach + public void tearDown() { + Driver.closeDriver(); + } + +} diff --git a/src/test/java/task/utilities/BrowserUtils.java b/src/test/java/task/utilities/BrowserUtils.java new file mode 100644 index 000000000..0e41c2148 --- /dev/null +++ b/src/test/java/task/utilities/BrowserUtils.java @@ -0,0 +1,56 @@ +package task.utilities; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; + +import java.time.Duration; +import java.util.ArrayList; +import java.util.Set; + +public class BrowserUtils { + + + + public static void waitFor(int seconds) { + try { + Thread.sleep(seconds * 1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + + public static WebElement waitForVisibility(WebElement element, int time) { + WebDriverWait wait = new WebDriverWait(Driver.getDriver(), Duration.ofSeconds(time)); + return wait.until(ExpectedConditions.visibilityOf(element)); + } + + + public static void switchWindow(String expectedText){ + + Set allWindowHandles = Driver.getDriver().getWindowHandles(); + + for (String each : allWindowHandles) { + + Driver.getDriver().switchTo().window(each); + + if (each.equals(expectedText)){ + break; + } + } + } + + + public static void switchWindow(int index){ + + ArrayList allWindowHandles = new ArrayList<>(Driver.getDriver().getWindowHandles()); + + Driver.getDriver().switchTo().window(allWindowHandles.get(index)); + } + + + + + } + diff --git a/src/test/java/task/utilities/Driver.java b/src/test/java/task/utilities/Driver.java new file mode 100644 index 000000000..42be04484 --- /dev/null +++ b/src/test/java/task/utilities/Driver.java @@ -0,0 +1,40 @@ +package task.utilities; + +import io.github.bonigarcia.wdm.WebDriverManager; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.firefox.FirefoxDriver; + +import java.time.Duration; + +public class Driver { + + + private static InheritableThreadLocal driverPool = new InheritableThreadLocal<>(); + + public static WebDriver getDriver() { + + if (driverPool.get() == null) { + + + WebDriverManager.chromedriver().setup(); + ChromeOptions options = new ChromeOptions(); + options.addArguments("--remote-allow-origins=*"); + driverPool.set(new ChromeDriver(options)); + driverPool.get().manage().window().maximize(); + driverPool.get().manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); + + } + + return driverPool.get(); + } + + public static void closeDriver() { + + if (driverPool.get() != null){ + driverPool.get().quit(); + driverPool.remove(); + } + } +} diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 000000000..0fa5ecfdf --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,37 @@ +task/pages/DynamicContentPage.class +task/pages/DynamicControlsPage.class +task/tests/FloatingMenu.class +task/tests/DragAndDrop.class +task/pages/JavaScriptErrorPage.class +task/utilities/BrowserUtils.class +task/tests/NotificationMessage.class +task/pages/FileUploadPage.class +task/tests/ContextMenu.class +task/tests/Iframe.class +task/tests/OpenInNewTab.class +task/pages/JavaScriptAlertsPage.class +task/tests/LoginFailure.class +task/pages/DragAndDropPage.class +task/utilities/Driver.class +task/tests/JavaScriptAlerts.class +task/pages/ContextMenuPage.class +task/tests/CheckBoxes.class +task/tests/MouseHover.class +task/pages/FileDownloadPage.class +task/pages/DropdownPage.class +task/pages/NotificationMessagePage.class +task/pages/LoginPage.class +task/pages/MouseHoverPage.class +task/pages/CheckBoxesPage.class +task/tests/JavaScriptError.class +task/pages/DynamicLoadingPage.class +task/tests/DynamicLoading.class +task/tests/FileUpload.class +task/tests/LoginSuccess.class +task/tests/DynamicContent.class +task/tests/FileDownload.class +task/tests/Dropdown.class +task/pages/OpenInNewTabPage.class +task/tests/DynamicControls.class +task/pages/FloatingMenuPage.class +task/pages/IframePage.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 000000000..66ae2bb3d --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,37 @@ +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/FileDownload.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/FloatingMenuPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/CheckBoxesPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/MouseHover.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/DynamicLoadingPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/utilities/BrowserUtils.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/MouseHoverPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/FileUpload.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/DropdownPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/LoginSuccess.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/FileUploadPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/FileDownloadPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/OpenInNewTab.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/ContextMenu.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/NotificationMessage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/DragAndDrop.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/OpenInNewTabPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/Dropdown.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/NotificationMessagePage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/FloatingMenu.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/DragAndDropPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/DynamicControls.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/ContextMenuPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/JavaScriptError.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/Iframe.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/CheckBoxes.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/JavaScriptAlertsPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/DynamicControlsPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/JavaScriptErrorPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/JavaScriptAlerts.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/utilities/Driver.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/DynamicContent.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/LoginFailure.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/tests/DynamicLoading.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/LoginPage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/IframePage.java +/Users/amirdadabaev/IdeaProjects/take-home-webdriver-test/src/test/java/task/pages/DynamicContentPage.java