{"id":34502719,"url":"https://github.com/creativechai12/snipeit-automation-tests","last_synced_at":"2026-04-28T16:34:29.420Z","repository":{"id":329956917,"uuid":"1121124271","full_name":"creativechai12/snipeit-automation-tests","owner":"creativechai12","description":"A Playwright + .NET automation framework for SnipeIT, built using NUnit and Page Object Model architecture. Includes screenshot capture, reusable page objects, structured test data, and HTML reporting with ReportGenerator. Designed for scalability, readability, and real‑world UI test automation.","archived":false,"fork":false,"pushed_at":"2025-12-22T13:56:33.000Z","size":921,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-24T00:48:38.965Z","etag":null,"topics":["automation","dotnet","nunit","playwright","testing"],"latest_commit_sha":null,"homepage":"https://demo.snipeitapp.com/login","language":"C#","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/creativechai12.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-22T13:28:59.000Z","updated_at":"2025-12-22T14:00:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/creativechai12/snipeit-automation-tests","commit_stats":null,"previous_names":["creativechai12/snipeit-automation-tests"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/creativechai12/snipeit-automation-tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativechai12%2Fsnipeit-automation-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativechai12%2Fsnipeit-automation-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativechai12%2Fsnipeit-automation-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativechai12%2Fsnipeit-automation-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/creativechai12","download_url":"https://codeload.github.com/creativechai12/snipeit-automation-tests/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativechai12%2Fsnipeit-automation-tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32390045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["automation","dotnet","nunit","playwright","testing"],"created_at":"2025-12-24T02:19:36.972Z","updated_at":"2026-04-28T16:34:29.396Z","avatar_url":"https://github.com/creativechai12.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"**SnipeIT Automation Framework**\nThis repository contains a robust UI automation framework for SnipeIT using Playwright for .NET, NUnit, and a clean Page Object Model (POM) architecture.\n\n**Features**\n\n- ✅ Playwright browser automation (Chromium)\n- ✅ NUnit test execution with ordered flows\n- ✅ Page Object Model for maintainability\n- ✅ Screenshot capture on failure (saved to TestData/Screenshots)\n- ✅ Asset persistence via AssetStore\n- ✅ Clean folder structure for scalability\n- ✅ HTML report generation via ReportGenerator\n\n**Folder Structure**\n\nSnipeIT.Automation.Tests/\n├── Helpers/ # Reusable helper classes\n│ ├── captureScreenshot.cs\n│ ├── selectStatusHelper.cs\n│\n├── Models/ # Data models\n│ ├── AssetData.cs\n│\n├── Pages/ # Page Object classes\n│ ├── AssetDetailsPage.cs\n│ ├── AssetListPage.cs\n│ ├── AssetPage.cs\n│ ├── CreateAssetPage.cs\n│ ├── LoginPage.cs\n│\n├── Storage/ # Asset persistence\n│ ├── AssetStore.cs\n│\n├── TestData/ # Test inputs and screenshots\n│ ├── Screenshots/\n│\n├── TestReport/ # HTML report output\n│\n├── Tests/ # NUnit test classes\n│ ├── CreateAssetTest.cs\n│ ├── ValidateAssetTest.cs\n│\n├── SnipeIT.Automation.Tests.csproj\n├── Automation.sln\n├── TestResult.xml # NUnit test result file\n\n**Running Tests**\nRun all tests ::\ndotnet test --logger:\"nunit;LogFilePath=TestResult.xml\"\n\n**Run a specific test**\ndotnet test --filter \"FullyQualifiedName~CreateAssetTest\"\n\n**Screenshot Capture**\nScreenshots are automatically captured on test failure and saved to:\nTestData/Screenshots/\n\nEach file includes a timestamp and test name:\nCreateAssetTest_20251223_001200.png\n\nThese are attached to the NUnit XML and embedded in the HTML report.\n\n**📊 HTML Report Generation**\nInstall the global tool (once):\ndotnet tool install -g dotnet-reportgenerator-globaltool\n\n**Generate the report:**\nreportgenerator -reports:TestResult.xml -targetdir:TestReport -reporttypes:Html\n\n**Open the report:**\nstart .\\TestReport\\index.html\n\n**Page Object Model**\nEach page is represented by a class in Pages/:\n\n- LoginPage → login actions\n- CreateAssetPage → asset creation\n- AssetListPage → search and table interactions\n- AssetDetailsPage → details and history validation\n\n**Asset Persistence**\nThe last created asset is stored in:\nStorage/AssetStore.cs\n\nThis allows validation tests to access the same asset created earlier.\n\n**Cleanup and Teardown**\nEach test includes a [TearDown] method that:\n\n- Captures a screenshot on failure\n- Closes the browser\n- Disposes Playwright\n\n**Dependencies**\n- .NET SDK\n- Playwright for .NET\n- NUnit\n- ReportGenerator\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreativechai12%2Fsnipeit-automation-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreativechai12%2Fsnipeit-automation-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreativechai12%2Fsnipeit-automation-tests/lists"}