{"id":22505190,"url":"https://github.com/azer/lowkick","last_synced_at":"2025-08-03T11:32:47.473Z","repository":{"id":66734287,"uuid":"2938912","full_name":"azer/lowkick","owner":"azer","description":"simplifies running javascript tests on varied environments, from command-line.","archived":false,"fork":false,"pushed_at":"2012-07-07T20:31:20.000Z","size":304,"stargazers_count":60,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T10:49:20.703Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-12-08T09:03:30.000Z","updated_at":"2023-11-03T17:09:26.000Z","dependencies_parsed_at":"2023-02-20T10:30:22.563Z","dependency_job_id":null,"html_url":"https://github.com/azer/lowkick","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/azer/lowkick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azer%2Flowkick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azer%2Flowkick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azer%2Flowkick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azer%2Flowkick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azer","download_url":"https://codeload.github.com/azer/lowkick/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azer%2Flowkick/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268537868,"owners_count":24266277,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-12-07T00:15:41.703Z","updated_at":"2025-08-03T11:32:47.172Z","avatar_url":"https://github.com/azer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Simplifies executing JavaScript code on varied environments, from command-line.\n\n[![](https://github.com/downloads/azer/lowkick/lowkick_http_ie8.png)](https://github.com/downloads/azer/lowkick/lowkick_http_ie8.png)\n\n# Install\n\n```bash\n$ npm install lowkick\n```\n\n# Concept\n\nLowKick can be considered as a JavaScript evaluation server coming with several utilities and APIs that provide developers a unified way of JavaScript execution.\nIt abstracts the differences of varied platforms by defining [drivers](https://github.com/azer/lowkick/tree/master/lib/drivers) and [commands](https://github.com/azer/lowkick/blob/master/test/config.json#L24).\n\n[![](https://github.com/downloads/azer/lowkick/lowkick_console.png)](https://github.com/downloads/azer/lowkick/lowkick_console.png)\n\n\nSee example configuration files:\n\n  * [test/config.json](https://github.com/azer/lowkick/blob/master/test/config.json)\n  * [test/remote-server-config.json](https://github.com/azer/lowkick/blob/master/test/remote-server-config.json)\n  * [test/remote-client-config.json](https://github.com/azer/lowkick/blob/master/test/remote-client-config.json)\n\nAnd following screenshots:\n\n  * https://p.twimg.com/Ai3M7nUCAAE6W26.png:large\n\n# First Steps\n\nTo give LowKick a try, you can run the tests of LowKick. It uses itself to test its frontend API.\n\n```bash\n$ git clone git@github.com:azer/lowkick.git\n$ cd lowkick\n$ make publish # equivalent of \"lowkick publish test/config.json\"\n```\n\nIt'll start publishing the frontend tests at http://localhost:1314. Visit this page with any web browser.\n\n```bash\n$ $BROWSER http://localhost:1314\n```\n\nIt'll execute specified the JavaScripts, and save the result of execution to a JSON file defined at\nthe [config file](https://github.com/azer/lowkick/blob/master/test/config.json)\n\nAfter running the tests on varied environments, you can see the summary of the results;\n\n```bash\n$ make verify # equivalent of \"lowkick verify test/config.json\"\nPassed: chrome, v8, webkit, safari\nNot Tested: ie6, ie, dom, ie8, gecko, ie7, node, firefox\n\nRevision: 0.0.1\nResults Source: test/results.json\nConfig: test/config.json\n```\n\nThe summary above shows that the tests are run by Google Chrome successfully\nand the other target environments such as IE6, firefox haven't been tested yet.\n\n## Testing IE Headlessly\n\nYou can simply open the test URL with Internet Explorer, if you feel\ncomfortable with that way. For those who hate seeing IE should LowKick's drivers and commands.\n\nIf you have a VirtualBox VM named \"ie6\" (ie7 or ie8 counts, as well) on your system, following command should work;\n\n```bash\n$ make test-ie6 # equivalent of \"lowkick command ie6 test/config.json\"\n```\n\nFirst question came to your mind is probably \"Does LowKick provide these commands?\", the answer is no.\nCommands are defined in config files. Which means, you can edit the IE command above if it doesn't work for you.\n\n## Defining Commands\n\n[The config file](https://github.com/azer/lowkick/blob/master/test/config.json)\nof LowKick defines the commands IE6, IE7 and IE8 to run its tests\nthrough virtual machines, using the VirtualBox driver, like below;\n\n```json\n\"ie8\": {\n  \"driver\": \"virtualbox-ie\",\n  \"vm\": \"ie8\",\n  \"url\": \"http://10.0.2.2:1314\"\n}\n```\n\nAs you may notice, it uses the driver `virtualbox-ie`, instead of `virtualbox`, to not duplicate some\ndetails that can be seen below;\n\n```json\n\"ie8\": {\n  \"driver\": \"virtualbox-ie\",\n  \"vm\": \"ie8\",\n  \"exec\": \"C:\\\\Program Files\\\\Internet Explorer\\\\iexplore.exe\",\n  \"params\": \"http://10.0.2.2:1314\"\n}\n```\n\n# REST API\n\nFIX ME\n\n# Working with Test Frameworks\nLowKick itself is not a test framework and doesn't provide anything test frameworks already accomplish.\nIt aims to let developers run all kind of tests on varied environments, from command-line.\n\n## Jasmine\n\nDownload and add those following files to on top of the scripts defined your config file and you're all set to go!\n\n  * https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/jasmine.js\n  * https://raw.github.com/pivotal/jasmine/master/lib/jasmine-core/jasmine-html.js\n  * https://raw.github.com/gist/1645217/d49f09320feb1e64f77a0e31ae178573fdb6b1aa/gistfile1.js\n\n# Setting Up Remote Servers\n\n# Projects Using LowKick\n\n  * [HighKick](http://github.com/azer/highkick)\n\n# Troubleshooting\n\n  * Resetting VMs solves problems.\n  * Make sure that the VM on which you're trying to run tests is saved.\n  * To reset a VM running headlessly; `vboxmanage controlvm \"$1\" reset`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazer%2Flowkick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazer%2Flowkick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazer%2Flowkick/lists"}