Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezek a bővítmények szabályozzák, hogy az MTP hogyan és hol helyezi üzembe és indítja el a teszt gazdagépet. A kísérleti ITestHostLauncher bővítménypontot használják a teszt gazdagép üzembe helyezésének és elindításának szabályozására.
Tip
Amikor a Microsoft.Testing.Platform.MSBuild csomagot használja, telepítse a bővítmény NuGet-csomagját a bővítmény automatikus regisztrálásához. Az MSTest, az NUnit és az xUnit tesztfuttatók tranzitívan tartalmazzák a(z) Microsoft.Testing.Platform.MSBuild elemet. Ha letiltja a generált belépési pontot, az MSBuild által hozzáadott csomagok regisztrálásához hívja meg a(z) AddSelfRegisteredExtensions elemet.
Csomagolt alkalmazás üzembe helyezése
A Microsoft.Testing.Extensions.PackagedApp bővítmény a buildkimenetének elrendezéséből regisztrál egy csomagolt Windows-tesztgazdát, majd az Application User Model ID (AUMID) alapján aktiválja azt.
A csomag az MTP 2.3-ban lett bevezetve. Az MTP 2.5-től kezdődően az alábbiakat támogatja végponttól végpontig, beleértve a csomagolt, teljes megbízhatósági szintű és az AppContainer-gazdafolyamatokat:
- Csomagolt teljes megbízhatóságú WinUI 3-alkalmazások.
- Modern UWP-alkalmazások, amelyek használják
UseUwp. - A
uap10.0-t megcélzó klasszikus UWP-alkalmazások. - WinUI 3
TrustLevel="appContainer"gazdagépek, amelyek beállítják a(z)packagedClassicAppelemet.
Az MSTest.Sdk 4.5-ös vagy újabb verziója automatikusan konfigurálja ezt a bővítményt, valamint a szükséges, teljes megbízhatósági szintű alkalmazásmodellhez tartozó kísérőfolyamatot. Az alkalmazásbeállítási és -futtatási parancsokért lásd: UWP és WinUI 3-alkalmazások tesztelése MSTest és MTP használatával.
Caution
Az MTP 2.4-től Microsoft.Testing.Extensions.PackagedApp kezdve az MTP kiadási verzióját követi, és a nyilvános regisztrációs API már nem kísérleti. Az általános ITestHostLauncher bővítménypont kísérleti jellegű marad, és egy későbbi kiadásban változhat.
A követelményeknek való megfelelés
A bővítmény használata előtt az alábbi követelményeknek kell megfelelnie:
- A WinUI 3-ba csomagolt alkalmazások Windows platformverziójának
10.0.19041.0vagy újabb verziójának megcélzása. - Ha nem aláírt buildkimeneti elrendezést szeretne regisztrálni, engedélyezze a fejlesztői módot, vagy konfigurálja a mellékbetöltést.
- UWP esetén használja a Visual Studio asztali MSBuildjét az UWP-workloaddal és a szükséges Windows SDK-val.
- Futtassa az AppContainer tesztgazdafolyamatokat egy nem emelt jogosultságú vezérlőfolyamatból.
A csomagaktiválás ismertetése
Csomagolt alkalmazások esetén a indító:
- Megkeresi a tesztfuttatható fájlt leíró
AppxManifest.xmlelemet. - Regisztrálja az aktuális felhasználó buildkimeneti elrendezését.
- Feloldja a kijelölt jegyzékalkalmazás AUMID azonosítóját.
- Aktiválja az alkalmazást, és csatlakoztatja az MTP-vezérlőhöz.
A win32App és packagedClassicApp gazdagépeken a Windows az MTP-argumentumokat a szokásos folyamatargumentum-tömbön keresztül adja át. Ez a viselkedés az AppContainert használó alkalmazásokra packagedClassicApp is vonatkozik.
Egy UWP windowsApp esetén a Windows a LaunchActivatedEventArgs.Arguments révén egy átlátszatlan aktiválási karakterláncot biztosít. A(z) OnLaunched elemben hívd meg a(z) PackagedAppExtensions.GetTestApplicationArguments elemet, mielőtt létrehozod az MTP-buildet.
AppContainer-gazdagép csatlakoztatása
Az AppContainer-jogkivonat egy korlátozott csomaghoz tartozó SID-et tartalmaz. Egy nevesített cső, amely csak az aktuális felhasználót engedélyezi, akkor is elutasítja az AppContainer-folyamatot, ha ugyanahhoz a bejelentkezett felhasználóhoz tartozik.
Az MTP 2.5-ös vagy újabb verzióiban a csomagolt alkalmazásindító levezeti a kiválasztott alkalmazás csomagazonosítóját, és megkéri az MTP-t, hogy biztosítsa az adott SID számára a minimális ügyféljogokat a vezérlőn és a bővítménycsöveken. A bővítmény nem ad meg ALL APPLICATION PACKAGES elemet, nem csökkenti a folyamatcsatorna integritási szintjét, és nem igényel hálózati loopback alóli mentességet.
Az oldalkocsi a csomagon LocalStatekeresztül továbbítja a vezérlő metaadatait. Emellett a TRX-, memóriakép-, diagnosztikai és újrapróbálási fájlokat is átmásolja a csomaghoz tartozó tárolóból a megadott eredménykönyvtárba, miután a homokozóba zárt gazdagép kilép.
Automatikus aktiválás szabályozása
Alapértelmezés szerint a indító csak akkor engedélyezi magát, ha a tesztalkalmazást leíró csomagjegyzéket talál. A kicsomagolt WinUI 3-alkalmazások vagy a szokásos konzoltesztelési alkalmazások a közvetlen indítási útvonalon maradnak.
A csomagészlelés felülbírálásához használható TESTINGPLATFORM_PACKAGEDAPP_LAUNCHER :
| Érték | Viselkedés |
|---|---|
auto vagy a beállítás törlése |
Csak csomagolt elrendezés esetén legyen engedélyezve. |
always |
Bármilyen elrendezéshez engedélyezhető, beleértve az indítás előtt üzembe helyezni kívánt laza elrendezést is. |
never |
Tiltsa le a csomagolt alkalmazásindítót. |
A csomag-SID-hitelesítés felülbírálásához használható TESTINGPLATFORM_PACKAGEDAPP_PIPEAUTHORIZATION :
| Érték | Viselkedés |
|---|---|
auto vagy nincs beállítva |
Csak akkor engedélyezze a csomag SID-címét, ha a jegyzék egy AppContainer-alkalmazást deklarál. |
always |
Csomag-SID-engedélyezés kérése bármilyen csomagolt elrendezéshez. |
never |
Tartsa meg a csak az aktuális felhasználóra érvényes csőengedélyt. |
A bővítmény manuális regisztrálása
Ha nem használ automatikus MSBuild-regisztrációt, regisztrálja a bővítményt az MTP-szerkesztőben:
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddPackagedAppDeployment();
Ne hívjon AddPackagedAppDeployment , ha az alkalmazás már meghívja AddSelfRegisteredExtensions és hivatkozik a csomagra. Egy MTP-futtatás legfeljebb egy tesztgazda-indítót regisztrálhat.