From d11c097190ce6b625bd6ec59c2c29913a3a53535 Mon Sep 17 00:00:00 2001 From: kazurayam Date: Wed, 21 Feb 2024 09:44:22 +0900 Subject: [PATCH] #5, #6, tagged v1.6.2; removed unnecessary codes, cleaned the build.gradle --- .../com__example__MiniScreenshotDriver | 86 +++++++++ .../com__kazurayam__junit4ks__IgnoreRest | 10 + ...com__kazurayam__junit4ks__IgnoreRestHelper | 10 + .../com__kazurayam__junit4ks__IgnoreRestRule | 14 ++ ...zurayam__junit4ks__IgnoreRestSupportRunner | 10 + ...__kazurayam__junit4ks__JUnitCustomKeywords | 70 +++++++ ...unit4ks__LegacyXmlReportGeneratingListener | 10 + .../com__kazurayam__junit4ks__RunListener4ks | 10 + .cache/Keywords/junittutorial__Calculator | 171 ++++++++++++++++++ .cache/Keywords/junittutorial__Greeter | 30 +++ .cache/Keywords/my__tutorial__Calculator | 171 ++++++++++++++++++ .cache/Keywords/my__tutorial__Greeter | 30 +++ Drivers/ashot-1.5.4.jar | Bin 54351 -> 0 bytes .../example/MiniScreenshotDriverTest.groovy | 70 ------- .../groovy/my/tutorial/CalculatorTest.groovy | 43 ----- .../CalculatorWithIgnoreRestTest.groovy | 47 ----- .../groovy/my/tutorial/GreeterTest.groovy | 29 --- .../com/example/MiniScreenshotDriver.groovy | 80 -------- .../kazurayam/junit4ks/IgnoreRestRule.groovy | 2 - .../junit4ks/IgnoreRestSupportRunner.groovy | 18 -- Keywords/my/tutorial/Calculator.groovy | 43 ----- Keywords/my/tutorial/Greeter.groovy | 11 -- README.md | 1 + .../Script1549744978276.groovy | 5 - .../ScreenshotDriverMiniTestRunner.tc | 8 - Test Suites/test/All.ts | 13 +- build.gradle | 40 ++-- junit4ks.prj | 2 + ...com.kms.katalon.core.webservice.properties | 2 +- .../com.kms.katalon.execution.properties | 2 + ...com.kms.katalon.execution.webui.properties | 11 ++ ...s.katalon.integration.analytics.properties | 5 + 32 files changed, 676 insertions(+), 378 deletions(-) create mode 100644 .cache/Keywords/com__example__MiniScreenshotDriver create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__IgnoreRest create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__IgnoreRestHelper create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__IgnoreRestRule create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__IgnoreRestSupportRunner create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__JUnitCustomKeywords create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__LegacyXmlReportGeneratingListener create mode 100644 .cache/Keywords/com__kazurayam__junit4ks__RunListener4ks create mode 100644 .cache/Keywords/junittutorial__Calculator create mode 100644 .cache/Keywords/junittutorial__Greeter create mode 100644 .cache/Keywords/my__tutorial__Calculator create mode 100644 .cache/Keywords/my__tutorial__Greeter delete mode 100644 Drivers/ashot-1.5.4.jar delete mode 100644 Include/scripts/groovy/com/example/MiniScreenshotDriverTest.groovy delete mode 100644 Include/scripts/groovy/my/tutorial/CalculatorTest.groovy delete mode 100644 Include/scripts/groovy/my/tutorial/CalculatorWithIgnoreRestTest.groovy delete mode 100644 Include/scripts/groovy/my/tutorial/GreeterTest.groovy delete mode 100644 Keywords/com/example/MiniScreenshotDriver.groovy delete mode 100644 Keywords/my/tutorial/Calculator.groovy delete mode 100644 Keywords/my/tutorial/Greeter.groovy delete mode 100644 Scripts/test/com.kazurayam.ksbackyard/ScreenshotDriverMiniTestRunner/Script1549744978276.groovy delete mode 100644 Test Cases/test/com.kazurayam.ksbackyard/ScreenshotDriverMiniTestRunner.tc diff --git a/.cache/Keywords/com__example__MiniScreenshotDriver b/.cache/Keywords/com__example__MiniScreenshotDriver new file mode 100644 index 0000000..2aea56d --- /dev/null +++ b/.cache/Keywords/com__example__MiniScreenshotDriver @@ -0,0 +1,86 @@ +{ + "keywordFileContentHash": "0CD2B4CC31C8335F2EE0E703066984B2", + "keywordClasses": [ + { + "name": "com.example.MiniScreenshotDriver", + "keywordMethods": [ + { + "name": "takeEntirePageImage", + "parameters": [ + { + "name": "timeout", + "initialExpression": "", + "type": { + "fullClassName": "java.lang.Integer", + "unresolvedClassName": "Integer", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "/**\n\t * Capture a entire-page screenshot of a web page and return BufferedImage object.\n\t * We get access to the page via the WebDriver object obtained by DriverFactory.getWebDriver()\n\t *\n\t * @timeout millisecond, wait for page to displayed stable after scrolling downward\n\t * @return BufferedImage\n\t */" + }, + { + "name": "saveEntirePageImage", + "parameters": [ + { + "name": "file", + "initialExpression": "", + "type": { + "fullClassName": "java.io.File", + "unresolvedClassName": "File", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "timeout", + "initialExpression": "", + "type": { + "fullClassName": "java.lang.Integer", + "unresolvedClassName": "Integer", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "/**\n\t * Capture a entire-page screenshot of a web page and save PNG image into file.\n\t * We get access to the page via the WebDriver object obtained by DriverFactory.getWebDriver()\n\t *\n\t * @param file output file\n\t * @param timeout millisecond\n\t */" + }, + { + "name": "takeEntirePageImage", + "parameters": [], + "javadoc": "" + }, + { + "name": "saveEntirePageImage", + "parameters": [ + { + "name": "file", + "initialExpression": "", + "type": { + "fullClassName": "java.io.File", + "unresolvedClassName": "File", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + } + ] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRest b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRest new file mode 100644 index 0000000..764f388 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRest @@ -0,0 +1,10 @@ +{ + "keywordFileContentHash": "8902B458046F1E96EAADAB3CDF2ED152", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.IgnoreRest", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestHelper b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestHelper new file mode 100644 index 0000000..476c504 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestHelper @@ -0,0 +1,10 @@ +{ + "keywordFileContentHash": "9DA4B40FE183109FC5F18026FE625B84", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.IgnoreRestHelper", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestRule b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestRule new file mode 100644 index 0000000..fb8d8b6 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestRule @@ -0,0 +1,14 @@ +{ + "keywordFileContentHash": "7E06CFC77BEDA148BBD8F65398B23C04", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.IgnoreRestRule", + "keywordMethods": [] + }, + { + "name": "com.kazurayam.junit4ks.IgnoreRestRule$1", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestSupportRunner b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestSupportRunner new file mode 100644 index 0000000..a96a752 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__IgnoreRestSupportRunner @@ -0,0 +1,10 @@ +{ + "keywordFileContentHash": "C71DF166CBB168C6CE0865136413743D", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.IgnoreRestSupportRunner", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__JUnitCustomKeywords b/.cache/Keywords/com__kazurayam__junit4ks__JUnitCustomKeywords new file mode 100644 index 0000000..be9e6f6 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__JUnitCustomKeywords @@ -0,0 +1,70 @@ +{ + "keywordFileContentHash": "B4B34D235001837362BB14E22EF88AA0", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.JUnitCustomKeywords", + "keywordMethods": [ + { + "name": "runWithJUnitRunner", + "parameters": [ + { + "name": "junitRunnerClass", + "initialExpression": "", + "type": { + "fullClassName": "java.lang.Class", + "unresolvedClassName": "Class", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "flowControl", + "initialExpression": "", + "type": { + "fullClassName": "com.kms.katalon.core.model.FailureHandling", + "unresolvedClassName": "FailureHandling", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "/**\n\t * Example:\n\t *\n\t * You can run the following test case `Test Cases/test/CalculatorTestRunner` in Katalon Studio\n\t * just as you run a usual test case by clicking the Run button.\n\t *\n\t * Test Case:\n\t * \u003cPRE\u003e\n\t * import junittutorial.CalculatorTest\n\t * CustomKeywords.\u0027com.kazurayam.ksbackyard.junit.JUnitCustomKeywordsTest.runWithJUnitRunner\u0027(CalculatorTest.class)\n\t * \u003c/PRE\u003e\n\t *\n\t * The following is a JUnit test (localated at Include/scripts/groovy/junittutorial/CalculatorTest.groovy)\n\t * executed by the above test case:\n\t * \u003cPRE\u003e\n\t * package junittutorial\n\t *\n\t * import static org.hamcrest.CoreMatchers.*\n\t * import static org.junit.Assert.*\n\t *\n\t * import org.junit.Test\n\t * import org.junit.runner.RunWith\n\t * import org.junit.runners.JUnit4\n\t *\n\t * @RunWith(JUnit4.class)\n\t * class CalculatorTest {\n\t * \t@Test\n\t * \tvoid testMultiply() {\n\t * \t\tint expected \u003d 21\n\t * \t\tint actual \u003d Calculator.multiply(7, 3)\n\t * \t\tassertThat(actual, is(expected))\n\t * \t}\n\t *\n\t * \t@Test\n\t * \tvoid testDivide_wrongType() {\n\t * \t\tdouble expected \u003d 1.5f\n\t * \t\tdouble actual \u003d Calculator.divide(3, 2)\n\t * \t\tassertThat(actual, is(not(expected)))\n\t * \t}\n\t *\n\t * \t@Test\n\t * \tvoid testDivide() {\n\t * \t\tint expected \u003d 1\n\t * \t\tint actual \u003d Calculator.divide(3, 2)\n\t * \t\tassertThat(actual, is(expected))\n\t * \t}\n\t * }\n\t * \u003c/PRE\u003e\n\t *\n\t * Finally the class to be tested is located at `Keywords/junittutorial/Calculator.groovy`:\n\t * \u003cPRE\u003e\n\t * package junittutorial\n\t *\n\t * import com.kms.katalon.core.annotation.Keyword\n\t *\n\t * class Calculator {\n\t *\n\t * \t @Keyword\n\t * \t static int add(int a, int b) {\n\t * \t\t return a + b;\n\t * \t }\n\t *\n\t * \t @Keyword\n\t * \t static int subtract(int a, int b) {\n\t * \t\t return a - b;\n\t * \t }\n\t *\n\t * \t @Keyword\n\t * \t static int multiply(int x, int y) {\n\t * \t\t return x * y\n\t * \t }\n\t *\n\t * \t @Keyword\n\t * \t static int divide(int x, int y) {\n\t * \t\t return x / y\n\t * \t }\n\t *\n\t * \t @Keyword\n\t * \t static int power(int a, int b){\n\t * \t\t int answer \u003da;\n\t * \t\t for (int x \u003d 2; x \u003c\u003d b; x++){\n\t * \t\t answer *\u003d a;\n\t * \t\t }\n\t * \t\t return answer;\n\t * }\n\t * }\n\t * \u003c/PRE\u003e\n\t *\n\t * Please note that in the targeted Custom Keyword (e.g, Keywords/com/example/MiniScreenshotDriver.groovy) and\n\t * JUnit test (e.g, Include/scripts/groovy/com/example/MiniScreenshotDriverTest.groovy), you can call\n\t * any Katalon Studio API including org.openqa.selenium.WebDriver. Your JUnit invoked within Katalon Studio now\n\t * can interact with your Application Under Test (web site) through WebDriver. This is what I wanted to achieve.\n\t *\n\t * @param junitRunnerClass\n\t * @param flowControl\n\t * @return\n\t */" + }, + { + "name": "runWithJUnitRunner", + "parameters": [ + { + "name": "junitRunnerClass", + "initialExpression": "", + "type": { + "fullClassName": "java.lang.Class", + "unresolvedClassName": "Class", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "/**\n\t * Run the given \u003ccode\u003ejunitRunnerClass\u003c/code\u003e that is annotated with\n\t * {@link JUnit} runner by invoke JUnit runner.\n\t *\n\t * @param junitRunnerClass a class that is annotated with {@link JUnit} runner.\n\t *\n\t * \u003cp\u003e\n\t * Example of \u003ccode\u003ejunitRunnerClass\u003c/code\u003e:\n\t * \u003cul\u003e\n\t * \u003cli\u003e\n\t * \u003cpre\u003e\n\t * import org.junit.runner.RunWith\n\t * import org.junit.runners.JUnit4\n\t * \u0026#64;RunWith(JUnit4.class)\n\t * public class MyJunitRunner {}\n\t *\n\t * \u003c/pre\u003e\n\t * \u003c/li\u003e\n\t * \u003c/ul\u003e\n\t * \u003c/p\u003e\n\t * @return\n\t */" + } + ] + }, + { + "name": "com.kazurayam.junit4ks.JUnitCustomKeywords$JUnitRunnerResult", + "keywordMethods": [] + }, + { + "name": "com.kazurayam.junit4ks.JUnitCustomKeywords$JUnitRunnerResultImpl", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__LegacyXmlReportGeneratingListener b/.cache/Keywords/com__kazurayam__junit4ks__LegacyXmlReportGeneratingListener new file mode 100644 index 0000000..664ae98 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__LegacyXmlReportGeneratingListener @@ -0,0 +1,10 @@ +{ + "keywordFileContentHash": "C83341A816F8C3BCAED4F4124C7AB60B", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.LegacyXmlReportGeneratingListener", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/com__kazurayam__junit4ks__RunListener4ks b/.cache/Keywords/com__kazurayam__junit4ks__RunListener4ks new file mode 100644 index 0000000..28968f8 --- /dev/null +++ b/.cache/Keywords/com__kazurayam__junit4ks__RunListener4ks @@ -0,0 +1,10 @@ +{ + "keywordFileContentHash": "7983042DB116B68F2CB8D5486DFC2048", + "keywordClasses": [ + { + "name": "com.kazurayam.junit4ks.RunListener4ks", + "keywordMethods": [] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/junittutorial__Calculator b/.cache/Keywords/junittutorial__Calculator new file mode 100644 index 0000000..8f2fe88 --- /dev/null +++ b/.cache/Keywords/junittutorial__Calculator @@ -0,0 +1,171 @@ +{ + "keywordFileContentHash": "E3D12F3D5476F2CFDE08956ADB45265A", + "keywordClasses": [ + { + "name": "junittutorial.Calculator", + "keywordMethods": [ + { + "name": "add", + "parameters": [ + { + "name": "a", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "b", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "subtract", + "parameters": [ + { + "name": "a", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "b", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "multiply", + "parameters": [ + { + "name": "x", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "y", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "divide", + "parameters": [ + { + "name": "x", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "y", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "power", + "parameters": [ + { + "name": "a", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "b", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + } + ] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/junittutorial__Greeter b/.cache/Keywords/junittutorial__Greeter new file mode 100644 index 0000000..b1b0ec7 --- /dev/null +++ b/.cache/Keywords/junittutorial__Greeter @@ -0,0 +1,30 @@ +{ + "keywordFileContentHash": "70B39BB6A5DEBD1B6559DEA99C72D382", + "keywordClasses": [ + { + "name": "junittutorial.Greeter", + "keywordMethods": [ + { + "name": "greet", + "parameters": [ + { + "name": "name", + "initialExpression": "", + "type": { + "fullClassName": "java.lang.String", + "unresolvedClassName": "String", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + } + ] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/my__tutorial__Calculator b/.cache/Keywords/my__tutorial__Calculator new file mode 100644 index 0000000..843e8f1 --- /dev/null +++ b/.cache/Keywords/my__tutorial__Calculator @@ -0,0 +1,171 @@ +{ + "keywordFileContentHash": "6A5509DA5DFE6A660A047C8D74A252AF", + "keywordClasses": [ + { + "name": "my.tutorial.Calculator", + "keywordMethods": [ + { + "name": "add", + "parameters": [ + { + "name": "a", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "b", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "subtract", + "parameters": [ + { + "name": "a", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "b", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "multiply", + "parameters": [ + { + "name": "x", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "y", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "divide", + "parameters": [ + { + "name": "x", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "y", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + }, + { + "name": "power", + "parameters": [ + { + "name": "a", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + }, + { + "name": "b", + "initialExpression": "", + "type": { + "fullClassName": "int", + "unresolvedClassName": "int", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": true, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + } + ] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/.cache/Keywords/my__tutorial__Greeter b/.cache/Keywords/my__tutorial__Greeter new file mode 100644 index 0000000..4d1a788 --- /dev/null +++ b/.cache/Keywords/my__tutorial__Greeter @@ -0,0 +1,30 @@ +{ + "keywordFileContentHash": "22FD7BF0DC36A85E177EFEC109BD251A", + "keywordClasses": [ + { + "name": "my.tutorial.Greeter", + "keywordMethods": [ + { + "name": "greet", + "parameters": [ + { + "name": "name", + "initialExpression": "", + "type": { + "fullClassName": "java.lang.String", + "unresolvedClassName": "String", + "isArray": false, + "isGnericsPlaceHolder": false, + "hasImmutableClassName": false, + "genericsTypes": [], + "errorOnParsing": false + } + } + ], + "javadoc": "" + } + ] + } + ], + "javadocParsed": true +} \ No newline at end of file diff --git a/Drivers/ashot-1.5.4.jar b/Drivers/ashot-1.5.4.jar deleted file mode 100644 index 7eb258f69bcbb7c2626eb6747354ebc5bd8a26b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54351 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 z 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 - - - ScreenshotDriverMiniTestRunner - - - 4ae0ecb7-8063-4c7e-917a-4a8dfe98a5c2 - diff --git a/Test Suites/test/All.ts b/Test Suites/test/All.ts index 1ff608d..7e51b76 100644 --- a/Test Suites/test/All.ts +++ b/Test Suites/test/All.ts @@ -9,47 +9,48 @@ 30 true false + false dac816c8-2db1-4dc6-842e-b402cca0bc73 0736147d-16f1-4116-8bf8-83933c0c5874 false true Test Cases/test/junittutorial/CalculatorTestRunner + true d355e10d-e7b6-4f5b-8b0a-5ffef4a78aad false true Test Cases/test/junittutorial/StarImportProblemDemo + true 98d13583-d2f1-4d9c-8b74-fdcc98994962 false true Test Cases/test/junittutorial/GreeterTestRunner + true 6bb26afc-075b-40fc-a91c-2670d2a1f17f false true Test Cases/test/junittutorial/CalculatorTestWithIgnoreRestRunner + true 0529caf6-d317-4deb-9eae-45f524b29202 false true Test Cases/test/junittutorial/ASuiteRunner + true 6137d5f8-c1b7-4b1e-bba2-423e81bcde68 false true Test Cases/test/com.kazurayam.junit4ks/JUnitCustomKeywordsTestRuuner - - - 7868d152-6b91-4669-9efa-6c75c673f198 - false - true - Test Cases/test/com.kazurayam.ksbackyard/ScreenshotDriverMiniTestRunner + true diff --git a/build.gradle b/build.gradle index 21376b5..1b46c65 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,15 @@ plugins { - id 'java' + //id 'java' id 'groovy' - id 'com.github.johnrengelman.shadow' version '4.0.4' - id "com.katalon.gradle-plugin" version "0.0.6" + //id 'com.github.johnrengelman.shadow' version '4.0.4' + //id "com.katalon.gradle-plugin" version "0.0.6" } +group = "com.kazurayam" +version = "1.6.2" + ext { - groovyVersion = '2.4.7' + groovyVersion = '3.0.17' } configurations { @@ -14,31 +17,38 @@ configurations { } repositories { - jcenter() mavenCentral() + mavenLocal() } + dependencies { + implementation fileTree(dir: "Drivers", include:['*.jar']) + implementation "org.codehaus.groovy:groovy-all:${groovyVersion}" + implementation fileTree(dir: "/Applications/Katalon Studio.app/Contents/Eclipse/plugins", include: ['*.jar']) + implementation fileTree(dir: "/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/lib", include: ['*.jar']) + generateDocs "org.codehaus.groovy:groovy-all:${groovyVersion}" } + sourceSets { main { groovy { - srcDirs = ['Keywords', 'Include/scripts/groovy'] - srcDir 'Libs' + srcDirs = ['Keywords', 'Lib'] } } -} - -katalon { - dependencyPrefix = "com.kazurayam" - minimize = false + test { + groovy { + srcDirs = ['Include/scripts/groovy'] + } + } } task groovydoc(type: Groovydoc, overwrite:true) { + group = 'com.kazurayam' source = sourceSets.main.groovy - classpath = configurations.compile - groovyClasspath = project.configurations.generateDocs - include 'com/kazurayam/junit4ks/*' + classpath = configurations.generateDocs + groovyClasspath = configurations.generateDocs + include 'com/kazurayam/ks/*' exclude '**/*Test.groovy' } task publishGroovydoc(type: Copy) { diff --git a/junit4ks.prj b/junit4ks.prj index f95bc49..33aeb06 100644 --- a/junit4ks.prj +++ b/junit4ks.prj @@ -8,6 +8,7 @@ This enables you to perform test-driven development for your custom keywords. 7f8264c1-803e-409c-88b6-b24a6eb524cc 5.9.0 0 + /Users/kazuakiurayama/katalon-workspace/junit4ks/junit4ks.prj @@ -26,5 +27,6 @@ This enables you to perform test-driven development for your custom keywords. + true GENERIC diff --git a/settings/internal/com.kms.katalon.core.webservice.properties b/settings/internal/com.kms.katalon.core.webservice.properties index bf1ed63..adf0517 100644 --- a/settings/internal/com.kms.katalon.core.webservice.properties +++ b/settings/internal/com.kms.katalon.core.webservice.properties @@ -1,2 +1,2 @@ -#Wed Feb 20 05:31:44 JST 2019 +#Wed Feb 21 09:33:49 JST 2024 webServiceMethods="[\\n {\\n \\"name\\"\: \\"GET\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"POST\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"PUT\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"DELETE\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"PATCH\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"HEAD\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"CONNECT\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"OPTIONS\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n },\\n {\\n \\"name\\"\: \\"TRACE\\",\\n \\"type\\"\: \\"Standard\\",\\n \\"description\\"\: \\"\\"\\n }\\n]" diff --git a/settings/internal/com.kms.katalon.execution.properties b/settings/internal/com.kms.katalon.execution.properties index e69de29..397bb7e 100644 --- a/settings/internal/com.kms.katalon.execution.properties +++ b/settings/internal/com.kms.katalon.execution.properties @@ -0,0 +1,2 @@ +#Wed Feb 21 09:33:49 JST 2024 +execution.default.smartWaitMode=true diff --git a/settings/internal/com.kms.katalon.execution.webui.properties b/settings/internal/com.kms.katalon.execution.webui.properties index e69de29..9224aed 100644 --- a/settings/internal/com.kms.katalon.execution.webui.properties +++ b/settings/internal/com.kms.katalon.execution.webui.properties @@ -0,0 +1,11 @@ +#Wed Feb 21 09:33:49 JST 2024 +execution.default.webUi.timeCapsuleEnabled=false +execution.default.webUi.enablePageLoadTimeout=false +execution.default.webUi.pageLoadTimeout=30 +execution.default.webUi.ignorePageLoadTimeOutException=false +execution.default.useDelayActionInSecond="SECONDS" +execution.default.webUi.actionDelay=0 +execution.default.waitForIEHanging=600 +execution.default.selectingCapturedObjectSelectorMethod="XPATH" +execution.default.selectingCapturedObjectXpaths="xpath\:attributes,true;xpath\:idRelative,true;dom\:name,true;xpath\:link,true;xpath\:neighbor,true;xpath\:href,true;xpath\:img,true;xpath\:position,true;xpath\:customAttributes,true" +execution.default.selectingCapturedObjectProperties="id,true;name,true;alt,true;checked,true;form,true;href,true;placeholder,true;selected,true;src,true;title,true;type,true;text,true;linked_text,true" diff --git a/settings/internal/com.kms.katalon.integration.analytics.properties b/settings/internal/com.kms.katalon.integration.analytics.properties index e69de29..a593d53 100644 --- a/settings/internal/com.kms.katalon.integration.analytics.properties +++ b/settings/internal/com.kms.katalon.integration.analytics.properties @@ -0,0 +1,5 @@ +#Wed Feb 21 09:33:49 JST 2024 +analytics.onpremise.enable=false +analytics.integration.enable=false +analytics.testcloud.integration.enable=true +analytics.testreport.autoupload.enable=true