编码的用户界面 - 以不同的用户身份启动浏览器 - 文本输入失败

时间:2013-08-20 20:54:58

标签: impersonation coded-ui-tests

我已经设置了一个编码的ui测试,其中文本被输入到html文本输入字段中。当我通过BrowserWindow.Launch(url)启动浏览器时,工作完全正常。

当我通过ApplicationUnderTest.Launch(psi)以不同的用户启动浏览器时,除了输入该文本外,一切正常。当在CUITe_HtmlEdit的SetText()中触发“this._control.Text = sText”行时,我可以看到文本的每个字母在输入字段中被写入3次,之后编码的ui失败并显示以下消息:< / p>

PlaybackFailureException:无法在控件上执行带有值“r”的文本的SetProperty。

显然,CUITe可以将文本写入控件,但不知道它已经完成了。我也尝试使用录制和编辑UI地图选项(即不使用CUITe),问题是相同的,因此不是CUITe问题。所有其他控件都可以正常工作(按钮,链接,下拉菜单)。

有人提出任何线索吗?

以下是以不同用户身份启动浏览器的代码:

var psi = new ProcessStartInfo
{
    UserName = userName,
    Password = pwSecure,
    Domain = "mydomain",
    FileName = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe",
    Arguments = url,
    LoadUserProfile = true,
    UseShellExecute = false
};

    ApplicationUnderTest.Launch(psi);

我正在使用IE9,而url(ProcessStartInfo.Arguments属性)是http://localhost:81/(在本地IIS 7.5上托管的站点)。

谢谢, 鲁迪

1 个答案:

答案 0 :(得分:0)

即使我的共享点应用程序遇到同样的问题,我也是如何摆脱它,而不是:

edit.Text="SomeContent"; 

试试这个:

Mouse.Click(edit) 
Keyboard.SendKeys("SomeContent") //and then use  to enter values else you can use 
System.Windows.Forms.SendKeys.SendWait("YourContent")