2013-10-16 69 views
1

我使用Selenium來測試Web應用程序。使用硒驗證Outlook打開

我想測試「發送電子郵件」按鈕。

當我在屏幕上選擇一些文字,然後點擊按鈕,它會打開 了與所選文本作爲電子郵件的消息Outlook郵件。

如何驗證Outlook已打開並且郵件中包含該文本以及如何在測試完成後關閉Outlook?

+0

硒捕捉串自動化的Web應用程序,沒有別的,所以這是可能的,但不使用硒。電子郵件是否在發送之前存儲?在中,存儲在數據庫中?您能否將電子郵件發送到更容易的地方去,例如Gmail或雅虎?你有沒有搜索過什麼API和庫,以幫助你的語言自動化Outlook? – Arran

+0

EMail不存儲。它打開Outlook電子郵件,我們必須手動點擊發送發送它。無論如何,我想知道它是否會與硒工作。謝謝。 – RSM

+0

如果您使用的是Outlook WebApp,那麼很簡單。將您想要的文本存儲爲一個變量,以獲取您想要的文本。點擊撰寫按鈕,並設置任何變量的setText。 – sircapsalot

回答

1

您可以藉助Java。能寫這樣的方法...... Evalue的是,你從WebElement使用getText()

public static String getClipboard(String Evalue) 
     throws InterruptedException, AWTException { 

    Robot robot = new Robot(); 

    Thread.sleep(30000); 
    robot.keyPress(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_A); 
    robot.keyRelease(KeyEvent.VK_A); 
    robot.keyRelease(KeyEvent.VK_CONTROL); 
    Thread.sleep(30000); 
    robot.keyPress(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_C); 
    robot.keyRelease(KeyEvent.VK_C); 
    robot.keyRelease(KeyEvent.VK_CONTROL); 
    Thread.sleep(30000); 

    Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard() 
      .getContents(null); 
    try { 
     if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { 
      String wintext = (String) t 
        .getTransferData(DataFlavor.stringFlavor); 

     System.out.println("wintext" + wintext); 

      if ("".equalsIgnoreCase(wintext.trim())) { 
       System.out.println("text is identical"); 

      } else { 
       System.out.println("text is identical"); 
       System.out.println(wintext); 
      } 
      // return text.trim(); 
     } 
    } catch (Exception e) { 
    } 
}