2012-06-29 37 views
0

我正在編寫一個編碼的ui測試,該測試是對每晚創建的文件夾起作用。我希望它的工作方式是測試將選擇最新的文件夾。如何使編碼的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(newest); – 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

如果編碼UI測試正在測試此新文件夾中的應用程序,則應將其放置在啓動測試應用程序的任何位置。例如,所以我有一個LaunchApp方法,它將包含nXu的代碼,其後包含: ApplicationUnderTest testApplication = ApplicationUnderTest.Launch(exePath);並在nXu的代碼中使用max,可以構建exePath字符串。 – mjohnsonengr

+0

@ Vi3GameHkr從我用主應用程序打開的文件夾對話框中選擇文件夾。該對話框中的文件夾,然後由主應用程序掃描。唯一不同的是,該文件夾是每天創建的,而最新的文件夾必須被掃描。我會更新我的問題 – ELSheepO

相關問題