2014-04-01 51 views
3

我正在尋找使用CasperJS/PhantomJS來自動化測試廣泛使用電子郵件作爲其過程的一部分的項目的測試,但當我需要檢查電子郵件的內容時,我不斷遇到問題自動的方式。用CasperJS或PhantomJS檢查電子郵件

這些工具能夠抓取HTTP版本的許多電子郵件服務,但保持測試以跟上對外部服務所做的UI更改並不是我想要做的。

Do CasperJS或PhantomJS是否有能力使用IMAP或POP3來檢索郵件,或者是否有更常見的解決方案?

+0

你得到的東西到底的工作?如果是這樣,你使用了哪些軟件包/方法? –

+0

我最終做了我想要避免的事情。我將CasperJS配置爲使用webmail應用程序自動點擊鏈接。不是很性感,但它工作得很好。 – Citricguy

+0

你最終使用了哪個webmail服務? Gmail似乎是最小化的類和id名稱和隨機模式之間的最差選項。謝謝。 – bikedorkseattle

回答

2
+0

但是......這些模塊仍然在PhantomJS環境中運行,對吧?那麼你是否有權訪問這些電子郵件處理模塊無疑使用的核心Node模塊? – nrabinowitz

+0

他們是否有任何教程或博客文章顯示如何執行此操作?(即使只是知道有人管理它,以及他們去的那些包中的哪一個,將會非常有幫助。) –

+0

@DarrenCook不是我知道的,我沒有親自嘗試過。 Citricguy可能會知道。 –

1

PhantomJS(以及擴展卡斯帕)是一個網絡瀏覽器 - 據我所知,它無法使用POP或IMAP。我首先想到的方法是使用單獨的系統進行測試自動化(至少對於需要驗證電子郵件的測試),例如使用Python,Ruby或Node.js,通過這些測試中的命令行調用Casper,然後使用單獨的工具來檢查和驗證電子郵件。

+0

PhantomJS是一款瀏覽器,但CasperJS是一款測試工具。有時候,最好的工具就是我們已經擁有的工具,儘管單獨的系統聽起來更好,但它可能並不值得。 –

1

你也可以使用一個開發SMTP服務器與Web界面像mailcatcher(紅寶石)或maildev(節點)。

他們還有一個rest api,它以比使用web界面更穩定的方式返回電子郵件。

我沒有測試它,但很快。

2

您好使用casperjs \ Phantomjs您可以導航和自動化,但是對於郵件處理,您必須使用nodejs nodemailer模塊。安裝nodejs後請嘗試以下命令。

npm install [email protected]

這將安裝nodemailer軟件包併發布可安裝郵件客戶端(如sendgrid sendmail),或者您可以使用nodemailer直接傳輸,但這可能會導致郵件傳遞延遲。

請檢查nodemailer腳本和使用運行腳本: 節點scriptname.js