{"id":26844305,"url":"https://github.com/automatedowl/chromedriver-js-errors-collector","last_synced_at":"2025-04-30T19:34:47.545Z","repository":{"id":123505180,"uuid":"134265782","full_name":"AutomatedOwl/chromedriver-js-errors-collector","owner":"AutomatedOwl","description":"Java library which allows to easily collect JavaScript errors received in Chromedriver session, using annotations on test methods.","archived":false,"fork":false,"pushed_at":"2023-05-09T18:06:37.000Z","size":3734,"stargazers_count":8,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T19:19:20.203Z","etag":null,"topics":["error-handling","java","java-annotations","javascript","junit5","selenium","testng"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"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/AutomatedOwl.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-21T12:24:33.000Z","updated_at":"2024-08-05T16:57:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"ca3a87f2-2f66-4bbf-a080-5867e75fd09c","html_url":"https://github.com/AutomatedOwl/chromedriver-js-errors-collector","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutomatedOwl%2Fchromedriver-js-errors-collector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutomatedOwl%2Fchromedriver-js-errors-collector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutomatedOwl%2Fchromedriver-js-errors-collector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutomatedOwl%2Fchromedriver-js-errors-collector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AutomatedOwl","download_url":"https://codeload.github.com/AutomatedOwl/chromedriver-js-errors-collector/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251769839,"owners_count":21640985,"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":["error-handling","java","java-annotations","javascript","junit5","selenium","testng"],"created_at":"2025-03-30T19:19:32.414Z","updated_at":"2025-04-30T19:34:47.489Z","avatar_url":"https://github.com/AutomatedOwl.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chromedriver-js-errors-collector\n\nJava library which allows to easily collect JavaScript errors received in Chromedriver session, using annotations on test methods. Currently, the library supports JUnit5 and TestNG testing framework.\n\n\n\n### Example of JUnit5 usage:\n\n```\n    @Test\n    @JSErrorsCollectorJUnit\n    void referenceErrorTest(TestInfo testInfo) throws InterruptedException {\n\n        // Create a new instance of ChromeDriver.\n        driver = new ChromeDriver();\n\n        // Set your test name to point its ChromeDriver session in HashMap.\n        JSErrorsDriverHolder.setDriverForTest(testInfo.getDisplayName(), driver);\n\n        // Navigate to URL.\n        site88Page.navigateToPage(driver);\n\n        // The click on the button in the test site should cause JS reference error.\n        site88Page.getTestButton().click();\n        waitBeforeClosingBrowser();\n    }\n    \n    @AfterEach\n    void closeDriver() {\n        driver.quit();\n    }\n```\n\n### Example of TestNG usage:\n\n```\n@Listeners(JSErrorsCollectorListener.class)\npublic class JSCollectorTestNGTest {\n\n    private WebDriver driver;\n\n    @BeforeMethod\n    void setDriverForListener(Method method) {\n\n        // Create a new instance of ChromeDriver.\n        driver = new ChromeDriver();\n\n        // Set your test name to point its ChromeDriver session in HashMap.\n        JSErrorsDriverHolder.setDriverForTest(method.getName(), driver);\n    }\n\n    /** Test method.\n     * It should receive JS reference error and expect related exception. */\n    @Test\n    @JSErrorsCollectorTestNG\n    void referenceErrorTest() throws InterruptedException {\n\n        // Navigate to URL.\n        site88Page.navigateToPage(driver);\n\n        // The click on the button in the test site should cause JS reference error.\n        site88Page.getTestButton().click();\n        waitBeforeClosingBrowser();\n    }\n    \n    @AfterMethod\n    void closeDriver() {\n        driver.quit();\n    }\n```\n\n### Closing your browser session\n\nIn order for the errors comparison to work properly, you should use 'AfterMethod' in TestNG and 'AfterEach' in JUnit in order to call driver.quit(). This would allow the listeners to interact with your WebDriver object after test execution. \n\n### Annotation values\n\nBy default, using the annotation will cause your test to fail on JS errors received during Chromedriver session,\nand it would also use java.util.logging.Logger object to log JS errors after test execution.\n\nTo disable asserting JS errors after test execution, use:\n\n```\n@JSErrorsCollectorTestNG(assertJSErrors = false)\n```\n\nTo disable logging JS errors after test execution, use:\n\n```\n@JSErrorsCollectorTestNG(logJSErrors = false)\n```\n\nTo disable both, use:\n\n```\n@JSErrorsCollectorTestNG(logJSErrors = false, assertJSErrors = false)\n```\n\n### Maven dependencies\n\nJUnit5:\n```\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.automatedowl\u003c/groupId\u003e\n        \u003cartifactId\u003echromedriver-js-errors-collector-junit\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.4\u003c/version\u003e\n    \u003c/dependency\u003e\n```\n\nTestNG:\n```\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.automatedowl\u003c/groupId\u003e\n        \u003cartifactId\u003echromedriver-js-errors-collector-testng\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.4\u003c/version\u003e\n    \u003c/dependency\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomatedowl%2Fchromedriver-js-errors-collector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautomatedowl%2Fchromedriver-js-errors-collector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomatedowl%2Fchromedriver-js-errors-collector/lists"}