├── .doc └── selenium-spring.png ├── .gitignore ├── Readme.md ├── pom.xml ├── src ├── main │ ├── java │ │ └── com │ │ │ └── udemy │ │ │ └── spring │ │ │ └── springselenium │ │ │ ├── SpringSeleniumApplication.java │ │ │ ├── entity │ │ │ └── Customer.java │ │ │ ├── kelvin │ │ │ ├── annotation │ │ │ │ ├── LazyAutowired.java │ │ │ │ ├── LazyConfiguration.java │ │ │ │ ├── Page.java │ │ │ │ ├── PageFragment.java │ │ │ │ ├── TakeScreenshot.java │ │ │ │ ├── ThreadScopeBean.java │ │ │ │ └── Window.java │ │ │ ├── aop │ │ │ │ ├── ScreenshotAspect.java │ │ │ │ └── WindowAspect.java │ │ │ ├── config │ │ │ │ ├── FakerConfig.java │ │ │ │ ├── RemoteWebDriverConfig.java │ │ │ │ ├── WebDriverConfig.java │ │ │ │ └── WebDriverWaitConfig.java │ │ │ ├── scope │ │ │ │ ├── BrowserScope.java │ │ │ │ ├── BrowserScopeConfig.java │ │ │ │ └── BrowserScopePostProcessor.java │ │ │ └── service │ │ │ │ ├── ScreenshotService.java │ │ │ │ └── WindowSwitchService.java │ │ │ ├── page │ │ │ ├── Base.java │ │ │ ├── flights │ │ │ │ └── FlightPage.java │ │ │ ├── google │ │ │ │ ├── GooglePage.java │ │ │ │ ├── SearchComponent.java │ │ │ │ └── SearchResult.java │ │ │ ├── visa │ │ │ │ └── VisaRegistrationPage.java │ │ │ └── window │ │ │ │ ├── MainPage.java │ │ │ │ ├── PageA.java │ │ │ │ ├── PageB.java │ │ │ │ └── PageC.java │ │ │ └── repository │ │ │ └── UserRepository.java │ └── resources │ │ ├── application-qa.properties │ │ ├── application-remote.properties │ │ ├── application-stg.properties │ │ └── application.properties └── test │ ├── java │ └── com │ │ └── udemy │ │ └── spring │ │ └── springselenium │ │ ├── CucumberRunner.java │ │ ├── SpringBaseTestNGTest.java │ │ ├── SpringSeleniumApplicationTests.java │ │ ├── bdd │ │ ├── CucumberHooks.java │ │ ├── GoogleSteps.java │ │ └── VisaSteps.java │ │ ├── flights │ │ ├── EnTest.java │ │ ├── FlightAppDetails.java │ │ ├── FlightTest.java │ │ └── IdTest.java │ │ ├── googletest │ │ ├── Google1Test.java │ │ ├── Google2Test.java │ │ └── MultiBrowserTest.java │ │ ├── resource │ │ └── ResourceTest.java │ │ ├── scope │ │ ├── JuniorEngg.java │ │ ├── JuniorSeniorTest.java │ │ ├── Salary.java │ │ └── SeniorEngg.java │ │ ├── visa │ │ └── UserVisaTest.java │ │ └── window │ │ └── WindowSwitchTest.java │ └── resources │ ├── data.sql │ ├── data │ └── testdata.csv │ ├── features │ ├── search.feature │ └── visa-registration.feature │ ├── language │ ├── en.properties │ └── id.properties │ └── tables │ └── user_visa.csv └── testng-suite.xml /.doc/selenium-spring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/.doc/selenium-spring.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/.gitignore -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/Readme.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/SpringSeleniumApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/SpringSeleniumApplication.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/entity/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/entity/Customer.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/LazyAutowired.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/LazyAutowired.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/LazyConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/LazyConfiguration.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/Page.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/Page.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/PageFragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/PageFragment.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/TakeScreenshot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/TakeScreenshot.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/ThreadScopeBean.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/ThreadScopeBean.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/annotation/Window.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/annotation/Window.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/aop/ScreenshotAspect.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/aop/ScreenshotAspect.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/aop/WindowAspect.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/aop/WindowAspect.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/config/FakerConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/config/FakerConfig.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/config/RemoteWebDriverConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/config/RemoteWebDriverConfig.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/config/WebDriverConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/config/WebDriverConfig.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/config/WebDriverWaitConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/config/WebDriverWaitConfig.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScope.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScopeConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScopeConfig.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScopePostProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScopePostProcessor.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/service/ScreenshotService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/service/ScreenshotService.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/kelvin/service/WindowSwitchService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/kelvin/service/WindowSwitchService.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/Base.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/Base.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/flights/FlightPage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/flights/FlightPage.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/google/GooglePage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/google/GooglePage.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/google/SearchComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/google/SearchComponent.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/google/SearchResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/google/SearchResult.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/visa/VisaRegistrationPage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/visa/VisaRegistrationPage.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/window/MainPage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/window/MainPage.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/window/PageA.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/window/PageA.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/window/PageB.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/window/PageB.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/page/window/PageC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/page/window/PageC.java -------------------------------------------------------------------------------- /src/main/java/com/udemy/spring/springselenium/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/java/com/udemy/spring/springselenium/repository/UserRepository.java -------------------------------------------------------------------------------- /src/main/resources/application-qa.properties: -------------------------------------------------------------------------------- 1 | application.url=https://www.google.com?q=qa -------------------------------------------------------------------------------- /src/main/resources/application-remote.properties: -------------------------------------------------------------------------------- 1 | selenium.grid.url=http://localhost:4444/wd/hub -------------------------------------------------------------------------------- /src/main/resources/application-stg.properties: -------------------------------------------------------------------------------- 1 | application.url=https://www.google.com?q=stg -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/CucumberRunner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/CucumberRunner.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/SpringBaseTestNGTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/SpringBaseTestNGTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/SpringSeleniumApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/SpringSeleniumApplicationTests.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/bdd/CucumberHooks.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/bdd/CucumberHooks.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/bdd/GoogleSteps.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/bdd/GoogleSteps.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/bdd/VisaSteps.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/bdd/VisaSteps.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/flights/EnTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/flights/EnTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/flights/FlightAppDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/flights/FlightAppDetails.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/flights/FlightTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/flights/FlightTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/flights/IdTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/flights/IdTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/googletest/Google1Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/googletest/Google1Test.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/googletest/Google2Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/googletest/Google2Test.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/googletest/MultiBrowserTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/googletest/MultiBrowserTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/resource/ResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/resource/ResourceTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/scope/JuniorEngg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/scope/JuniorEngg.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/scope/JuniorSeniorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/scope/JuniorSeniorTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/scope/Salary.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/scope/Salary.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/scope/SeniorEngg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/scope/SeniorEngg.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/visa/UserVisaTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/visa/UserVisaTest.java -------------------------------------------------------------------------------- /src/test/java/com/udemy/spring/springselenium/window/WindowSwitchTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/java/com/udemy/spring/springselenium/window/WindowSwitchTest.java -------------------------------------------------------------------------------- /src/test/resources/data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/data.sql -------------------------------------------------------------------------------- /src/test/resources/data/testdata.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/data/testdata.csv -------------------------------------------------------------------------------- /src/test/resources/features/search.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/features/search.feature -------------------------------------------------------------------------------- /src/test/resources/features/visa-registration.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/features/visa-registration.feature -------------------------------------------------------------------------------- /src/test/resources/language/en.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/language/en.properties -------------------------------------------------------------------------------- /src/test/resources/language/id.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/language/id.properties -------------------------------------------------------------------------------- /src/test/resources/tables/user_visa.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/src/test/resources/tables/user_visa.csv -------------------------------------------------------------------------------- /testng-suite.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinsguru/spring-selenium/HEAD/testng-suite.xml --------------------------------------------------------------------------------