コード化された UI テスト ビルダーを使用して記録されたアクションを作成し、ユーザー資格情報をログイン ウィンドウに入力しました。この最初の記録では、次のように、テスト メソッドで使用される Params オブジェクトの public フィールドに、暗号化されたパスワードがハード コーディングされています。
[GeneratedCode("Coded UITest Builder", "10.0.40219.1")]
public class StartOccUIParams
{
#region Fields
/// <summary>
/// Type 'username' in 'usernameBox' text box
/// </summary>
public string UIUsernameBoxEditText = "username";
/// <summary>
/// Type '{Tab}' in 'usernameBox' text box
/// </summary>
public string UIUsernameBoxEditSendKeys = "{Tab}";
/// <summary>
/// Type '********' in 'passwordBox' text box
/// </summary>
public string UIPasswordBoxEditSendKeys = "9927b9lJLxdZrqR1G+zHC2MA==";
#endregion
}
これはうまく機能しますが、失敗の条件をテストするには、CSV データ ソースからユーザー名とパスワードを取得する必要があります。質問は、CSV から取得したパスワードを、パスワード ボックスで使用できる暗号化された形式に変換するにはどうすればよいですか? 私は SecureString を見ましたが、暗号化された文字列を取得するための API を公開していません。これは正しい形式になるとは思えません。
var loginParams = UIMap.StartOccUiParams;
loginParams.UIUsernameBoxEditText = TestContext.DataRow["User"].ToString();
var password= TestContext.DataRow["Password"].ToString();
// how do I encrypt password to use below ?
loginParams.UIPasswordBoxEditSendKeys = "encrypted password";