в их саппорт не обращаюсь, очень "порадовало" когда они думали две недели и из всех необходимых мне ответов получил только ссылку на SDK для моей версии :/
тестируется копирование на, условно говоря, флешку и с неё на пк. скрипт открывает папку с файлами для копирования, копирует нужную папку, закрывает все это, открывает флешку и имитирует нажатие ctrl+v, после чего я замеряю время копирования файлов. после этого я имитирую ctrl+a, ctrl+с, закрываю флешку, открываю папку на пк и копирую туда файлы с флешки с таким-же замером времени. в конце теста система приводится в изначальное состояние. скрипты были записаны через Record Script, после допилены напильником (дописаны дилеи, таймеры). в начале я написал и отладил копирование на флешку.
как показала практика, такой вариант Aliases.Explorer.wndTestCopying.SHELLDLL_DefView.DUIViewWndClassName.DirectUIHWND.CtrlNotifySink.FolderView обращения к алиасам оказался стабильнее чем тот который генерирует ТС во время записи.
пример функции, отвечающей за старт теста:
function CopyOneToFlash()
{
//открываются нужные папки
OpenFolderForCopyingToFlash();
//предполагается, что папка wndFilesToFlash уже открыта
Aliases.Explorer.wndFilesToFlash.SHELLDLL_DefView.DUIViewWndClassName.DirectUIHWND.CtrlNotifySink.FolderView.ClickItem("One", 0);
Aliases.Explorer.wndFilesToFlash.SHELLDLL_DefView.DUIViewWndClassName.DirectUIHWND.CtrlNotifySink.FolderView.Keys("^c");
Aliases.Explorer.wndFilesToFlash.Close();
//открываю папку в которую необходимо скопировать
CommonScripts.OpenFlashDisk();
//запускаю само копирование с таймером и логированием
CopyToFlashDisk();
}
//***
function CopyToFlashDisk()
{
Aliases.Explorer.wndCabinetWClass3.SHELLDLL_DefView.DUIViewWndClassName.DirectUIHWND.CtrlNotifySink.FolderView.Keys("^v");
CommonScripts.ListenCopyWindow();
Delay(2000);
}короче, оно работало и работало стабильно. пока я не добавил копирование с флешки на пк. вот эта функция запускает весь кейс//***
function StartCopyOne()
{
try
{
CommonScripts.OpenRootTestDataFolder();
ToFlash.CopyOneToFlash();
//ToPC.StartCopyFromFlashToPC();
CommonScripts.ClearFlashDisk();
CommonScripts.CloseFlashDisk();
}
catch (exception)
{
Log.Error("Error", exception.description);
}
}стоит раскомментировать ToPC.StartCopyFromFlashToPC() и тест валится. вот в этом методе, который при вызове из ToFlash.CopyOneToFlash() отлично срабатывает после чего папка закрываетсяfunction OpenRootTestDataFolder()
{
Aliases.Explorer.wndShell_TrayWnd.ReBarWindow32.ToolbarWindow32.ClickItem("Show Desktop", false);
Delay(1000);
Aliases.Explorer.wndWorkerW.SHELLDLL_DefView.FolderView.DblClickItem("My Computer", 0);
Delay(1000);
Aliases.Explorer.wndCabinetWClass.SHELLDLL_DefView.DUIViewWndClassName.DirectUIHWND.CtrlNotifySink.FolderView.DblClickItem("System (C:)", 0);
Delay(1000);
Aliases.Explorer.wndCabinetWClass.SHELLDLL_DefView.DUIViewWndClassName.DirectUIHWND.CtrlNotifySink.FolderView.DblClickItem("TestCopying", 0);
Delay(2000);
}

