System.ArgumentException:编码的字符串只能用于密码

本文关键字:用于 密码 字符串 ArgumentException 编码 System | 更新日期: 2023-09-27 18:33:48

我试图在WPF密码框中输入密码,但得到了

System.ArgumentException:编码的字符串只能用于 密码。

    /// <summary>
    /// Type '********' in text box
    /// </summary>
    public string UIItemEdit1SendKeys = "nAI/+1YbLXAzMC+MylAiumF+gga6bwns";

所以再一次尝试是

Playback.EncryptText("admin")

这给出了同样的例外。我正在使用VS 2013。似乎我正在做非常简单的事情,使用编码的 UI 测试生成器 - 记录器输入用户名和密码。我可以记录,但是在运行测试时,我得到了上述参数异常。

System.ArgumentException:编码的字符串只能用于密码

如果您尝试使用 sendkeys 方法来设置密码,您可能会收到此异常。

您的测试对象类型可能具有密码属性。当您使用编码文本设置此属性时,它将自动解密

// Refer to your Parameter 
uIPasswordEdit.Password = this.RecordedMethod1Params.UIPasswordEditPassword;
//Or Simply 
uIPasswordEdit.Password = "nAI/+1YbLXAzMC+MylAiumF+gga6bwns";

如果未看到 .密码属性,您应该具有 .text 属性。但是,请不要在那里使用加密字符串,您必须提供密码本身(请注意,您将在这里危及安全性)。它像下面这样,

//Use the Text Attribute
uIPasswordEdit.Text= "myActualPasswordHere";

如果没有任何效果,则发送密钥作为最后的手段

// Click the Password box to gain focus 
Mouse.Click(uIPasswordEdit);
Keyboard.SendKeys("myActualPasswordHere");