问题描述
|
我想测试由Windows窗体形成的Windows应用程序。我决定使用库自动化元素。
问题是我不知道如何使用它。例如:如何用自动化元素处理文本框中的内容?
代码如下:
var processstartinfo = new processstartinfo(SATELITE_PATH);
var pSatelite = Process.Start(processstartinfo);
pSatelite.WaitForInputIdle();
Delay(2);
satelite = AutomationElement.RootElement.FindChildByProcessId(pSatelite.Id);
AutomationElement loginUser = satelite.FindDescendentByIdpath(new[] {\"frmlogin\",\"txtUserName\"});
我想在loginUser中写入User。我该怎么做?
真的感谢!
解决方法
使用ValuePattern:
var processStartInfo = new ProcessStartInfo(SATELITE_PATH);
var pSatelite = Process.Start(processStartInfo);
pSatelite.WaitForInputIdle();
Delay(2);
satelite = AutomationElement.RootElement.FindChildByProcessId(pSatelite.Id);
AutomationElement loginUser = satelite.FindDescendentByIdPath(new[] {\"frmLogin\",\"txtUserName\"});
if (loginUser != null)
{
ValuePattern valPattern = loginUser.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;
valPattern.SetValue(username);
}