קביעת תצורה של סודות ומשתנה סביבה
למד כיצד להעביר סודות וסביבות כפרמטרים לבדיקת עומס ב- Azure Load Testing. באפשרותך להשתמש בפרמטרים כדי לשנות את אופן הפעולה של בדיקת טעינה מבלי לערוך את קובץ ה- Script של Apache JMeter. לדוגמה, כדי לבדוק יישום אינטרנט, ציין את כתובת ה- URL של נקודת הקצה כפלמטר כדי לעשות שימוש חוזר בקובץ ה- Script לבדיקה בסביבות מרובות. באפשרותך גם להשתמש בפרמטרים כדי להימנע מהשימוש בקוד קשיח של מידע רגיש בקובץ ה- Script לבדיקה של JMeter.
שירות Azure Load Testing תומך בשני סוגים של פרמטרים:
סודות: מכילים מידע רגיש ועברים באופן מאובטח למנגנון בדיקת העומס. לדוגמה, סודות מספקים אישורי שירות אינטרנט במקום קידוד קשיח שלהם בקובץ ה- Script לבדיקה.
סביבה: מכילים מידע שטויות וזמינים כמשתנה סביבה במנוע בדיקת העומס. לדוגמה, משתני סביבה הופכים את כתובת ה- URL של נקודת הקצה של היישום לניתנת להגדרה.
באפשרותך לציין פרמטרים בתצורה של בדיקת הטעינה בעת יצירת בדיקה חדשה או עדכון של בדיקה קיימת. אם אתה מפעיל בדיקת טעינה בזרימת העבודה של CI/CD, עליך להגדיר פרמטרים בקובץ התצורה של בדיקת הטעינה או בהגדרת זרימת העבודה של CI/CD.
קביעת תצורה של בדיקות עומס עם סודות
בסעיף זה, תלמד כיצד להעביר סודות ל- Script מבחן העומס שלך ב- Azure Load Testing. לדוגמה, ייתכן שתשתמש בסוד כדי להעביר את מפתח ה- API אל נקודת קצה של שירות אינטרנט שאתה טוען בדיקות. במקום לאחסן את מפתח ה- API בתצורה או בקידוד קשיח שלו בקובץ ה- Script, באפשרותך לשמור אותו במאגר סודי כדי לשלוט בגישה לסוד.
Azure Load Testing מאפשר לך לאחסן סודות ב- Azure Key Vault. לחלופין, בעת הפעלת בדיקת העומס בצינור CI/CD, באפשרותך גם להשתמש במאגר הסודי המשויך לטכנולוגית CI/CD שלך, כגון Azure Pipelines או GitHub Actions.
כדי להשתמש בסודות עם Azure Load Testing, עליך לבצע את השלבים הבאים:
- אחסן את הערך הסודי בחנות הסודית
- להעביר הפניה לסוד לתקרית מבחן Apache JMeter.
- השתמש בערך הסודי בקובץ Script הבדיקה של Apache JMeter באמצעות הפונקציה
GetSecret
אישית.
חשוב
באפשרותך להשתמש בפונקציה המותאמת GetSecret
בעת הפעלת קובץ Script לבדיקה של JMeter עם Azure Load Testing. אם אתה מפעיל את קובץ ה- Script לבדיקה באופן מקומי, עליך לעדכן את קובץ ה- Script לבדיקה ולקרוא ערכים סודיים בדרך אחרת.
השתמש בחנות סודית GitHub כדי לשמור סודות מבחן עומס
כדי להשתמש בסודות במאגר הסודי של CI/CD ולה להעביר אותם לבדיקת העומס שלך ב- CI/CD:
הוסף את הערך הסודי לחנות הסודית של פעולות GitHub.
ב- GitHub, באפשרותך להשתמש מאגר GitHub.
העברת הסוד פרמטר קלט למשימה/פעולה של בדיקת טעינה בזרימת העבודה CI/CD.
המקטע הבא של YAML מראה כיצד להעביר את הסוד לפעולה בדיקת טעינה של GitHub:
- 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 }}" } ]
חשוב
השם של פרמטר הקלט הסודי צריך להתאים לשם המשמש בקובץ ה- Script של Apache JMeter.
צוין סוד במאגר הסודי של CI/CD והעברת הפניה ל- Azure Load Testing. כעת באפשרותך להשתמש בסוד בקובץ ה- JMeter Apache.
השתמש סודות ב- Apache JMeter
לאחר מכן, תעדכן את קובץ ה- Script של Apache JMeter כדי להשתמש בסוד שציינת קודם לכן.
עליך ליצור תחילה משתנה המוגדר על-ידי המשתמש, המאוחזר את הערך הסודי. לאחר מכן, תוכל להשתמש במשתנה זה בבדיקה. לדוגמה, כדי להעביר אסימון API בכותרת בקשת HTTP.
צור משתנה המוגדר על-ידי המשתמש בקובץ JMX והקצה לו את הערך הסודי באמצעות
GetSecret
מותאמת אישית.הפונקציה
GetSecret(<my-secret-name>)
מקבלת את השם הסודי כארגומנט. השתמש בשם זה בעת קביעת התצורה של בדיקת הטעינה בשלב מאוחר יותר.באפשרותך ליצור את המשתנה המוגדר על-ידי המשתמש באמצעות Apache JMeter IDE, כפי שמוצג בתמונה הבאה:
לחלופין, באפשרותך לערוך ישירות את קובץ ה- JMX, כפי שמוצג במקטע קוד לדוגמה זה:
<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>
הפניה למשתנה המוגדר על-ידי המשתמש בקובץ ה- Script לבדיקה.
באפשרותך להשתמש בתחביר
${}
כדי להפנות למשתנה בקובץ ה- Script. בדוגמה הבאה, עליך להשתמש במשתנהudv_appToken
כדי להגדיר כותרת HTTP.<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>
קביעת תצורה של בדיקות טעינה עם משתני סביבה
במקטע זה, אתה משתמש במשתנה סביבה כדי להעביר פרמטרים לבדיקת העומס שלך.
עדכן את קובץ ה- Script של Apache JMeter כדי להשתמש במשתנה הסביבה. לדוגמה, כדי לקבוע את התצורה של שם המחשב המארח של נקודת הקצה של היישום.
קבע את התצורה של בדיקת העומס וה להעביר את משתנה הסביבה ל- Script לבדיקה.
שימוש במשתנה סביבה ב- Apache JMeter
במקטע זה, אתה מעדכן את קובץ ה- Script של Apache JMeter לשימוש במשתנה סביבה כדי לשלוט באופן הפעולה של קובץ ה- Script.
עליך להגדיר תחילה משתנה המוגדר על-ידי המשתמש שקרא את משתנה הסביבה ולאחר מכן להשתמש במשתנה זה בעת ביצוע הבדיקה. לדוגמה, כדי לעדכן את תחום HTTP.
צור משתנה המוגדר על-ידי המשתמש בקובץ JMX והקצה לו את הערך של משתנה הסביבה באמצעות
System.getenv
הסביבה.הפונקציה
System.getenv("<my-variable-name>")
מקבלת את שם משתנה הסביבה כארגומנט. השתמש בשם זה בעת קביעת התצורה של בדיקת הטעינה.באפשרותך ליצור משתנה המוגדר על-ידי המשתמש באמצעות Apache JMeter IDE, כפי שמוצג בתמונה הבאה:
לחלופין, באפשרותך לערוך ישירות את קובץ ה- JMX, כפי שמוצג במקטע קוד לדוגמה זה:
<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>
הפניה למשתנה המוגדר על-ידי המשתמש בקובץ ה- Script לבדיקה.
באפשרותך להשתמש בתחביר
${}
כדי להפנות למשתנה בקובץ ה- Script. בדוגמה הבאה, עליך להשתמש במשתנהudv_webapp
התצורה של כתובת ה- URL של נקודת הקצה של היישום.<stringProp name="HTTPSampler.domain">${udv_webapp}</stringProp>
קביעת תצורה של משתני סביבה ב- Azure Load Testing
כדי להעביר משתני סביבה ל- Script של Apache JMeter, באפשרותך לקבוע את התצורה של בדיקת הטעינה בפורטל Azure, בקובץ התצורה של בדיקת YAML או ישירות בזרימת העבודה של CI/CD.
המקטע הבא של YAML מציג דוגמה לפעולות GitHub:
- name: 'Azure Load Testing'
uses: azure/load-testing
with:
loadtestConfigFile: 'SampleApp.yaml'
loadtestResource: 'MyTest'
resourceGroup: 'loadtests-rg'
env: |
[
{
"name": "webapp",
"value": "myapplication.contoso.com"
}
]