{"id":25269684,"url":"https://github.com/distante/cypress-ionic","last_synced_at":"2026-04-02T16:42:47.011Z","repository":{"id":38008718,"uuid":"435004322","full_name":"distante/cypress-ionic","owner":"distante","description":"A set of functions to help you interact with Ionic Framework elements in your Cypress tests","archived":false,"fork":false,"pushed_at":"2024-03-15T01:56:44.000Z","size":2185,"stargazers_count":3,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-07T01:24:33.955Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/distante.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}},"created_at":"2021-12-04T20:40:04.000Z","updated_at":"2024-02-15T17:06:34.000Z","dependencies_parsed_at":"2024-02-16T10:41:46.285Z","dependency_job_id":"475f3430-07fe-47e3-9c44-48605197bf87","html_url":"https://github.com/distante/cypress-ionic","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distante%2Fcypress-ionic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distante%2Fcypress-ionic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distante%2Fcypress-ionic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distante%2Fcypress-ionic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/distante","download_url":"https://codeload.github.com/distante/cypress-ionic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238461547,"owners_count":19476344,"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":"2025-02-12T11:18:45.356Z","updated_at":"2025-10-27T07:31:53.985Z","avatar_url":"https://github.com/distante.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n  \u003ch1\u003e@saninn/cypress-ionic\u003c/h1\u003e\r\n\r\n\u003cspan style=\"font-size:2em\"\u003e👨‍💻💻\u003c/span\u003e\r\n\r\nA set of helper functions to tests your Ionic apps with Cypress (0 dependencies)\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n\r\n[![Build Status](https://github.com/distante/cypress-ionic/actions/workflows/node.js.yml/badge.svg)](https://github.com/distante/cypress-ionic/actions/workflows/node.js.yml) [![Known Vulnerabilities](https://snyk.io/test/github/distante/cypress-ionic/badge.svg?targetFile=package.json)](https://snyk.io/test/github/distante/cypress-ionic?targetFile=package.json) [![Maintainability](https://api.codeclimate.com/v1/badges/171b458d255d4112ffd6/maintainability)](https://codeclimate.com/github/distante/cypress-ionic/maintainability)\r\n\r\n\u003c/div\u003e\r\n\u003c/div\u003e\r\n\r\n\u003chr /\u003e\r\n\r\n## The Problem\r\n\r\nTo be able to get a hold of Ionic's web components and with Cypress one has to inspect their ShadowDom and create cypress helper commands to change them for each project, which is time consuming.\r\n\r\nWith this library you can just give the css selector of the Ionic Element, or the element itself and you can interact with it in an easy way.\r\n\r\n# Versioning\r\n\r\n- Ionic `\u003c= 7` -\u003e `0.x.x`\r\n- Ionic `\u003e= 8` -\u003e `1.x.x`\r\n\r\n## Install\r\n\r\n`npm install @saninn/cypress-ionic --save-dev`.\r\n\r\nThen enable ShadowDom access on your Cypress Project:\r\n\r\n```json\r\n{\r\n  \"$schema\": \"https://on.cypress.io/cypress.schema.json\",\r\n  \"includeShadowDom\": true,\r\n  ...\r\n}\r\n```\r\n\r\n\\*\\* Although it is not needed, it is recommended to disable Ionic animations when possible. That said, this library let the animations active so timing issues are handled.\r\n\r\n## Basic usage\r\n\r\nEach helper function returns an `Cypress.Chainable\u003cJQuery\u003cIonComponent\u003e\u003e` object with the component that was changed. So an example of usage could be\r\n\r\n```ts\r\nimport { ionRangeCypress } from '@saninn/cypress';\r\n\r\nit('can be changed by set value', () =\u003e {\r\n  ionRangeCypress.setValue('ion-range.my-ion-range', 42);\r\n\r\n  cy.get('my-view-item').should('eq', '42');\r\n});\r\n```\r\n\r\n## API and Documentation\r\n\r\n[See the generated documentation here](https://cypress-ionic.saninnsalas.com)\r\n\r\n## License\r\n\r\n[AGPLv3](/LICENSE)\r\n\r\n## Development\r\n\r\nEach exported function is directly tested on Cypress.\r\nCall `npm run develop` to start a simple server and open cypress.\r\nYou can see the served host on `http://localhost:3999` with:\r\n\r\n- [html/index.html](/html/index.html) is the file with the supported components.\r\n- [html/assets/scripts.mjs](/html/assets/scripts.mjs) contains the Ionic initialization calls and some event listeners needed for testing.\r\n\r\n## TODO.\r\n\r\n- Dev Guidelines\r\n- More components\r\n\r\n## Pull requests are welcome\r\n\r\n❤\r\n\r\n# Find me 🏃‍\r\n\r\n- Website [https://www.saninnsalas.com](https://www.saninnsalas.com)\r\n- Twitter [@SaninnSalas](https://twitter.com/saninnsalas)\r\n- Facebook [@SaninnSalas](https://www.facebook.com/SaninnSD/)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdistante%2Fcypress-ionic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdistante%2Fcypress-ionic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdistante%2Fcypress-ionic/lists"}