├── .gitignore ├── LICENSE ├── README.md ├── circle.yml ├── driver └── chromedriver ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images └── kebab.png ├── settings.gradle └── src ├── main ├── java │ └── kebab │ │ └── report │ │ └── PngUtils.java └── kotlin │ ├── Factories.kt │ ├── configuration │ ├── ConfigOptions.kt │ ├── Configuration.kt │ └── ConfigurationLoader.kt │ ├── core │ ├── Browser.kt │ ├── Module.kt │ ├── Page.kt │ ├── PageContainer.kt │ ├── PageContent.kt │ └── RemoteDriverOperation.kt │ ├── exception │ └── Exceptions.kt │ ├── function │ └── ByFunction.kt │ ├── interaction │ └── InteractDelegate.kt │ ├── js │ └── JavascriptInterface.kt │ ├── locator │ ├── BasicLocator.kt │ ├── DefaultLocator.kt │ ├── EmptyLocator.kt │ ├── Locator.kt │ └── SearchContextBasedBasicLocator.kt │ ├── navigator │ ├── AbstractNavigator.kt │ ├── EmptyNavigator.kt │ ├── Navigable.kt │ ├── Navigate.kt │ ├── Navigator.kt │ └── NonEmptyNavigator.kt │ ├── report │ ├── CompositeReporter.kt │ ├── ExceptionToPngConverter.kt │ ├── PageSourceReporter.kt │ ├── ReportState.kt │ ├── Reporter.kt │ ├── ReportingListener.kt │ └── ScreenshotReporter.kt │ └── support │ ├── alert │ ├── AlertAndConfirmSupport.kt │ ├── DefaultAlertAndConfirmSupport.kt │ └── UninitializedAlertAndConfirmSupport.kt │ ├── download │ ├── DefaultDownloadSupport.kt │ ├── DownloadSupport.kt │ └── UninitializedDownloadSupport.kt │ ├── frame │ ├── DefaultFrameSupport.kt │ ├── FrameSupport.kt │ └── UninitializedFrameSupport.kt │ ├── interaction │ ├── DefaultInteractionsSupport.kt │ ├── InteractionsSupport.kt │ └── UninitializedInteractionSupport.kt │ ├── navigate │ ├── NavigableSupport.kt │ ├── Navigatable.kt │ └── UninitializedNavigableSupport.kt │ ├── page │ ├── DefaultPageContentSupport.kt │ ├── PageContentSupport.kt │ └── UninitializedPageContentSupport.kt │ ├── report │ └── ReporterSupport.kt │ ├── text │ └── TextMatchingSupport.kt │ └── waiting │ ├── DefaultWaitingSupport.kt │ ├── UninitializedWaitingSupport.kt │ └── WaitingSupport.kt └── test └── kotlin └── KebabTest.kt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/README.md -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/circle.yml -------------------------------------------------------------------------------- /driver/chromedriver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/driver/chromedriver -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/gradlew.bat -------------------------------------------------------------------------------- /images/kebab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/images/kebab.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/settings.gradle -------------------------------------------------------------------------------- /src/main/java/kebab/report/PngUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/java/kebab/report/PngUtils.java -------------------------------------------------------------------------------- /src/main/kotlin/Factories.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/Factories.kt -------------------------------------------------------------------------------- /src/main/kotlin/configuration/ConfigOptions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/configuration/ConfigOptions.kt -------------------------------------------------------------------------------- /src/main/kotlin/configuration/Configuration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/configuration/Configuration.kt -------------------------------------------------------------------------------- /src/main/kotlin/configuration/ConfigurationLoader.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/configuration/ConfigurationLoader.kt -------------------------------------------------------------------------------- /src/main/kotlin/core/Browser.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/core/Browser.kt -------------------------------------------------------------------------------- /src/main/kotlin/core/Module.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/core/Module.kt -------------------------------------------------------------------------------- /src/main/kotlin/core/Page.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/core/Page.kt -------------------------------------------------------------------------------- /src/main/kotlin/core/PageContainer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/core/PageContainer.kt -------------------------------------------------------------------------------- /src/main/kotlin/core/PageContent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/core/PageContent.kt -------------------------------------------------------------------------------- /src/main/kotlin/core/RemoteDriverOperation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/core/RemoteDriverOperation.kt -------------------------------------------------------------------------------- /src/main/kotlin/exception/Exceptions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/exception/Exceptions.kt -------------------------------------------------------------------------------- /src/main/kotlin/function/ByFunction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/function/ByFunction.kt -------------------------------------------------------------------------------- /src/main/kotlin/interaction/InteractDelegate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/interaction/InteractDelegate.kt -------------------------------------------------------------------------------- /src/main/kotlin/js/JavascriptInterface.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/js/JavascriptInterface.kt -------------------------------------------------------------------------------- /src/main/kotlin/locator/BasicLocator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/locator/BasicLocator.kt -------------------------------------------------------------------------------- /src/main/kotlin/locator/DefaultLocator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/locator/DefaultLocator.kt -------------------------------------------------------------------------------- /src/main/kotlin/locator/EmptyLocator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/locator/EmptyLocator.kt -------------------------------------------------------------------------------- /src/main/kotlin/locator/Locator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/locator/Locator.kt -------------------------------------------------------------------------------- /src/main/kotlin/locator/SearchContextBasedBasicLocator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/locator/SearchContextBasedBasicLocator.kt -------------------------------------------------------------------------------- /src/main/kotlin/navigator/AbstractNavigator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/navigator/AbstractNavigator.kt -------------------------------------------------------------------------------- /src/main/kotlin/navigator/EmptyNavigator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/navigator/EmptyNavigator.kt -------------------------------------------------------------------------------- /src/main/kotlin/navigator/Navigable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/navigator/Navigable.kt -------------------------------------------------------------------------------- /src/main/kotlin/navigator/Navigate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/navigator/Navigate.kt -------------------------------------------------------------------------------- /src/main/kotlin/navigator/Navigator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/navigator/Navigator.kt -------------------------------------------------------------------------------- /src/main/kotlin/navigator/NonEmptyNavigator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/navigator/NonEmptyNavigator.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/CompositeReporter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/CompositeReporter.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/ExceptionToPngConverter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/ExceptionToPngConverter.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/PageSourceReporter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/PageSourceReporter.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/ReportState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/ReportState.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/Reporter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/Reporter.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/ReportingListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/ReportingListener.kt -------------------------------------------------------------------------------- /src/main/kotlin/report/ScreenshotReporter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/report/ScreenshotReporter.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/alert/AlertAndConfirmSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/alert/AlertAndConfirmSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/alert/DefaultAlertAndConfirmSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/alert/DefaultAlertAndConfirmSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/alert/UninitializedAlertAndConfirmSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/alert/UninitializedAlertAndConfirmSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/download/DefaultDownloadSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/download/DefaultDownloadSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/download/DownloadSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/download/DownloadSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/download/UninitializedDownloadSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/download/UninitializedDownloadSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/frame/DefaultFrameSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/frame/DefaultFrameSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/frame/FrameSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/frame/FrameSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/frame/UninitializedFrameSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/frame/UninitializedFrameSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/interaction/DefaultInteractionsSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/interaction/DefaultInteractionsSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/interaction/InteractionsSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/interaction/InteractionsSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/interaction/UninitializedInteractionSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/interaction/UninitializedInteractionSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/navigate/NavigableSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/navigate/NavigableSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/navigate/Navigatable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/navigate/Navigatable.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/navigate/UninitializedNavigableSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/navigate/UninitializedNavigableSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/page/DefaultPageContentSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/page/DefaultPageContentSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/page/PageContentSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/page/PageContentSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/page/UninitializedPageContentSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/page/UninitializedPageContentSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/report/ReporterSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/report/ReporterSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/text/TextMatchingSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/text/TextMatchingSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/waiting/DefaultWaitingSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/waiting/DefaultWaitingSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/waiting/UninitializedWaitingSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/waiting/UninitializedWaitingSupport.kt -------------------------------------------------------------------------------- /src/main/kotlin/support/waiting/WaitingSupport.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/main/kotlin/support/waiting/WaitingSupport.kt -------------------------------------------------------------------------------- /src/test/kotlin/KebabTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyYank/Kebab/HEAD/src/test/kotlin/KebabTest.kt --------------------------------------------------------------------------------