Можем ли мы автоматизировать удаленную машину с помощью автоматизации пользовательского интерфейса?

У меня есть код, который входит в rdp, но я не могу проверить ни один элемент:

using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Automation;
using System.Windows.Forms;
using OpenQA.Selenium.Interactions;


namespace AutoTest
{
    class RAAdmin
    {
        public void RuleTestExistingUserName()
        {
            var RDP = Process.Start("mstsc.exe");
            Thread.Sleep(3000);
            var _remoteRDP = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "Remote Desktop Connection"));
            AutomationElement rdpCombobox = AutomationElement.RootElement.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.ClassNameProperty, "ComboBox"));
            AutomationElement rdpTextBox = AutomationElement.RootElement.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.ClassNameProperty, "Edit"));
            TextPattern targetTextPattern =              rdpTextBox.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
            targetTextPattern.DocumentRange.Select();
            Thread.Sleep(3000);
            SendKeys.SendWait("xxx.xxx.xx.xx");
            rdpCombobox = AutomationElement.RootElement.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.ClassNameProperty, "ComboBox"));
            _remoteRDP = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "Remote Desktop Connection"));
            SendKeys.SendWait("{ENTER}");
//clicks on connect button of rdp window.  

Я могу войти в rdp, но не могу проверить элементы в окне удаленного компьютера. Пожалуйста, предлагайте мысли.


person M MANAS PRADHAN    schedule 24.02.2016    source источник
comment
Какая версия ОС на целевой машине (и на клиенте)? Я считаю, что RDP может пересылать запросы автоматизации пользовательского интерфейса в Windows 8 и более поздних версиях; но и клиент, и цель должны работать под управлением Windows 8 или выше.   -  person Eric Brown    schedule 10.03.2016
comment
ОС на обеих машинах виндовс 8.1, проверить элементы не могу   -  person M MANAS PRADHAN    schedule 12.03.2016
comment
Я ошибался. RDP не пересылает запросы автоматизации пользовательского интерфейса.   -  person Eric Brown    schedule 15.03.2016


Ответы (1)


RDP не перенаправляет запросы автоматизации пользовательского интерфейса на удаленный компьютер, поэтому вы не сможете обнаруживать или проверять элементы в окне удаленного компьютера.

person Eric Brown    schedule 14.03.2016