{"id":15199814,"url":"https://github.com/axonivy/web-tester","last_synced_at":"2026-02-27T14:15:13.354Z","repository":{"id":43063557,"uuid":"56768149","full_name":"axonivy/web-tester","owner":"axonivy","description":"Easy Web-Integration tests for your process automation projects (PrimeFaces widgets + Selenium)","archived":false,"fork":false,"pushed_at":"2024-04-17T07:15:02.000Z","size":530,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-17T16:20:52.089Z","etag":null,"topics":["axonivy","java","junit","primefaces","selenide","selenium","test-automation","testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/axonivy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-04-21T11:27:30.000Z","updated_at":"2024-06-10T13:20:24.606Z","dependencies_parsed_at":"2023-10-20T09:26:47.798Z","dependency_job_id":"700ddc1f-6e61-42bb-89d5-cc91b76ade80","html_url":"https://github.com/axonivy/web-tester","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonivy%2Fweb-tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonivy%2Fweb-tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonivy%2Fweb-tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonivy%2Fweb-tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axonivy","download_url":"https://codeload.github.com/axonivy/web-tester/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859520,"owners_count":16556036,"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":["axonivy","java","junit","primefaces","selenide","selenium","test-automation","testing"],"created_at":"2024-09-28T02:02:38.363Z","updated_at":"2026-02-27T14:15:13.346Z","avatar_url":"https://github.com/axonivy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# web-tester\n\n\n\n[![web-tester version][web-lts] ![web-le][web-le]][web-central] \u003cbr/\u003e\n[![primeui-tester version][prime-lts] ![prime-le][prime-le]][prime-central] \u003cbr/\u003e\n[![test-bom version][bom-lts] ![bom-le][bom-le]][bom-central] \u003cbr/\u003e\n\nThe `web-tester` artifact provides you a API which helps you test your JSF-Page.\nWith this API it is easy to setup your test environment and send requests\nagainst your [Axon Ivy Engine](https://developer.axonivy.com/download).\n\nCheckout our official\n[documentation](https://developer.axonivy.com/doc/9.2/concepts/testing/web-testing.html).\nfor more information.\n\n## primeui-tester\n\nIf your JSF-Page contains [PrimeFaces](https://www.primefaces.org/showcase/)\nwidgets, the `primeui-tester` gives you the possibility to interact with those\nwidgets and check if it's in the condition you expected it to be.\n\n## test-bom\n\nThe `test-bom` artifact defines third-party dependencies that are used for testing.\n\n* [JUnit 5](https://junit.org/junit5/) \n* [AssertJ](https://assertj.github.io/doc/)\n* [Selenide](https://selenide.org/documentation.html)\n\n# How to use in your project\n\nThe web-tester runs with [Selenide](https://selenide.org/),\n[Selenium](https://selenium.dev/projects/) and [JUnit\n5](https://junit.org/junit5/). Simply add this library to your dependencies in\nthe pom.xml:\n\n```xml\n\u003cdependencies\u003e\n...\n  \u003cdependency\u003e\n    \u003cgroupId\u003ecom.axonivy.ivy.webtest\u003c/groupId\u003e\n    \u003cartifactId\u003eweb-tester\u003c/artifactId\u003e\n    \u003cversion\u003e12.0.1\u003c/version\u003e\n    \u003cscope\u003etest\u003c/scope\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\nAdd a new test class to test your process (e.g.\n[WebTestRegistrationForm.java](https://github.com/axonivy/project-build-examples/blob/master/compile-test/crmIntegrationTests/src_test/ch/ivyteam/integrationtest/WebTestRegistrationFormIT.java))\nor a PrimeFaces widget (e.g.\n[TestPrimeUi.java](primeui-tester/src/test/java/com/axonivy/ivy/webtest/primeui/TestPrimeUi.java)):\n\n```java\n@IvyWebTest\nclass WebTest {\n\n  @Test\n  void registerNewCustomer() {\n    open(EngineUrl.createProcessUrl(\"myWorkflow/154616078A1D629D/start.ivp\"));\n    $(By.id(\"form:firstname\")).sendKeys(\"Unit\");\n    $(By.id(\"form:lastname\")).sendKeys(\"Test\");\n    $(By.id(\"form:submit\")).shouldBe(enabled).click();\n    $(By.id(\"form:newCustomer\")).shouldBe(visible, text(\"Unit Test\"));\n  }\n\n  @Test\n  void selectOneMenu() {\n    open(\"https://primefaces.org/showcase/ui/input/oneMenu.xhtml\");\n    var selectOne = PrimeUi.selectOne(selectMenuForLabel(\"Basic:\"));\n    assertThat(selectOne.getSelectedItem()).isEqualTo(\"Select One\");\n    var ps4 = \"PS4\";\n    selectOne.selectItemByLabel(ps4);\n    assertThat(selectOne.getSelectedItem()).isEqualTo(ps4);\n  }\n}\n```\n\n## Changelog\n\n* See the [Releases](https://github.com/axonivy/web-tester/releases)\n\n## Release new version\n\n### Preparation\n\n* Check/Update the changelog file above\n\n### Release\n\nSince 9.4: Releasing is only possible on a release branch.\n\n* Verify:\n  - the consuming repos use the latest SNAPSHOT. To be sure run the raise build using, providing your current SNAPSHOT [build][raise-job].\n  - renovate dependencies are accurate; especially jersey-client must be sync with the current core!\n* Create a release branch if it does not exist yet (e.g. release/13.2)\n* Run the [release build](build/release/Jenkinsfile) on the release branch\n* Confirm the publishing of the created release on the [Central Portal](https://central.sonatype.com/publishing/deployments)\n* Merge the Pull Request for next development iteration\n* If you have created a new release branch, then manually raise the version on the master branch to the next major or minor version by executing the following command in the root of this project (adjust version number accordingly):\n\n```bash\n.ivy/raise-version.sh 13.2.0-SNAPSHOT\n```\n\n### Post-Release\n\nWait until the maven central release is available: this may take several hours until it's fully distributed.\n\n- Raise web-tester in other repos by triggering this [build][raise-job]\n- Publish the latest [draft release](https://github.com/axonivy/web-tester/releases) do preserve the current changelog.\n  - Select the tag which was created for this release by the release-pipeline\n  - Verify that the title is correct\n  - Set the release as 'latest release'\n  - Publish it\n\n## Authors\n\n[ivyTeam](https://developer.axonivy.com/)\n\n[![Axon Ivy](https://www.axonivy.com/hubfs/brand/axonivy-logo-black.svg)](http://www.axonivy.com)\n\n## License\n\nThe Apache License, Version 2.0\n\n[web-lts]: https://img.shields.io/maven-metadata/v.svg?versionPrefix=12\u0026label=web-tester\u0026logo=apachemaven\u0026metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fcom%2Faxonivy%2Fivy%2Fwebtest%2Fweb-tester%2Fmaven-metadata.xml\n[web-le]: https://img.shields.io/maven-metadata/v.svg?label=LE\u0026color=yellow\u0026logo=apachemaven\u0026metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fcom%2Faxonivy%2Fivy%2Fwebtest%2Fweb-tester%2Fmaven-metadata.xml\n[web-central]: https://repo1.maven.org/maven2/com/axonivy/ivy/webtest/web-tester/\n[prime-lts]: https://img.shields.io/maven-metadata/v.svg?versionPrefix=12\u0026label=primeui-tester\u0026logo=apachemaven\u0026metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fcom%2Faxonivy%2Fivy%2Fwebtest%2Fprimeui-tester%2Fmaven-metadata.xml\n[prime-le]: https://img.shields.io/maven-metadata/v.svg?label=LE\u0026color=yellow\u0026logo=apachemaven\u0026metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fcom%2Faxonivy%2Fivy%2Fwebtest%2Fprimeui-tester%2Fmaven-metadata.xml\n[prime-central]: https://repo1.maven.org/maven2/com/axonivy/ivy/webtest/primeui-tester/\n[bom-lts]: https://img.shields.io/maven-metadata/v.svg?versionPrefix=12\u0026label=test-bom\u0026logo=apachemaven\u0026metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fcom%2Faxonivy%2Fivy%2Ftest%2Ftest-bom%2Fmaven-metadata.xml\n[bom-le]: https://img.shields.io/maven-metadata/v.svg?label=LE\u0026color=yellow\u0026logo=apachemaven\u0026metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fcom%2Faxonivy%2Fivy%2Ftest%2Ftest-bom%2Fmaven-metadata.xml\n[bom-central]: https://repo1.maven.org/maven2/com/axonivy/ivy/test/test-bom/\n\n[raise-job]: https://jenkins.ivyteam.io/view/jobs/job/github-repo-manager_raise-web-tester-version/job/master/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxonivy%2Fweb-tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxonivy%2Fweb-tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxonivy%2Fweb-tester/lists"}