Пытаясь автоматизировать тестирование WHQL, используя ОДИН И ЕДИНСТВЕННЫЙ документ, доступный по теме: http://www.microsoft.com/whdc/devtools/wdk/dtm/dtm_dsso.mspx
Я поиграл с примером кода и могу подключиться, перечислить устройства и т. Д. Оттуда ясоздал новый проект, класс .NET 2.0 C #:
using System;
using System.Reflection;
using System.IO;
using CookComputing.XmlRpc;
using Microsoft.DistributedAutomation.DeviceSelection;
using log4net;
class WhqlXmlRpcService : XmlRpcService
{
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public static DeviceScript deviceScript;
[XmlRpcMethod("connect")]
public Boolean Connect(String dtm)
{
Boolean retVal = false;
deviceScript = new DeviceScript();
try
{
deviceScript.ConnectToNamedDataStore(dtm);
retVal = true;
}
catch (Exception e)
{
Log.Debug("Error: " + e.Message);
}
return retVal;
}
}
Я использую XML-RPC.NET для создания сервера, размещенного на IIS (с использованием ASP.NET 2.0).DTM Studio устанавливается в C: \ Inetpub \ wwwroot \ xmlrpc \ bin, там же, где и цель моего класса, чтобы гарантировать отсутствие проблем с разрешением с дюжиной или около того .dll, на которую я ссылаюсь (в соответствии с инструкциями DSSOдок).Я попытался добавить необходимые библиотеки DSSO в GAC, чтобы избежать этого, но не у всех из них есть строгие имена.Таким образом, несмотря на то, что он может видеть все библиотеки, с которыми ему нужно скомпоноваться (а приложения Studio прекрасно работают в нестандартном месте), попытка .ConnectToNamedDatastore ("nameofDTM") по-прежнему приводит к следующему:
xmlrpclib.Fault: <Fault 0: 'Could not connect to the controller to retrieve information. Several issues can cause this error including missing or corrupt files from the installation, running the studio application from a folder other than the install folder, and running an application that accesses the scripting APIs from a folder other than the installation folder.'>
Я обращаюсь к API-интерфейсам сценариев из папки установки, так как это тот же каталог, что и мой веб-сервис .dll, и файлы не повреждены, потому что, если я вставлю .exe с примером кода DSSO втот же каталог, в котором я вижу, что он отлично подключается в отладчике.
Я нахожусь в конце этого пути и не смог найти полезного источника информации DTM / DSSO где-либо.
Кто-нибудь делал что-то подобное в прошлом или имел какой-либо успех в автоматизации своего тестирования WHQL?