{"id":16538793,"url":"https://github.com/sbabcoc/salesforce-example","last_synced_at":"2025-10-28T14:31:13.191Z","repository":{"id":40396226,"uuid":"275910711","full_name":"sbabcoc/salesforce-example","owner":"sbabcoc","description":"This salesforce-example project implements page models of the Salesforce Lightning Web Components example site.","archived":false,"fork":false,"pushed_at":"2023-06-08T04:27:32.000Z","size":47,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-08-25T02:38:15.614Z","etag":null,"topics":["salesforce","salesforce-lightning","selenium","selenium-foundation","shadow-dom"],"latest_commit_sha":null,"homepage":"","language":"Java","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/sbabcoc.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":"2020-06-29T19:44:47.000Z","updated_at":"2022-02-22T07:11:20.000Z","dependencies_parsed_at":"2023-02-01T01:30:29.258Z","dependency_job_id":null,"html_url":"https://github.com/sbabcoc/salesforce-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabcoc%2Fsalesforce-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabcoc%2Fsalesforce-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabcoc%2Fsalesforce-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabcoc%2Fsalesforce-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbabcoc","download_url":"https://codeload.github.com/sbabcoc/salesforce-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859478,"owners_count":16556036,"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":["salesforce","salesforce-lightning","selenium","selenium-foundation","shadow-dom"],"created_at":"2024-10-11T18:46:50.228Z","updated_at":"2025-10-28T14:31:07.906Z","avatar_url":"https://github.com/sbabcoc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\nThis **salesforce-example** project implements page models of the **Salesforce** `Lightning Web Components` [example site](https://web.archive.org/web/20220324080440/https:/conference-lwc-app.herokuapp.com/). The example site this project targets has been archived. The tests have been updated to run against the last available archived instance.\n\n## Page Model Structure\n\nThe page classes presented in this project are built on the [Selenium Foundation](https://github.com/Nordstrom/Selenium-Foundation) framework. A common [AppPage](https://github.com/sbabcoc/salesforce-example/blob/master/src/main/java/com/github/sbabcoc/model/AppPage.java) base class provides the shadow DOM context that encapsulates the actual content of the page.\nLogical units of functionality within each page are modeled as shadow DOM components and conventional page components. For example, the initial \"[root](https://github.com/sbabcoc/salesforce-example/blob/master/src/main/java/com/github/sbabcoc/model/LightningConferenceRoot.java)\" page of the site includes a shadow DOM [session list](https://github.com/sbabcoc/salesforce-example/blob/master/src/main/java/com/github/sbabcoc/model/SessionList.java), which contains a mapped collection of [class session](https://github.com/sbabcoc/salesforce-example/blob/master/src/main/java/com/github/sbabcoc/model/ClassSession.java) page components.\n\n## Demonstrated Features\n\nThis example project demonstrates the following features:\n\n* Page model structure...\n  * ... pages\n  * ... conventional page components\n  * ... shadow DOM components\n  * ... component collections\n\n* Site manipulation...\n  * ... element location\n  * ... element interaction\n  * ... transition synchronization\n\nThis last feature (transition synchronization) is especially important to the stability of the model. Automation with inadequate synchronization is prone to non-deterministic behavior, which can trigger false negatives - test failures that indicate errors that don't actually exist. The transition synchronization facilities provided by **Selenium Foundation** enable the creation of stable page models with minimal custom implementation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbabcoc%2Fsalesforce-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbabcoc%2Fsalesforce-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbabcoc%2Fsalesforce-example/lists"}