{"id":25776679,"url":"https://github.com/vmi/selenese-runner-java","last_synced_at":"2025-02-27T06:06:50.165Z","repository":{"id":3970981,"uuid":"5065618","full_name":"vmi/selenese-runner-java","owner":"vmi","description":"Selenium IDE native format (selenese and side) interpreter.","archived":false,"fork":false,"pushed_at":"2023-12-03T15:29:44.000Z","size":3601,"stargazers_count":140,"open_issues_count":59,"forks_count":83,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-11-15T03:59:45.702Z","etag":null,"topics":["selenium","selenium-ide","webdriver"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2012-07-16T09:53:49.000Z","updated_at":"2024-06-17T06:22:42.000Z","dependencies_parsed_at":"2023-02-10T13:16:16.296Z","dependency_job_id":"f8b888d4-2b82-4e82-abb9-c930034b57e2","html_url":"https://github.com/vmi/selenese-runner-java","commit_stats":{"total_commits":1665,"total_committers":33,"mean_commits":50.45454545454545,"dds":"0.18498498498498495","last_synced_commit":"b9a7f7da02ae7d9d81b066d05ea5cc1b29a53c45"},"previous_names":[],"tags_count":103,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmi%2Fselenese-runner-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmi%2Fselenese-runner-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmi%2Fselenese-runner-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmi%2Fselenese-runner-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmi","download_url":"https://codeload.github.com/vmi/selenese-runner-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240987435,"owners_count":19889334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["selenium","selenium-ide","webdriver"],"created_at":"2025-02-27T06:01:28.887Z","updated_at":"2025-02-27T06:06:50.148Z","avatar_url":"https://github.com/vmi.png","language":"Java","readme":"Selenese Runner Java\n====================\n\nThis is selenese script interpreter implemented by Java.\n\nIt supports test-case and test-suite which are Selenium IDE's native format (selenese and side).\n\nNote: Supported Java version is 8 or later.\n\n[![Build Status](https://travis-ci.org/vmi/selenese-runner-java.svg?branch=master)](https://travis-ci.org/vmi/selenese-runner-java)\n\nDownload\n--------\n\nYou can download the executable jar from:\n\nhttps://github.com/vmi/selenese-runner-java/releases\n\nRelease Note\n------------\n\n### 4.3.0\n\n* Catch up Selenium 4.8.1 and update dependency versions.\n    * Fix several problems associated with the update.\n* Remove dependency on `xalan` for security reason. (#337)\n* Run multiple test files in parallel. (PR #340)\n    * Add new option `--parallel` to parallel execution.\n\nPlease check [RELEASENOTE.md](RELEASENOTE.md).\n\nFeatures\n--------\n\n* Run test-case and test-suite generated by Selenium IDE from command line.\n* Supported format:\n    * selsenese (old format)\n    * side (new format. see https://github.com/SeleniumHQ/selenium-ide )\n* Support commands of Selenium IDE: Flow Control.\n  https://github.com/davehunt/selenium-ide-flowcontrol\n* Log URL/title/Cookies at all commands.\n* Take screenshots at all commands. (optional)\n* Override base URL.\n* Override directory of screenshot path.\n* Generate JUnit XML result.\n* Generate HTML result.\n\nUsage\n-----\n\n    java -jar selenese-runner.jar \u003coption\u003e ... \u003ctest-case|test-suite\u003e ...\n    \n     --config (-c) \u003cfile\u003e                    : load option information from file.\n     --driver (-d) \u003cdriver\u003e                  : firefox (default) | chrome | ie | edge | safari | htmlunit | remote | appium | FQCN-of-WebDriverFactory\n     --headless                              : use headless mode if driver is supported (currently, Chrome and Firefox)\n     --parallel \u003cthreads\u003e                    : run multiple test files in parallel (if set \u003cthreads\u003e to \"max\", all files are executed in parallel at once)\n     --profile (-p) \u003cname\u003e                   : profile name (Firefox only *1)\n     --profile-dir (-P) \u003cdir\u003e                : profile directory (Firefox only *1)\n     --chrome-experimental-options \u003cfile\u003e    : path to json file specify experimental options for chrome (Chrome only *1)\n     --chrome-extension \u003cfile\u003e               : chrome extension file (multiple, Chrome only *1)\n     --proxy-type \u003cproxy-type\u003e               : proxy type (manual (default if set --proxy) | pac | autodetect | system)\n     --proxy \u003cproxy\u003e                         : [manual] proxy host and port (HOST:PORT) (excepting IE) / [pac] PAC URL\n     --proxy-user \u003cuser\u003e                     : proxy username (HtmlUnit only *2)\n     --proxy-password \u003cpassword\u003e             : proxy password (HtmlUnit only *2)\n     --no-proxy \u003chosts\u003e                      : no-proxy hosts\n     --cli-args \u003carg\u003e                        : add command line arguments at starting up driver (multiple)\n     --remote-url \u003curl\u003e                      : Remote test runner URL (Remote only)\n     --remote-platform \u003cplatform\u003e            : Desired remote platform (Remote only)\n     --remote-browser \u003cbrowser\u003e              : Desired remote browser (Remote only)\n     --remote-version \u003cbrowser-version\u003e      : Desired remote browser version (Remote only)\n     --highlight (-H)                        : highlight locator always.\n     --interactive (-i)                      : interactive mode.\n     --screenshot-dir (-s) \u003cdir\u003e             : override captureEntirePageScreenshot directory.\n     --screenshot-all (-S) \u003cdir\u003e             : take screenshot at all commands to specified directory.\n     --screenshot-on-fail \u003cdir\u003e              : take screenshot on fail commands to specified directory.\n     --screenshot-scroll-timeout \u003ctimeout\u003e   : set scroll timeout (ms) for taking screenshot. (default: 100)\n     --ignore-screenshot-command             : ignore captureEntirePageScreenshot command.\n     --baseurl (-b) \u003cbaseURL\u003e                : override base URL set in selenese.\n     --firefox \u003cpath\u003e                        : path to 'firefox' binary. (implies '--driver firefox')\n     --geckodriver \u003cpath\u003e                    : path to 'geckodriver' binary. (implies '--driver firefox')\n     --chromedriver \u003cpath\u003e                   : path to 'chromedriver' binary. (implies '--driver chrome')\n     --iedriver \u003cpath\u003e                       : path to 'IEDriverServer' binary. (implies '--driver ie')\n     --edgedriver \u003cpath\u003e                     : path to Edge 'WebDriver' binary. (implies '--driver edge')\n     --xml-result \u003cdir\u003e                      : output XML JUnit results to specified directory.\n     --html-result \u003cdir\u003e                     : output HTML results to specified directory.\n     --timeout (-t) \u003ctimeout\u003e                : set timeout (ms) for waiting. (default: 30000 ms)\n     --max-retries \u003cmaxRetries\u003e              : set maximum number of retries for a given step. (default: 0)\n     --set-speed \u003cspeed\u003e                     : same as executing setSpeed(ms) command first.\n     --height \u003cheight\u003e                       : set initial height. (excluding mobile)\n     --width \u003cwidth\u003e                         : set initial width. (excluding mobile)\n     --alerts-policy VAL                     : The default behaviour for unexpected alerts (accept/dismiss/accept_and_notify/dismiss_and_notify/ignore)\n     --define (-D) \u003ckey\u003e[:\u003ctype\u003e][+]=\u003cvalue\u003e : define parameters for capabilities. \u003ctype\u003e is a value type: str (default), int or bool (multiple)\n     --var (-V) \u003cvar-name\u003e=\u003cjson-value\u003e      : set JSON value to variable with a specified name. (multiple)\n     --rollup \u003cfile\u003e                         : define rollup rule by JavaScript. (multiple)\n     --cookie-filter \u003c+RE|-RE\u003e               : filter cookies to log by RE matching the name. (\"+\" is passing, \"-\" is suppressing)\n     --log-filter \u003c+type|-type\u003e              : filter the logging information by the specified type. (multiple. \"+\" is passing, \"-\" is suppressing. type: cookie, title, url, pageinfo(= cookie \u0026 title \u0026 url))\n     --command-factory \u003cFQCN\u003e                : register user defined command factory. (See Note *3)\n     --no-exit                               : don't call System.exit at end.\n     --strict-exit-code                      : return strict exit code, reflected by selenese command results at end. (See Note *4)\n     --max-time \u003cmax-time\u003e                   : Maximum time in seconds that you allow the entire operation to take.\n     --no-replace-alert-method               : disable replacement of alert methods\n     --help (-h)                             : show this message.\n    \n    [Note]\n    *1 It is available if using \"--driver remote --remote-browser firefox\".\n    \n    *2 If you want to use basic and/or proxy authentication on Firefox, then create new profile, install AutoAuth plugin, configure all settings, access test site with the profile, and specify the profile by --profile option.\n    \n    *3 Use \"java -cp ...:selenese-runner.jar Main --command-factory ...\".\n       Because \"java\" command ignores all class path settings, when using \"-jar\" option.\n    \n    *4 The list of exit code (strict/normal) is follows:\n       - 0/0: SUCCESS\n       - 2/0: WARNING\n       - 3/3: FAILURE\n       - 4/3: ERROR\n       - 5/0: UNEXECUTED\n       - 6/3: MAX_TIME_EXCEEDED\n       - 70/70: FATAL\n       - 64/64: USAGE\n\nRequirements\n------------\n\n* Java 8 or later.\n* Apache Maven 2.x or later to build.\n\nBuilding the Application\n------------------------\n\n* Install Apache Maven.\n* clone this repository\n* run build script\n\t`mvn -P package`\n\nThat will create the *selenese-runner.jar* file within the 'target' directory.\n\nOptions\n-------\n\n### Configuration file (1.8.0 or later)\n\nYou can read option information from the following configuration file by using \"--config\" option.\n\nYou can overwrite the information by additional command line options.\n\n    # configuration file format.\n    \n    driver: DRIVER_NAME\n    profile: PROFILE_NAME\n    profile-dir: /PATH/TO/PROFILE/DIRECTORY\n    proxy: PROXY_HOST\n    proxy-user: PROXY_USER\n    proxy-password: PROXY_PASSWORD\n    no-proxy: NO_PROXY_HOSTS\n    cli-args: DRIVER_CLI_ARG1\n      DRIVER_CLI_ARG2\n      DRIVER_CLI_ARG3\n    remote-url: http://remote.example.com:4444/wd/hub\n    remote-platform: REMOTE_PLATFORM\n    remote-browser: REMOTE_BROWSER\n    remote-version: REMOTE_VERSION\n    # \"highlight\" parameter is \"true\" or \"false\".\n    highlight: true\n    screenshot-dir: /PATH/TO/SCREENSHOT/DIRECTORY\n    screenshot-all: /PATH/TO/SCREENSHOT/DIRECTORY/ALL\n    screenshot-on-fail: /PATH/TO/SCREENSHOT/DIRECTORY/ON/FAIL\n    # \"ignore-screenshot-command\" parameter is \"true\" or \"false\".\n    ignore-screenshot-command: true\n    baseurl: http://baseurl.example.com/\n    firefox: /PATH/TO/FIREFOX/BINARY\n    chromedriver: /PATH/TO/CHROMEDRIVER/BINARY\n    iedriver: /PATH/TO/IEDRIVER/BINARY\n    phantomjs: /PATH/TO/PHANTOMJS/BINARY\n    xml-result: /PATH/TO/XML/RESULT/DIRECTORY\n    html-result: /PATH/TO/HTML/RESULT/DIRECTORY\n    # The unit of \"timeout\" parameter is millisecounds.\n    timeout: 30000\n    # The unit of \"set-speed\" parameter is millisecounds.\n    set-speed: 100\n    # The unit of \"height\" parameter is pixcels.\n    height: 1024\n    # The unit of \"width\" parameter is pixcels.\n    width: 768\n    define: CAPABILITY_KEY1=CAPABILITY_VALUE1\n       CAPABILITY_KEY2=CAPABILITY_VALUE2\n       CAPABILITY_KEY3+=CAPABILITY_VALUE31\n       CAPABILITY_KEY3+=CAPABILITY_VALUE32\n       CAPABILITY_KEY3+=CAPABILITY_VALUE33\n    rollup: /PATH/TO/ROLLUP/FILE\n    cookie-filter: COOKIE_FILTER_REGEXP\n    command-factory: full.qualify.class.Name\n\n### Firefox, Chrome and PhantomJS driver\n\nIf you want to add command line options to above driver's binary, add following options:\n\n    java -jar selenese-runner.jar --driver DRIVER_NAME \\\n      --cli-args ARG1 \\\n      --cli-args ARG2 \\\n      ...\n\nExample:\n\n* Firefox\n\n        java -jar selenese-runner.jar --driver firefox \\\n          --cli-args -jsconsole \\\n          ...\n\n* Chrome\n\n        java -jar selenese-runner.jar --driver chrome \\\n          --cli-args --incognito \\\n          --cli-args --ignore-certificate-errors \\\n          ...\n\n* PhantomJS\n\n        java -jar selenese-runner.jar --driver phantomjs \\\n          --cli-args --ssl-certificates-path=/PATH/TO/CERTS-DIR/ \\\n          ...\n\n### Rollup\n\n\"--rollup\" option and \"rollup\" command are used for a definition and execution of a user-defined command.\n\nRefer to the following for how to write \"rollup\" script:\n\n* Using the rollup feature of Selenium  \nhttp://sanjitmohanty.wordpress.com/2012/07/06/using-the-rollup-feature-of-selenium/\n* Selenium Tutorial : Testing Strategies\nhttps://thenewcircle.com/static/bookshelf/selenium_tutorial/testing_strategies.html\n\nHowever, this feature has the following limitations:\n\n* supported properties of rollup rule:\n** name\n** args\n** expandedCommands or getExpandedCommans\n* cannot access any browser object.\n\n### Cookie filter\n\nYou can filter cookies to log by the regular expression matching the name.\n\nExample:\n\n* logging the cookie whose name ends with \"ID\":\n\n        java -jar selenese-runner.jar --cookie-filter +'ID$' ...\n\n* don't logging the cookie whose name contains \"__utm\":\n\n        java -jar selenese-runner.jar --cookie-filter -__utm ...\n\n### User defined command factory\n\nYou can register user defined command factory:\n\n    java -cp YOUR_CLASS_PATH:selenese-runner.jar Main \\\n      --command-factory your.command.factory.ClassName ...\n\nNote:\n\n* Use the above command line instead of \"java -jar ...\".\nBecause \"java\" command ignores all class path settings, when using \"-jar\" option.\n\n* Top-level Main class is contained ONLY in stand-alone \"selenese-runner.jar\",\nand is not contained in \"selenese-runner-java-X.Y.Z.jar\" in maven repository.\nPlease use \"jp.vmi.selenium.selenese.Main\" instead of \"Main\"\nif you want to use this feature with the jar in maven repository.\n\nOriginal Commands\n-----------------\n\n### `include`\n\nUsage: `include` FILENAME\n\nThis command include and execute FILENAME test-case.\n\nYou can use variables in FILENAME.\n\nSee [the test-case example](src/test/resources/selenese/testcase_include.html).\n\nLicense\n-------\n\nThe Apache License, Version 2.0.\n\nsee \"LICENSE\" file.\n","funding_links":[],"categories":["测试"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmi%2Fselenese-runner-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmi%2Fselenese-runner-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmi%2Fselenese-runner-java/lists"}