{"id":13701503,"url":"https://github.com/nenadg/traquer","last_synced_at":"2025-05-04T21:30:59.759Z","repository":{"id":67821514,"uuid":"68531760","full_name":"nenadg/traquer","owner":"nenadg","description":"Records and reproduces user's in-page behavior","archived":true,"fork":false,"pushed_at":"2016-10-31T09:53:50.000Z","size":113,"stargazers_count":726,"open_issues_count":1,"forks_count":37,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-04-14T15:00:30.401Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nenadg.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":"2016-09-18T16:01:58.000Z","updated_at":"2024-02-03T11:46:00.000Z","dependencies_parsed_at":"2023-09-11T19:15:15.083Z","dependency_job_id":null,"html_url":"https://github.com/nenadg/traquer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nenadg%2Ftraquer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nenadg%2Ftraquer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nenadg%2Ftraquer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nenadg%2Ftraquer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nenadg","download_url":"https://codeload.github.com/nenadg/traquer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252403830,"owners_count":21742451,"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":[],"created_at":"2024-08-02T20:01:43.683Z","updated_at":"2025-05-04T21:30:59.371Z","avatar_url":"https://github.com/nenadg.png","language":"JavaScript","readme":"# traquer\nRecords and reproduces user's in-page behavior\n\nTraquer is a tool that enables you to record a testing session on you web/page/app, than reproduce it, monitor how it performed, create a naïve heatmap, and even automate your testing sessions using Selenium Webdriver and Jasmine...\n\nOriginal blog post about this is already here - http://lessgeneric.com/testing/traquer-testing-made-easy/ so go check it out.\n\n\n# Record and playback\nIn following example, you'll see a record and playback on Ext JS example called 'Admin Dashboard'. \n[![record and playback](https://img.youtube.com/vi/KVlg4UDz6L4/0.jpg)](https://www.youtube.com/watch?v=KVlg4UDz6L4)\n\nAnother example shows that there is actual list of recorded cases, which you can use to set up playback.\n[![playback saved](https://img.youtube.com/vi/KVlg4UDz6L4/0.jpg)](https://www.youtube.com/watch?v=HT-ciY_RMQ0)\n\n# Heatmap\nYou can create heatmap from one ore many cases.\n\n[![heatmap](https://img.youtube.com/vi/KVlg4UDz6L4/0.jpg)](https://www.youtube.com/watch?v=vmjcYKIsKrc)\n\n# Playback after DOM mutation\nIn this example, I've reloaded page which means - new element id's (testing hell).\n[![dom mutation](https://img.youtube.com/vi/KVlg4UDz6L4/0.jpg)](https://www.youtube.com/watch?v=XFiNei0HWqg)\n\n# Export/import to different browsers\nHere, I'll create case in Firefox, export it from there, and import it to Chrome. It'll perform good.\n[![export import](https://img.youtube.com/vi/KVlg4UDz6L4/0.jpg)](https://www.youtube.com/watch?v=ANyAYFWIRBY)\n\n# Joining cases\nIn this last video for this post, I'm showing how to join multiple cases to one 'mega-case'.\n[![joining cases](https://img.youtube.com/vi/KVlg4UDz6L4/0.jpg)](https://www.youtube.com/watch?v=pJZ9JV5TjsQ)\n\n\n# Work in progress\nThis is WIP, some features don't work as they should (jasmine/seleinum automation for example).\n\n\nContribution/interest is welcomed.\n\n# Credits/Contributors\nI won't forget to mention and thank these great guys who contributed to make this available:\n\n- Bojan Dević (https://github.com/bojandevic) who refactored initial version of this tool (which was messy load of crap), which made further development available\n- Mirko Kukoleča (https://github.com/mkukoleca) who was idea originator, some two years ago\n- Goran Smiljanić (https://github.com/sgoran) for early reviews, and great ideas about how this should look and work,\n- ... (more people to come)\n","funding_links":[],"categories":["JavaScript","📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnenadg%2Ftraquer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnenadg%2Ftraquer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnenadg%2Ftraquer/lists"}