Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Yük Testi'nde bir yük testine parametre olarak gizli bilgileri ve çevreleri geçirmeyi öğreneceksiniz. Apache JMeter veya Locust betiğini düzenlemek zorunda kalmadan yük testinin davranışını değiştirmek için parametreleri kullanabilirsiniz. Örneğin, bir web uygulamasını test etmek için, test betiğinizi birden çok ortamda yeniden kullanmak için uç nokta URL'sini parametre olarak belirtin. Ayrıca, test betiğinde hassas bilgileri sabit kodla yazmanız gerekmemesi için parametreleri de kullanabilirsiniz.
Azure Load Testing hizmeti iki parametre türünü destekler:
Gizli bilgiler: Hassas bilgiler içerir ve yük test motoruna güvenli bir şekilde aktarılır. Örneğin, gizli bilgiler, test betiğinde sabit kodlama yerine web hizmeti kimlik bilgilerini sağlar. Daha fazla bilgi için bkz. Gizli diziler kullanarak yük testlerini yapılandırma.
Ortam değişkenleri: Hassas olmayan bilgiler içerir ve yük testi altyapısında ortam değişkenleri olarak kullanılabilir. Örneğin, ortam değişkenleri uygulama uç noktası URL'sini yapılandırılabilir hale getirir. Daha fazla bilgi için bkz. Ortam değişkenleriyle yük testlerini yapılandırma.
Yeni bir test oluşturduğunuzda veya mevcut bir testi güncelleştirdiğinizde yük testi yapılandırmasında parametreleri belirtebilirsiniz. CI/CD iş akışınızda bir yük testi çalıştırırsanız, parametreleri yük testi yapılandırma dosyasında veya CI/CD iş akışı tanımında tanımlarsınız.
Önkoşullar
Aktif bir aboneliğe sahip bir Azure hesabı. Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
Azure yük testi kaynağı. Azure Yük Testi kaynağı oluşturmanız gerekiyorsa Yük testi oluşturma ve çalıştırma hızlı başlangıç kılavuzuna bakın.
Gizli bilgilerle yük testlerini yapılandırın
Bu bölümde, Azure Yük Testi'nde gizli bilgileri yük testi betiğinize aktarmayı öğreneceksiniz. Örneğin, API anahtarını yük testi yaptığınız bir web hizmeti uç noktasına iletmek için bir gizli kullanabilirsiniz. API anahtarını yapılandırmada depolamak veya betikte sabit kodlamak yerine, gizli anahtara erişimi sıkı bir şekilde denetlemek için gizli bir depoya kaydedebilirsiniz.
Azure Yük Testi, gizli bilgileri Azure Key Vault'ta depolamanıza olanak tanır. Alternatif olarak, yük testinizi ci/CD işlem hattında çalıştırdığınızda, Azure Pipelines veya GitHub Actions gibi CI/CD teknolojinizle ilişkili gizli dizi deposunu da kullanabilirsiniz.
Azure Load Testing ile gizli bilgileri kullanmak için aşağıdaki adımları izleyin:
- Gizli değeri gizli depoda (Azure Key Vault veya CI/CD gizli deposu) depolayın.
- Apache JMeter test betiğine bir gizli referansı aktarın.
- JMeter tabanlı testler için özel işlevi kullanarak Apache JMeter test betiğindeki
GetSecret
gizli dizi değerini kullanın. Çekirge tabanlı testler için ortam değişkenlerinden okuyarak gizli değeri kullanın.
Önemli
GetSecret
özel işlevini yalnızca JMeter test betiğinizi Azure Load Testing ile çalıştırdığınızda kullanabilirsiniz. Test betiğinizi yerel olarak çalıştırıyorsanız, test betiğinizi güncelleştirmeniz ve gizli dizi değerlerini farklı bir şekilde okumanız gerekir.
Yük testi sırlarını depolamak için Azure Key Vault'u kullanma
Azure Load Testing'te test betiğinize gizli dizi değerleri geçirmek için Azure Key Vault'ı kullanabilirsiniz. Azure Yük Testi yapılandırmasında gizli diziye bir başvuru eklersiniz. Ardından Azure Load Testing, test betiğindeki gizli değere erişmek için bu referansı kullanır.
Azure Key Vault'unuzdan gizli değeri almak için Azure Yükleme Testi'ne erişim izni vermeniz gerekir.
Uyarı
CI/CD işleminizin bir parçası olarak bir yük testi çalıştırırsanız, ilgili gizli dizi deposunu da kullanabilirsiniz. CI/CD gizli dizi depoyu kullanma bölümüne atlayın.
Azure Key Vault'ta gizli dizi oluşturma
Henüz yapmadıysanız, gizli değeri anahtar kasanıza ekleyin.
Önemli
Azure Key Vault'unuza erişimi bir güvenlik duvarı veya sanal ağ ile kısıtladıysanız, güvenilen Azure hizmetlerine erişim vermek için bu adımları izleyin.
Sırrınız için anahtar kasası gizli tanımlayıcısını alın. Yük testinizi yapılandırmak için bu gizli tanımlayıcıyı kullanırsınız.
Gizli dizi tanımlayıcısı, Azure Key Vault'taki gizli dizinin tam URI'sini oluşturur. İsteğe bağlı olarak, bir sürüm numarası da ekleyebilirsiniz. Örneğin,
https://myvault.vault.azure.net/secrets/mysecret/
veyahttps://myvault.vault.azure.net/secrets/mysecret/abcdef01-2345-6789-0abc-def012345678
.
Sır ekleyin yük testinize.
Yük testi yapılandırmasında gizli bilgiye referans verin.
Test betiğinde başvurduğunuz her gizli dizi için bir yük testi gizli dizisi parametresi tanımlarsınız. Parametre adı, test betiğinde kullandığınız gizli adla eşleşmelidir. Parametrenin değeri, anahtar kasasının güvenlik tanımlayıcısıdır.
Aşağıdakilerden birini yaparak gizli dizi parametrelerini belirtebilirsiniz:
Azure portalında yük testinizi seçin, Yapılandır'ı seçin, Parametreler sekmesini seçin ve ardından parametre ayrıntılarını girin.
BIR CI/CD iş akışı yapılandırıyor ve Azure Key Vault kullanıyorsanız, özelliğini kullanarak
secrets
YAML yapılandırma dosyasında bir gizli dizi belirtebilirsiniz. Söz dizimi hakkında daha fazla bilgi için Test yapılandırması YAML referansı'na bakınız.
Azure Load Testing'in Azure Key Vault'taki gizli bilgilerinize erişmek için kullandığı kimliği belirtin.
Kimlik, yük testi kaynağının sistem tarafından atanan kimliği veya kullanıcı tarafından atanan kimliklerden biri olabilir. Daha önce erişim izni vermiş olduğunuz kimliği kullandığınızdan emin olun.
Aşağıdakilerden birini uygulayarak anahtar kasası kimlik referansını belirtebilirsiniz:
Azure portalında yük testinizi seçin, Yapılandır'ı seçin, Parametreler sekmesini seçin ve ardından Key Vault başvuru kimliğini yapılandırın.
CI/CD iş akışını yapılandırıyor ve Azure Key Vault kullanıyorsanız yaml yapılandırma dosyasındaki başvuru kimliğini özelliğini kullanarak
keyVaultReferenceIdentity
belirtebilirsiniz. Söz dizimi hakkında daha fazla bilgi için Test yapılandırması YAML referansı'na bakınız.
Azure Key Vault'unuza erişim izni verme
Yük testi gizli dizilerini veya sertifikalarını Azure Key Vault'ta depoladığınızda, yük testi kaynağınız anahtar kasasına erişmek için yönetilen bir kimlik kullanır. Yönetilen kimlik yapılandırmasını yaptıktan sonra, yük testi kaynağının yönetilen kimliğine anahtar kasasındaki bu değerleri okuma izni vermeniz gerekir.
Azure Key Vault'unuzdan gizli dizileri veya sertifikaları okumak için Azure yük testi kaynağınıza izin vermek için:
Azure portalında Azure Key Vault kaynağınıza gidin.
Anahtar kasanız yoksa, bir anahtar kasası oluşturmak için Azure Key Vault Hızlı Başlangıç kılavuzundaki yönergeleri izleyin.
Sol bölmede Erişim İlkeleri'ni ve ardından + Oluştur'u seçin.
İzinler sekmesindeki Gizli izinler altında Al'ı ve ardından İleri'yi seçin.
Uyarı
Azure Load Testing, sertifikanın özel anahtarının kullanılabilir olduğundan emin olmak için sertifikaları gizli dizi olarak alır.
Sorumlu sekmesinde, yük testi kaynağı için yönetilen kimliği arayıp seçin ve ardından İleri'yi seçin.
Sistem tarafından atanan bir yönetilen kimlik kullanıyorsanız, yönetilen kimlik adı Azure yük testi kaynağınızla eşleşir.
İleri'yi yeniden seçin.
Testiniz çalıştırıldığında, yük testi kaynağınızla ilişkili yönetilen kimlik artık anahtar kasanızdan yük testinizin gizli dizilerini veya sertifikalarını okuyabilir.
Azure Key Vault'a bir gizli dizi eklediğinize ve yük testiniz için bir gizli dizi yapılandırdığınıza göre artık Apache JMeter'da gizli dizileri kullanma bölümüne geçebilirsiniz.
CI/CD gizli bilgi deposunu yük testi gizli bilgilerini kaydetmek için kullanın
CI/CD iş akışınızda Azure Yük Testi kullanıyorsanız, ilişkili gizli anahtar deposunu da kullanabilirsiniz. Örneğin, Azure Pipelines'daGitHub depo gizli dizilerini veya gizli dizi değişkenlerini kullanabilirsiniz.
Uyarı
Zaten bir anahtar kasası kullanıyorsanız, bunu yük testi gizli bilgilerini depolamak için de kullanabilirsiniz. Azure Key Vault kullanma bölümüne atlayın.
CI/CD gizli bilgiler deposunda gizli bilgileri kullanmak ve bunları CI/CD'deki yük testinize aktarmak için:
Henüz yoksa gizli değeri CI/CD gizli dizi deposuna ekleyin.
Azure Pipelines'da işlem hattını düzenleyebilir ve değişken ekleyebilirsiniz.
GitHub'da GitHub depo gizli dizilerini kullanabilirsiniz.
Uyarı
Değer olarak anahtarlar kasası gizli değer tanımlayıcısını değil, gerçek gizli değeri kullandığınızdan emin olun.
Gizli anahtarı, CI/CD iş akışındaki Load Testi görevine/eylemine giriş parametresi olarak geçirin.
Aşağıdaki YAML kod parçacığı, gizli bilgiyi Yük Testi GitHub eylemine geçirmeyi gösterir.
- name: 'Azure Load Testing' uses: azure/load-testing@v1 with: loadtestConfigFile: 'SampleApp.yaml' loadtestResource: 'MyTest' resourceGroup: 'loadtests-rg' secrets: | [ { "name": "appToken", "value": "${{ secrets.MY_SECRET }}" } ]
Aşağıdaki YAML kod parçacığı, gizli bilgiyi Azure Pipelines görevi'ne nasıl geçireceğinizi gösterir.
- task: AzureLoadTest@1 inputs: azureSubscription: 'MyAzureLoadTestingRG' loadTestConfigFile: 'SampleApp.yaml' loadTestResource: 'MyTest' resourceGroup: 'loadtests-rg' secrets: | [ { "name": "appToken", "value": "$(mySecret)" } ]
Önemli
Gizli giriş parametresinin adının Apache JMeter betiğinde kullanılan adla eşleşmesi gerekir.
CI/CD gizli anahtar deposunda bir gizli anahtar belirttiniz ve Azure Load Testing'e bir referans ilettiniz. Artık gizliyi Apache JMeter betiğinde kullanabilirsiniz.
Test betiğinde gizli dizileri kullanma
Ardından, test betiğini daha önce belirttiğiniz gizli diziyi kullanacak şekilde güncelleştirirsiniz.
İlk olarak, gizli değeri almak için kullanıcı tanımlı bir değişken oluşturursunuz. Ardından bu değişkeni testinizde kullanabilirsiniz (örneğin, BIR HTTP isteği üst bilgisinde API belirteci geçirmek için).
JMX dosyanızda kullanıcı tanımlı bir değişken oluşturun ve
GetSecret
özel işlevini kullanarak gizli dizi değerini ona atayın.GetSecret(<my-secret-name>)
işlevi, gizli adı bağımsız değişken olarak alır. Sonraki bir adımda yük testini yapılandırırken aynı adı kullanırsınız.Aşağıdaki görüntüde gösterildiği gibi Apache JMeter IDE kullanarak kullanıcı tanımlı değişkeni oluşturabilirsiniz:
Alternatif olarak, bu örnek kod parçacığında gösterildiği gibi JMX dosyasını doğrudan düzenleyebilirsiniz:
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="appToken" elementType="Argument"> <stringProp name="Argument.name">udv_appToken</stringProp> <stringProp name="Argument.value">${__GetSecret(appToken)}</stringProp> <stringProp name="Argument.desc">Value for x-secret header </stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </Arguments>
Test betiğinde kullanıcı tanımlı değişkene başvurun.
Betikteki değişkene başvurmak için
${}
söz dizimini kullanabilirsiniz. Aşağıdaki örnekte, http üst bilgisi ayarlamak içinudv_appToken
değişkenini kullanırsınız.<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">api-key</stringProp> <stringProp name="Header.value">${udv_appToken}</stringProp> </elementProp> </collectionProp> </HeaderManager>
Ortam değişkenleriyle yük testlerini yapılandırma
Bu bölümde, yük testinize parametreleri geçirmek için ortam değişkenlerini kullanacaksınız.
Ortam değişkenini kullanacak şekilde Apache JMeter betiğini güncelleştirin (örneğin, uygulama uç noktası konak adını yapılandırmak için).
Yük testini yapılandırın ve ortam değişkenini test betiğine geçirin.
Apache JMeter'da ortam değişkenlerini kullanma
Bu bölümde Apache JMeter betiğini, betik davranışını denetlemek için ortam değişkenlerini kullanacak şekilde güncelleştireceksiniz.
Önce ortam değişkenini okuyan kullanıcı tanımlı bir değişken tanımlarsınız ve ardından test yürütmesinde (örneğin, HTTP etki alanını güncelleştirmek için) bu değişkeni kullanabilirsiniz.
JMX dosyanızda kullanıcı tanımlı bir değişken oluşturun ve
System.getenv
işlevini kullanarak ortam değişkeninin değerini ona atayın.System.getenv("<my-variable-name>")
işlevi, bir ortam değişkeni adını argüman olarak alır. Yük testini yapılandırırken aynı adı kullanırsınız.Aşağıdaki görüntüde gösterildiği gibi Apache JMeter IDE kullanarak kullanıcı tanımlı bir değişken oluşturabilirsiniz:
Alternatif olarak, bu örnek kod parçacığında gösterildiği gibi JMX dosyasını doğrudan düzenleyebilirsiniz:
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="appToken" elementType="Argument"> <stringProp name="Argument.name">udv_webapp</stringProp> <stringProp name="Argument.value">${__BeanShell( System.getenv("webapp") )}</stringProp> <stringProp name="Argument.desc">Web app URL</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </Arguments>
Test betiğinde kullanıcı tanımlı değişkene başvurun.
Betikteki değişkene başvurmak için
${}
söz dizimini kullanabilirsiniz. Aşağıdaki örnekte, uygulama uç noktası URL'sini yapılandırmak içinudv_webapp
değişkenini kullanırsınız.<stringProp name="HTTPSampler.domain">${udv_webapp}</stringProp>
Azure Load Testing'te ortam değişkenlerini yapılandırma
Ortam değişkenlerini test betiğine geçirmek için yük testini Azure portalında, YAML test yapılandırma dosyasında veya doğrudan CI/CD iş akışında yapılandırabilirsiniz.
Önemli
Yük testi için ortam değişkenini tanımladığınızda, adı test betiğinde kullandığınız değişken adıyla eşleşmelidir.
Azure portalını kullanarak yük testi için bir ortam değişkeni belirtmek için aşağıdakileri yapın:
Test yapılandırması sayfasında Parametreler sekmesini seçin.
Ortam Değişkenleri bölümünde, Ad ve Değer ortam değişkenini girin ve Uygula'yı seçin.
Yük testinizi ci/CD iş akışında çalıştırırsanız, YAML test yapılandırma dosyasında ortam değişkenleri tanımlayabilirsiniz. Söz dizimi hakkında daha fazla bilgi için Test yapılandırması YAML referansı'na bakınız.
Alternatif olarak, CI/CD iş akışı tanımında ortam değişkenlerini doğrudan belirtebilirsiniz. Ortam değişkenlerini test betiğine geçirmek için Azure Yük Testi eylemi veya Azure Pipelines görevi için giriş parametrelerini kullanırsınız.
Aşağıdaki YAML kod parçacığı bir GitHub Actions örneğini gösterir:
- name: 'Azure Load Testing'
uses: azure/load-testing
with:
loadtestConfigFile: 'SampleApp.yaml'
loadtestResource: 'MyTest'
resourceGroup: 'loadtests-rg'
env: |
[
{
"name": "webapp",
"value": "myapplication.contoso.com"
}
]
Aşağıdaki YAML kod parçacığında bir Azure Pipelines örneği gösterilmektedir:
- task: AzureLoadTest@1
inputs:
azureSubscription: 'MyAzureLoadTestingRG'
loadTestConfigFile: 'SampleApp.yaml'
loadTestResource: 'MyTest'
resourceGroup: 'loadtests-rg'
env: |
[
{
"name": "webapp",
"value": "myapplication.contoso.com"
}
]
Sıkça Sorulan Sorular
Azure Load Testing hizmeti gizli değerlerimi depolar mı?
Hayır. Azure Load Testing hizmeti gizli bilgilerin değerlerini depolamaz. Key Vault gizli URI'sini kullandığınızda, hizmet yalnızca gizli URI'sini depolar ve her test çalıştırması için gizli değeri getirir. CI/CD iş akışında gizli anahtarların değerini sağlarsanız, gizli anahtar değerleri test çalıştırıldıktan sonra kullanılamaz. Her test çalıştırması için bu değerleri sağlarsınız.
YaML yapılandırma dosyamda ve CI/CD iş akışımda parametreler varsa ne olur?
Hem YAML yapılandırma dosyasında hem de Azure Yük Testi eyleminde veya Azure Pipelines görevinde bir parametre varsa, test çalıştırması için CI/CD iş akışındaki değer kullanılır.
Azure Yük Testi görevini veya eylemini kullanarak parametreleri geçirerek CI/CD iş akışımdan bir test oluşturdum ve çalıştırdım. Bu testi Azure portalından aynı parametrelerle çalıştırabilir miyim?
Parametrelerin değerleri CI/CD iş akışından geçirildiğinde depolanmaz. Testi Azure portalından çalıştırdığınızda parametre değerlerini yeniden sağlamanız gerekir. Eksik değerleri girmek için bir istem alırsınız. Gizli dizi değerleri için anahtar kasası gizli dizi URI'sini girersiniz. Test çalıştırması veya yeniden çalıştırma sayfasında girdiğiniz değerler yalnızca bu test çalıştırması için geçerlidir. Test düzeyinde değişiklik yapmak için Testi Yapılandır'a gidin ve parametre değerlerinizi girin.
İlgili içerik
- Güvenlikli uç noktaları yüklemek için gizli dizileri kullanın.
- CSV dosyalarını okuma hakkında daha fazla bilgi için bkz. Yük testlerinde CSV dosyalarını okuma.