orchardcore-tester

OrchardCore Feature Testing

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "orchardcore-tester" with this command: npx skills add orchardcms/orchardcore/orchardcms-orchardcore-orchardcore-tester

OrchardCore Feature Testing

This skill guides you through testing OrchardCore CMS features using browser automation with playwright-cli .

Prerequisites

  • OrchardCore repository (working directory)

  • .NET SDK 10.0+ installed

  • playwright-cli skill available

Core Workflow

Testing an OrchardCore feature follows these steps:

  • Build the application

  • Run the application server (background)

  • Setup a test site (if needed)

  • Test the feature via browser

  • Verify results and clean up

Step 1: Build

dotnet build src/OrchardCore.Cms.Web/OrchardCore.Cms.Web.csproj -c Debug -f net10.0

Step 2: Run Application (Background)

Since multiple agents may run OrchardCore from different worktrees simultaneously, use a random port and run in background.

Get or Create Session Port

Check for existing port file, or generate random port (5000-5999)

$portFile = ".orchardcore-port" if (Test-Path $portFile) { $port = Get-Content $portFile } else { $port = Get-Random -Minimum 5000 -Maximum 6000 $port | Out-File $portFile -NoNewline } Write-Host "Using port: $port"

Start Application in Background

Start OrchardCore in background process

$proc = Start-Process dotnet -ArgumentList "run","-f","net10.0","--no-build","--urls","http://localhost:$port" -WorkingDirectory "src/OrchardCore.Cms.Web" ` -PassThru -NoNewWindow

Save PID for later cleanup

$proc.Id | Out-File ".orchardcore-pid" -NoNewline Write-Host "Started OrchardCore (PID: $($proc.Id)) on http://localhost:$port"

Wait for Application Ready

Poll until app responds (max 60 seconds)

$port = Get-Content ".orchardcore-port" $timeout = 60; $elapsed = 0 while ($elapsed -lt $timeout) { try { $response = Invoke-WebRequest -Uri "http://localhost:$port" -UseBasicParsing -TimeoutSec 2 Write-Host "Application ready at http://localhost:$port" break } catch { Start-Sleep -Seconds 2 $elapsed += 2 } }

Stop Application

Stop the background process

if (Test-Path ".orchardcore-pid") { $pid = Get-Content ".orchardcore-pid" Stop-Process -Id $pid -Force -ErrorAction SilentlyContinue Remove-Item ".orchardcore-pid" -Force Write-Host "Stopped OrchardCore (PID: $pid)" }

Step 3: Setup Test Site

Check if setup is needed: Navigate to the app URL - if you see a setup wizard, the site needs setup.

Reset for fresh setup (optional):

Remove-Item -Recurse -Force src/OrchardCore.Cms.Web/App_Data

Setup workflow:

Get the port

$port = Get-Content ".orchardcore-port"

playwright-cli open http://localhost:$port playwright-cli snapshot

Fill: Site Name = "Test Site", Recipe = "Blog", Username = "admin",

Email = "admin@test.com", Password = "Password1!"

Click "Finish Setup"

See references/setup-wizard.md for detailed field mapping.

Step 4: Test Features

Important: Replace 5000 with the actual port from .orchardcore-port file.

Login to Admin

playwright-cli open http://localhost:$port/Login playwright-cli snapshot

Fill username: admin, password: Password1!

Click login button

playwright-cli open http://localhost:$port/Admin playwright-cli snapshot

Common Test Scenarios

Test Media Library:

playwright-cli open http://localhost:$port/Admin/Media playwright-cli snapshot

Test Content Creation:

playwright-cli open http://localhost:$port/Admin/Contents/ContentItems playwright-cli snapshot

Click New, select content type, fill fields, publish

Enable a Feature:

playwright-cli open http://localhost:$port/Admin/Features playwright-cli snapshot

Search for feature, click Enable

See references/common-features.md for detailed workflows.

Step 5: Verify Results

After each action:

Check page state

playwright-cli snapshot

Check for JavaScript errors

playwright-cli console error

Verify page title

playwright-cli eval "document.title"

Debugging with Log Files

Console output is not visible when running in background. Use log files instead:

View last 50 lines of today's log

Get-Content "src/OrchardCore.Cms.Web/App_Data/logs/orchard-log-$(Get-Date -Format 'yyyy-MM-dd').log" -Tail 50

Search for errors

Select-String -Path "src/OrchardCore.Cms.Web/App_Data/logs/orchard-log-$(Get-Date -Format 'yyyy-MM-dd').log" -Pattern "ERROR|Exception" -Context 2,5

See references/debugging.md for more debugging techniques.

Quick Reference

Task URL Path

Admin Dashboard /Admin

Features /Admin/Features

Content Items /Admin/Contents/ContentItems

Media Library /Admin/Media

Users /Admin/Users/Index

Themes /Admin/Themes

Session Files

File Purpose

.orchardcore-port

Persisted port number for session

.orchardcore-pid

Process ID for cleanup

Default Credentials

References

  • references/admin-navigation.md

  • Admin URLs and UI patterns

  • references/setup-wizard.md

  • Site setup details

  • references/common-features.md

  • Feature-specific testing guides

  • references/debugging.md

  • Log files and troubleshooting

  • AGENTS.md (repo root) - Build and development instructions

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

orchardcore-theme-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

orchardcore-module-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

Aoment Visuals

AI image and video generation service - supports text-to-image, image-to-image, and video generation

Registry SourceRecently Updated