A free, open-source Chrome extension for bulk-selecting and unselecting test cases in HackerRank Problem Setter → Test Cases.
Features include:
- Select all or clear all test-case checkboxes
- Select or unselect an inclusive range of test cases
- Toggle Additional states in bulk
- Apply a common score/strength value to selected cases
Built with Chrome Manifest V3 and vanilla JavaScript.
When setting a HackerRank problem, assigning test-case scores and configuring many test cases requires repetitive manual clicking. This extension was built to make that workflow faster and less error-prone while keeping HackerRank's native page and save behavior as the source of truth.
It is designed for authorized HackerRank problem setters and provides a small toolbar on the Test Cases page for:
- Selecting all test cases and enabling Additional for all of them.
- Clearing all test-case selections and disabling Additional for all of them.
- Selecting or unselecting an inclusive range using From and To values.
- Updating the Strength value for the selected test cases in one operation.
- Reviewing the current state before the native HackerRank save is performed.
The extension does not call HackerRank's REST API directly. It operates on the existing page controls and uses HackerRank's native Save Changes button.
- Clone or download this repository.
- Open Chrome/Chromium at
chrome://extensions, or Brave atbrave://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select the cloned repository folder.
- If the browser asks for site access, allow the extension to read and change
data on
www.hackerrank.com. - Open an authorized HackerRank problem-setting Test Cases page and reload it.
The extension is scoped to HackerRank challenge-edit pages and activates only when the Test Cases view is present. A gray/default extension icon is normal; the working controls appear inside the HackerRank page.
On the Test Cases page:
- Use Select all to select every row and turn Additional on for every row.
- Use Clear all to unselect every row and turn Additional off for every row.
- Enter a 1-based, inclusive range in From and To.
- Click Select Range to add that range to the current selection and turn Additional on for the same rows.
- Click Unselect Range to remove that range from Select and turn Additional off for the same rows.
- Enter a non-negative value under Strength.
- Click Apply to selected and confirm the operation.
- Review the displayed Select and Additional states and the reminder message.
- HackerRank's native Save Changes button is then used to persist the changes.
The range uses the visible order shown on the page. The captured HackerRank
markup uses zero-based data-index values internally, so the extension's
user-facing From/To inputs remain 1-based for clarity.
- Use this extension only for HackerRank problems you are authorized to edit.
- The extension does not require an account, backend, API token, cookie, CSRF token, or extension storage.
- It does not read, upload, or log test-case input/output contents.
- It does not call HackerRank's observed REST endpoint directly.
- Saving is delegated to HackerRank's native Save Changes control.
- Review the selected rows, Additional states, and requested Strength before confirming a bulk change.
- HackerRank may change its DOM classes, save behavior, or page lifecycle.
- The current implementation expects the currently available test cases to be present in the page DOM; pagination and virtualization are not covered.
- The MVP applies one common Strength value to the selected rows.
- It does not create, delete, reorder, upload, or edit test-case contents.
- Native save success must be confirmed from the page; changing an input value alone is not proof that the server accepted the change.
If the toolbar does not appear:
- Confirm that the current URL is a HackerRank problem-setting Test Cases page.
- Confirm that site access is enabled in the extension's Details page.
- Reload the extension from the browser's extensions page.
- Reload HackerRank with
Ctrl+Shift+R. - If the browser reports an extension error, inspect the Errors section.
Do not share cookies, CSRF tokens, authorization headers, or private Network request contents when reporting an issue.
manifest.json Extension metadata and page scope
content.js Toolbar behavior and native DOM integration
content.css Toolbar styling and responsive layout
references/ Sanitized HackerRank reference material