עבודה עם סיסמאות ב–Coded UI Test

23/01/2013

קראתי היום כתבה של ערן רוסו – בעיה בהזנה שדה סיסמה דרך Coded UI Test ורציתי לחדד את הנושא עבורכם:

image

כאשר מקליטים בדיקה בעזרת Coded UI Test על אתר או אפליקציה שמשתמשת בפקד Password הסיסמה תישמר מוצפנת בקוד שנוצר.

public string UIPasswordEditPassword = "1U3nLUbO/llTew1#IBFZb1Vu6aDc/ggm";

אם נתבונן בקוד שנוצא על ידי Coded UI Test נוכל לראות את ההשמה של הסיסמה השמורה לשדה Password:

public void RecordedMethod1()
{
    #region Variable Declarations
    HtmlEdit uIUserNameEdit = this.UILoginWindowsInternetWindow.UILoginDocument.UIUserNameEdit;
    HtmlEdit uIPasswordEdit = this.UILoginWindowsInternetWindow.UILoginDocument.UIPasswordEdit;
    HtmlInputButton uILoginButton = this.UILoginWindowsInternetWindow.UILoginDocument.UIMainCustom.UILoginButton;
    #endregion

    // Type 'admin' in 'UserName' text box
    uIUserNameEdit.Text = this.RecordedMethod1Params.UIUserNameEditText;

    // Type '********' in 'Password' text box
    uIPasswordEdit.Password = this.RecordedMethod1Params.UIPasswordEditPassword;

    // Click 'Login' button
    Mouse.Click(uILoginButton, new Point(84, 20));
}

הסיבה שהערך מוזן ישירות לשדה Password ולא לשדה Text היא על מנת לשמור על סודיות ולא לחשוף את הסיסמה למי שמריץ את הבדיקה וכמובן לשמור על הסיסמה בעוד מובנים של אבטחת מידע.

במידה ואנחנו מעוניינים לשנות את הסיסמה אין סיבה להפוך את שדה Password לשדה Text אלא להשתמש באובייקט Playback שמאפשר הצפנה של הסיסמה ישירות לשדה Password.

uIPasswordEdit.Password = Playback.EncryptText("Unencrypted Password");

בברכה,

Add comment
facebook linkedin twitter email

Leave a Reply