[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699R8Q44GVQBV10Z0DHBAJX":3,"skill-same:01M699R8Q44GVQBV10Z0DHBAJX":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M699R8Q44GVQBV10Z0DHBAJX","testing-course-samples",null,"Use wen dem ask you to validate, test, smoke-test, or run di course notebook and code samples against live Microsoft Foundry \u002F Azure OpenAI configuration. E cover environment setup (.env, az login, packages), di scripts\u002Fvalidate-notebooks.ps1 runner, how to understand PASS\u002FFAIL results, and which lessons need extra resources (Azure AI Search, GitHub MCP, Foundry Local, Playwright).","microsoft\u002Fai-agents-for-beginners","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6998ZK2275KMJE6Y5SEA2X2",79423,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fpcm\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[32,33,34,35,36,37,9,38,39,40,41,42],"testing","testing course samples","MCP","github","playwright","test","foundry","foundry local","microsoft foundry","validate","azure ai","2026-11-10 10:12:30",false,"---\nname: testing-course-samples\ndescription: Use wen dem ask you to validate, test, smoke-test, or run di course notebook\n  and code samples against live Microsoft Foundry \u002F Azure OpenAI configuration. E\n  cover environment setup (.env, az login, packages), di scripts\u002Fvalidate-notebooks.ps1\n  runner, how to understand PASS\u002FFAIL results, and which lessons need extra resources\n  (Azure AI Search, GitHub MCP, Foundry Local, Playwright).\n---\n# Testing di Course Samples\n\nMake sure say di lesson notebooks and code samples dey run well well for one live\nMicrosoft Foundry \u002F Azure OpenAI setup. Di repo get one runner wey dey for\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) wey\ndey run every Python notebook without display and e go show PASS\u002FFAIL matrix.\n\n## Wen you go use am\n- \"Make sure say all di notebooks \u002F samples dey work for my Azure subscription.\"\n- \"Quick check di course after you upgrade packages or change models.\"\n- \"Which lessons still dey pass \u002F fail for live?\"\n\nNo use am for di AI Smoke Test GitHub Action (wey dey check *deployed*\nhosted agents — see [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Dis skill\ndey run di notebooks for local machine.\n\n## Wetin you go need (check first)\n1. **Python 3.12+** with all di course dependencies: `python -m pip install -r requirements.txt`\n   plus di executor: `python -m pip install nbconvert ipykernel`.\n2. **`.env` for di root of di repo** (copy am from [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) with at least:\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundry project endpoint\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — one deployment wey no old (e.g. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) and `AZURE_OPENAI_DEPLOYMENT`\n     for di lessons wey dey call Azure OpenAI directly (Lesson 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **You don do `az login` finish** — di samples dey use `AzureCliCredential` (Entra ID, no need key).\n4. Make sure say di model deployment dey:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## How to run the validation\n```powershell\n# All Python notebooks (no go include .NET, .venv, site-packages, translations, skill assets)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# One lesson, wit longer time wey e fit run per cell\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Only show wetin go run (no dey run anything)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Clear interpreter (if `python` no dey for PATH, like Windows Store alias)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nDi script dey write di runs copy, per-notebook logs, and `results.json` go\n`$env:TEMP\\aiab-nbval` and e go exit with di number of failures.\n\nTemporary failures (shared-subscription HTTP 429 rate limits, one-time\n`AzureCliCredential` token wahala, or timeout) e go try again automatically\n(`-Retries`, default 2, plus `-RetryDelaySeconds` backoff, default 20). If\none model deployment dey always 429, check di subscription's GlobalStandard\nTPM quota (`az cognitiveservices usage list -l \u003Cregion>`) — even if you raise one\ndeployment capacity e no go help if di *subscription* quota don finish.\n\n## How to understand di results\n- `PASS` — di notebook run finish without any cell error.\n- `FAIL` — di first `*Error` \u002F `*Exception` line dey appear; open di right\n  `log_*.txt` for di output folder to see di full problem.\n- One single notebook failure dey controlled by `-Timeout` (per cell), so if one\n  human-in-the-loop cell jam, e go show `StdinNotImplementedError` instead of hang.\n\n## Lessons wey need extra things (dem go fail if no get dem)\n| Lesson | Extra requirement |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, key) — get fallback way wey dey memory |\n| 11 MCP \u002F GitHub | GitHub MCP server + PAT |\n| 13 memory (cognee) | `cognee` setup with one model provider |\n| 15 browser-use | Playwright browsers installed (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry Local runtime + Qwen model wey you don download (on-device, no cloud) |\n| `*-dotnet-*` notebooks | .NET Interactive kernel (no include by default; use `-IncludeDotnet`) |\n\n## How to report back\nSummarize am as PASS\u002FFAIL table grouped by lesson. Separate real regressions\n(code\u002Fconfig bugs wey need fix) from environment problems (missing Search\u002FFoundry Local\u002FPAT),\nand talk about di failing `log_*.txt` for each real failure.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nDis document don translate wit AI translation service [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Even tho we dey try make am correct, abeg make you know say automated translation fit get errors or mistakes. Di original document for dia own language na im be di correct source. For important info, make person wey sabi human translation do am. We no go responsible for any misunderstanding or wrong understanding wey fit happen because of dis translation.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Testing di Course Samples\n\nMake sure say di lesson notebooks and code samples dey run well well for one live\nMicrosoft Foundry \u002F Azure OpenAI setup. Di repo get one runner wey dey for\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) wey\ndey run every Python notebook without display and e go show PASS\u002FFAIL matrix.\n\n## Wen you go use am\n- \"Make sure say all di notebooks \u002F samples dey work for my Azure subscription.\"\n- \"Quick check di course after you upgrade packages or change models.\"\n- \"Which lessons still dey pass \u002F fail for live?\"\n\nNo use am for di AI Smoke Test GitHub Action (wey dey check *deployed*\nhosted agents — see [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Dis skill\ndey run di notebooks for local machine.\n\n## Wetin you go need (check first)\n1. **Python 3.12+** with all di course dependencies: `python -m pip install -r requirements.txt`\n   plus di executor: `python -m pip install nbconvert ipykernel`.\n2. **`.env` for di root of di repo** (copy am from [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) with at least:\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundry project endpoint\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — one deployment wey no old (e.g. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) and `AZURE_OPENAI_DEPLOYMENT`\n     for di lessons wey dey call Azure OpenAI directly (Lesson 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **You don do `az login` finish** — di samples dey use `AzureCliCredential` (Entra ID, no need key).\n4. Make sure say di model deployment dey:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## How to run the validation\n```powershell\n# All Python notebooks (no go include .NET, .venv, site-packages, translations, skill assets)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# One lesson, wit longer time wey e fit run per cell\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Only show wetin go run (no dey run anything)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Clear interpreter (if `python` no dey for PATH, like Windows Store alias)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nDi script dey write di runs copy, per-notebook logs, and `results.json` go\n`$env:TEMP\\aiab-nbval` and e go exit with di number of failures.\n\nTemporary failures (shared-subscription HTTP 429 rate limits, one-time\n`AzureCliCredential` token wahala, or timeout) e go try again automatically\n(`-Retries`, default 2, plus `-RetryDelaySeconds` backoff, default 20). If\none model deployment dey always 429, check di subscription's GlobalStandard\nTPM quota (`az cognitiveservices usage list -l \u003Cregion>`) — even if you raise one\ndeployment capacity e no go help if di *subscription* quota don finish.\n\n## How to understand di results\n- `PASS` — di notebook run finish without any cell error.\n- `FAIL` — di first `*Error` \u002F `*Exception` line dey appear; open di right\n  `log_*.txt` for di output folder to see di full problem.\n- One single notebook failure dey controlled by `-Timeout` (per cell), so if one\n  human-in-the-loop cell jam, e go show `StdinNotImplementedError` instead of hang.\n\n## Lessons wey need extra things (dem go fail if no get dem)\n| Lesson | Extra requirement |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, key) — get fallback way wey dey memory |\n| 11 MCP \u002F GitHub | GitHub MCP server + PAT |\n| 13 memory (cognee) | `cognee` setup with one model provider |\n| 15 browser-use | Playwright browsers installed (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry Local runtime + Qwen model wey you don download (on-device, no cloud) |\n| `*-dotnet-*` notebooks | .NET Interactive kernel (no include by default; use `-IncludeDotnet`) |\n\n## How to report back\nSummarize am as PASS\u002FFAIL table grouped by lesson. Separate real regressions\n(code\u002Fconfig bugs wey need fix) from environment problems (missing Search\u002FFoundry Local\u002FPAT),\nand talk about di failing `log_*.txt` for each real failure.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nDis document don translate wit AI translation service [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Even tho we dey try make am correct, abeg make you know say automated translation fit get errors or mistakes. Di original document for dia own language na im be di correct source. For important info, make person wey sabi human translation do am. We no go responsible for any misunderstanding or wrong understanding wey fit happen because of dis translation.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"description":7},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fpcm\u002F.agents\u002Fskills\u002Ftesting-course-samples",26019,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners","https:\u002F\u002Faka.ms\u002Fai-agents-beginners","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-07 12:51:12",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":64,"command":65},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":67,"command":68},"pnpm","pnpm dlx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fpcm\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",true,[],[73,80,89,97,105,112],{"skillNo":74,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":79,"publishedAt":43},"01M69A206TRZ8KK0CW0HYJF5V5","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[77,78],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[32,33],{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":86,"publishedAt":43},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[85],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[87,9,88],"docs","microsoft docs",{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":43},"01M69A1VPZFJQ1HNGTZQ5P3WSC","local-ai-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[95,96],"ai agents","local ai agents",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":43},"01M69A1S947N7MM6V9JF85S2E7","jupyter-notebook","當使用者要求建立、搭建或編輯 Jupyter 筆記本（`.ipynb`）用於實驗、探索或教學時使用；優先使用隨附範本並執行輔助腳本 `new_notebook.py` 來產生一個乾淨的起始筆記本。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fjupyter-notebook\u002FSKILL.md",[],[104],"jupyter notebook",{"skillNo":106,"name":107,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":43},"01M69A1Q8EXPWKZSQK69V6WF22","deploying-scalable-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",[],[111],"deploying scalable agents",{"skillNo":113,"name":114,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":43},"01M69A1MHZTH3RH9N8VYSYG74X","azure-openai-to-responses","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fazure-openai-to-responses\u002FSKILL.md",[],[118],"azure openai to responses"]