2017-06-22 48 views
0

我的查詢需要一些很好的建議。實際上,我正在使用硒黃瓜爲我的集成環境編寫自動化測試套裝。當我輸入電子郵件地址並繼續完成該過程時,該電子郵件地址將存儲在數據庫中。所以,我不能在下一個場景中使用相同的地址,因爲它已經存儲在數據庫中,並且它說你已經是一個用戶。現在我在手動運行我的測試套裝之前更改電子郵件地址。這不是一個好方法,因爲我需要一套完整的自動化測試套裝。如何創建一個動態的方式來每次自動輸入新的電子郵件ID?每次在硒中更改電子郵件地址

回答

1

我們可以隨時使用隨機函數來生成一個電子郵件ID。下面的代碼可能會給你一些想法。

String userName = ""+(int)(Math.random()*Integer.MAX_VALUE); 
String emailID = "User"+userName+"@example.com"; 

注:我有意地使用了「用戶」爲前綴的用戶名,這樣的時間點後,我們就可以從數據庫中,如果需要刪除該郵件的ID開始「用戶」。

希望這可以幫助你。謝謝。

+0

看起來真的很有幫助。讓我試試這個,並會讓你知道。謝謝bro – faheem

+0

錯誤:(10,27)java:incompatible types:int無法轉換爲java.lang.String – faheem

+0

現在它工作嗎? @ user2357662 –

0

這可能是一個辦法:

首先:創建乾淨的數據庫測試的值複製

  1. 還原的數據庫,你有
  2. 副本部署應用程序
  3. 運行單元測試

因爲你恢復數據庫,任何變化由單元測試所取得的結果將被撤消。

+0

其實我不能恢復服務,因爲我得到的是真實服務器的響應而不是模擬。 – faheem

+0

@ user2357662然後,你應該去與Santhosh的答案。但是,您應該在與真實服務器不同的環境中運行測試,這樣您就可以在用戶體驗之前知道某件事情已經破裂。 –

+0

是的我有測試適合開發和測試環境,但在部署到生產之前,我需要完全(手動)測試集成環境。 – faheem

0

您可以使用下面的代碼。希望它能幫助你。

driver.findElement(By.id("id of the element").SendKeys("Automation_" + Number.Next(1, 1000).ToString() + "_" + driver.RandomString(4) + "@gmail.com")); 
+0

@ user2357662 - 有用嗎? – Kapil

0

我寫的文本文件中生成一個隨機的電子郵件並存儲隨機電子郵件的功能。現在,當登錄發生時,我要求我的代碼讀取具有電子郵件ID的文件,並將電子郵件存儲在一個變量中並將其傳遞爲send_keys(variable_name)

在這種情況下,我避免每次都調用random_email時間,並且由於文件每次都會被覆蓋,對於一個會話,你總是可以有一個隨機的電子郵件ID。

0

我會在輸入一個衆所周知的電子郵件地址之前清理數據庫。這將消除每次創建新電子郵件地址的問題,並將可預測性引入該過程。

故障排除具有隨機性的元素是我寧願避免幾乎任何代價的東西。

相關問題