以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  Wince技术讨论区  (http://sun4.cn/bbs/list.asp?boardid=9)
----  测试微软Wince的拷屏代码Code :)  (http://sun4.cn/bbs/dispbbs.asp?boardid=9&id=1382)

--  作者:wangxinxin
--  发布时间:2010-11-16 11:38:43
--  测试微软Wince的拷屏代码Code :)
#region By v-gayang for VisualDiff
        /// <summary>
        /// Alert This folder already contain a folder called folder name
        /// Clew InformationDo: you really want to replace the older folder with the new folder?
        /// </summary>
        /// <returns>LogResult.Pass on success</returns>
        [TestCaseAttribute("Verify the Beam and Send Menu items are enabled when a file is selected", Type = TestType.VisualDiff)]
        [MobileDevicesDescriptor ( Product = Products.SmartPhone) ]    
        public Log.LogResult VerifyFolderAndReplaceFolder()
        {
              Log.LogResult result = Log.LogResult.Pass;        

              Utils.GlobalLogger.AddComment("Go to my documents");
              FEAreaLib.Instance.GoToMyDocuments();

              //Navigate to the root directory
              Utils.GlobalLogger.AddComment("Go to the root directory");    
              FEAreaLib.Instance.GoUpOneDirectory();        

              // Add a new name "abc" folder
              this.GoToFolder(true);
              this.CreateNewFileFolder();

              //Navigate to the \\temp
              Utils.GlobalLogger.AddComment("Go to the root temp directory");    
              FEAreaLib.Instance.GoToMyDocuments();
              FEAreaLib.Instance.GoUpOneDirectory();
              FEAreaLib.Instance.ClickOn(tempPath);
             

              // Add a new name "abc" folder
              this.OpinionRepeatFolder(true);
              this.CreateNewFileFolder();

              // Copy one Folder
              string abc="abc";
              this.CopyFileOrFolder(abc);

              // Paste one Folder
              FEAreaLib.Instance.GoToMyDocuments();
              FEAreaLib.Instance.GoUpOneDirectory();
              this.PasteFileOrFolder();

              //snap for the Alert
              Utils.GlobalLogger.AddComment("snap for Register: Do you really want to replace the older folder with the new folder?");
              this.ssc.Capture("FileExplorer_PasteFolder_already_contain_Alert");
       
              return result;
        }
       
        /// <summary>
        /// Alert A File name "<name>" already exist.
        /// Replace the exiting file "date" and "time" with this one .
        /// </summary>
        /// <returns>LogResult.Pass on success</returns>
        [TestCaseAttribute("Verify Alert A File name \'name\' already exist.", Type = TestType.VisualDiff)]
        [MobileDevicesDescriptor ( Product = Products.SmartPhone) ]    
        public Log.LogResult VerifyFileAndReplaceFile()
        {
              Log.LogResult result = Log.LogResult.Pass;        

              Utils.GlobalLogger.AddComment("Go to my documents");
              FEAreaLib.Instance.GoToMyDocuments();

              //Navigate to the My Picture folder
              Utils.GlobalLogger.AddComment("Go to the My Picture folder");    
              FEAreaLib.Instance.GoToMyPictures();
             
   
              //Highlight the "flower" file
              Utils.GlobalLogger.AddComment("highlight the waterfall");
              FEAreaLib.Instance.KBNavigateTo("flower.jpg");

              // Copy a name "picture" file
              this.GoToFile(true);
              this.CopyFileOrFolder(this.picturePath + @"\\flower.jpg");

              // A layer of catalogues on carriage return
              Utils.GlobalLogger.AddComment("A layer of catalogues on carriage return ");    
              FEAreaLib.Instance.GoUpOneDirectory();
             

              // Paste a File
              Utils.GlobalLogger.AddComment("Paste a file");
              this.PasteFileOrFolder();
             

              //snap for the Alert or the first time
              Utils.GlobalLogger.AddComment("snap for Register: Paste a flower file Replace the exiting file <date> and <time>");    
              this.ssc.Capture("FileExplorer_PasteFile_or_the_first_time_Alert");


              // Paste a File
              Utils.GlobalLogger.AddComment("Paste an existing file ");
              this.PasteFileOrFolder();
             

              //snap for the Alert
              Utils.GlobalLogger.AddComment("snap for Register: Do you really want to replace the older file with the new file?");    
              this.ssc.Capture("FileExplorer_PasteFile_already_contain_date_and_time_Alert");    

              return result;
        }
        #endregion
        #endregion

    #region Private Data
    // Add any private data/vars used by your tests here.
        private VisualDiff.SnapShotCreator ssc=null;
    #endregion

    #region Utility Functions
    private void CleanFolder(string dir)
    {
        if(Directory.Exists(dir))
        {        
          Directory.Delete(dir, true);
        }    
        Directory.CreateDirectory(dir);
    }

    private void GoToTestFolder(bool clean)
    {
        if(clean)
        {
          CleanFolder(this.testPath);
        }
        FEAreaLib.Instance.GoToMyDocuments();
        FEAreaLib.Instance.ClickOn(testDirectory);
    }

        private void GoToFolder(bool clean)
        {
              if(clean)
              {
                  CleanFolder(this.folderPath);
              }
              FEAreaLib.Instance.GoToMyDocuments();
              FEAreaLib.Instance.GoUpOneDirectory();
//               FEAreaLib.Instance.ClickOn(abcDirectory);
        }
        private void OpinionRepeatFolder(bool clean)
        {
              if(clean)
              {
                  CleanFolder(this.tempPath);
              }
        }

        private void GoToFile(bool awardentityfile )
        {
              if(awardentityfile)
              {
                  this.CopyFileOrFolder(this.picturePath + @"\\flower.jpg");
              }
              else
              {
                  FileStream fs = System.IO.File.Create(this.picturePath + @"\\flower.jpg");
                  fs.Close();
                  this.CopyFileOrFolder(this.picturePath + @"\\flower.jpg");
              }
        }
        #region Create NewFile Folder
        /// <summary>
        /// Create NewFile Folder
        /// </summary>
        private void CreateNewFileFolder()
        {
              try
              {
                  //press sk2.menu
                  Utils.GlobalLogger.AddComment("Press SK2 Menu");
                  Mtk.Softkeys.Current.PressSoftKey(Mtk.Softkeys.SoftKey.Right);
             
                  // press 3 for edit
                  Utils.GlobalLogger.AddComment("press 3 for edit");
                  Mtk.Smartphone.KeyPad.Press(3);
                 
                  //press 6 for new folder
                  Utils.GlobalLogger.AddComment("press 6 for new folder");
                  Mtk.Smartphone.KeyPad.Press(6);
                 
                  //Press action button : Create New FileFolder
                  Utils.GlobalLogger.AddComment("Press action button Create New FileFolder");
                  Mtk.Smartphone.KeyPad.Press(Mtk.KeyPad.Key.Action);
       
                  //rename to New Folder
                  Utils.GlobalLogger.AddComment("rename to abc");
                  FEAreaLib.Instance.Rename("abc");
                 
                  //Press Action Button
                  Utils.GlobalLogger.AddComment("Press Action Button");
                  Mtk.Smartphone.KeyPad.Press(Mtk.KeyPad.Key.Action);
              }
              catch
              {
                  Utils.GlobalLogger.AddComment("Fail: Folder Create");
              }
              finally
              {
                  GC.Collect();
                  GC.WaitForPendingFinalizers();
              }
        }
        #endregion
        #region Copy a File or Folder
        /// <summary>
        /// Copy one Folder
        /// </summary>
        private void CopyFileOrFolder(string abc)
        {
              try
              {
                  //press sk2.menu
                  FEAreaLib.Instance.ClickOn(abc);
                  Utils.GlobalLogger.AddComment("Press SK2 Menu");
                  Mtk.Softkeys.Current.PressSoftKey(Mtk.Softkeys.SoftKey.Right);
             
                  // press 3 for edit
                  Utils.GlobalLogger.AddComment("press 3 for edit");
                  Mtk.Smartphone.KeyPad.Press(3);
                 
                  //press 2 for copy folder
                  Utils.GlobalLogger.AddComment("press 2 for new copy ");
                  Mtk.Smartphone.KeyPad.Press(Mtk.KeyPad.Key.D2);