From 078f4f4b6f5a96ed0e0fe4e25e42f5af8dae320b Mon Sep 17 00:00:00 2001 From: astrapi69 Date: Wed, 19 Jul 2023 19:54:57 +0200 Subject: [PATCH] added new dependency auto-browser for experiment with auto-type the user and password --- gradle.properties | 1 + gradle/dependencies.gradle | 2 + .../mystic/crypt/autotype/Sample.java | 38 +++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/test/java/io/github/astrapi69/mystic/crypt/autotype/Sample.java diff --git a/gradle.properties b/gradle.properties index 117d4744..d11cf8de 100644 --- a/gradle.properties +++ b/gradle.properties @@ -102,6 +102,7 @@ resourcebundleCoreVersion=5 resourceViewmodelVersion=6 jobjClonerVersion=2 lGoodDatePickerVersion=11.2.1 +autoBrowserVersion=2.0.6 ############################## # test dependencies versions # ############################## diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 7283056e..60f323e4 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -65,6 +65,8 @@ dependencies { implementation("com.github.lgooddatepicker:LGoodDatePicker:$lGoodDatePickerVersion") implementation("io.github.astrapi69:tree-api:$treeApiVersion") implementation("io.github.astrapi69:jobj-cloner:$jobjClonerVersion") + implementation("org.kquiet:auto-browser:$autoBrowserVersion") + testImplementation("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") diff --git a/src/test/java/io/github/astrapi69/mystic/crypt/autotype/Sample.java b/src/test/java/io/github/astrapi69/mystic/crypt/autotype/Sample.java new file mode 100644 index 00000000..6158fb8c --- /dev/null +++ b/src/test/java/io/github/astrapi69/mystic/crypt/autotype/Sample.java @@ -0,0 +1,38 @@ +package io.github.astrapi69.mystic.crypt.autotype; + +import org.kquiet.browser.*; +import org.openqa.selenium.By; +import org.openqa.selenium.support.ui.ExpectedCondition; +import org.openqa.selenium.support.ui.ExpectedConditions; + +import java.util.List; +import static org.openqa.selenium.support.ui.ExpectedConditions.*; + +public class Sample +{ + public static void main(String args[]) throws Exception + { + try (ActionRunner actionRunner = new BasicActionRunner()) + { + ActionComposer actionComposer = new ActionComposerBuilder().prepareActionSequence() + .getUrl("https://github.com/login") + .waitUntil(elementToBeClickable(By.id("login_field")), 3000) + .sendKey(By.id("login_field"), "foo") + .waitUntil(elementToBeClickable(By.id("password")), 3000) + .sendKey(By.id("password"), "bar") + .waitUntil(elementToBeClickable(By.cssSelector("input[type='submit']")), 3000) + .prepareClick(By.cssSelector("input[type='submit']")).done() + .returnToComposerBuilder().buildBasic().setCloseWindow(false) + .onFail(ac -> System.out + .println("called when an exception is thrown or is marked as failed")) + .onDone(ac -> System.out + .println("always called after all browser actions and callbacks")); + actionRunner.executeComposer(actionComposer).get(); + // while (true) + // { + // Thread.sleep(1000); + // } + } + } + +} \ No newline at end of file