2012-06-29 3 views
0

Я пишу кодированный ui тест, который должен действовать в папке, созданной каждую ночь. Способ, которым я хочу, чтобы он работал, заключается в том, что тест выберет самую новую папку.Как сделать кодированный тест пользовательского интерфейса для выбора новой папки в C#

Как мне это сделать? Утверждения?

Папка выбирается из диалогового окна папки, которое я открываю с помощью основного приложения. Имя папки затем помещается в текстовое поле основного приложения и сканируется для патчей.

//Expand 'Computer' -> 'network drive (X:)' -> 'great-granparent' -> 'granparent' -> 'parent' -> 'folder' tree item 
uIfolder_TreeItem.Expanded = this.Browse_For_FolderParams.UIfolder_TreeItemExpanded; 

Используя код nXu, я попытался это:

DirectoryInfo root = new DirectoryInfo(@"X:\great-granparent\granparent\parent"); 
     DirectoryInfo[] folders = root.GetDirectories(); 

     DirectoryInfo newest = folders[0]; 
     foreach (var dir in folders) 
     { 
      if (dir.CreationTime.CompareTo(newest.CreationTime) > 0) 
       newest = dir; 
     } 


     //Expand 'Computer' -> 'network drive (X:)' -> 'great-granparent' -> 'granparent' -> 'parent' -> 'folder' tree item 
     newest = this.Browse_For_FolderParams(newest); 

Конец кода

 DirectoryInfo root = new DirectoryInfo(@"X:\great-granparent\granparent\parent"); 
     DirectoryInfo[] folders = root.GetDirectories(); 

     DirectoryInfo newest = folders[0]; 
     foreach (var dir in folders) 
     { 
      if (dir.CreationTime.CompareTo(newest.CreationTime) > 0) 
       newest = dir; 
     } 


     uIfolder_TreeItem.SearchProperties["Name"] = newest.Name; 

     //Expand 'Computer' -> 'network drive (X:)' -> 'great-granparent' -> 'granparent' -> 'parent' -> 'folder' tree item 
     uIfolder_TreeItem.Expanded = this.Get_FolderParams.UIfolder_TreeItemExpanded; 

Спасибо за помощь :)

+1

Посмотрите на члене uIfolder_TreeItem. Вы хотите сделать что-то вроде 'uIfolder_TreeItem.SearchProperties [" Name "] = newest.Name' и исключить новейшие = this.Browse_For_FolderParams (новейшие); – mjohnsonengr

ответ

3

Используйте DirectoryInfo class, он имеет CreationTime, LastAccessTime и LastWriteTime. Например, чтобы выбрать последнюю созданную папку на C: \ корня, используйте следующий код:

DirectoryInfo root = new DirectoryInfo(@"C:\"); 
DirectoryInfo[] folders = root.GetDirectories(); 

DirectoryInfo max = folders[0]; 
foreach (var dir in folders) 
{ 
    if (dir.CreationTime.CompareTo(max.CreationTime) > 0) 
     max = dir; 
} 

// Last created directory is max 
+0

Где я должен помещать это в тест? – ELSheepO

+1

Если Coded UI Test тестирует приложение в этой новой папке, вы должны поместить его везде, где запускается тестируемое приложение. Например, у меня есть метод LaunchApp, и он будет содержать код nXu, за которым следует: 'ApplicationUnderTest testApplication = ApplicationUnderTest.Launch (exePath);' и используя max в коде nXu, вы можете построить строку exePath. – mjohnsonengr

+0

@ Vi3GameHkr Папка выбирается из диалогового окна папки, которое я открываю с помощью основного приложения. Папка из диалогового окна, а затем ее отсканировано основным приложением. Единственным шагом является то, что папка создается каждый день, а самая новая - для сканирования. Я обновлю свой вопрос – ELSheepO

Смежные вопросы