2016-08-04 74 views
1

我正在尋找方法來生成字母串並生成文本來斷言它在硒webDriver。 我想用隨機名稱創建一個客戶。但是,我必須搜索新創建的客戶,然後單擊文本以輸入更多信息。如何創建一個隨機字母的字符串並獲取文本

+0

只是爲了字母表不是一個好主意。第一個錯誤是,當一個客戶有一個像「O'Mally」這樣的名字,這個名字有一個撇號,這個名字會破壞數據庫查詢,而這些數據庫查詢是通過連接而不是準備好的語句創建的。您應該生成具有特殊字符,外來字母等的名稱 - 並且使用隨機會使您的測試不可靠和冗長。 – RealSkeptic

+0

讓我澄清一下。你想生成一個隨機字符串用於客戶名稱嗎?什麼語言? –

+0

是的格雷格,你說得對! – Raj

回答

0

您可以生成隨機字母數字編號爲: -

import java.util.UUID; 

String uuid = UUID.randomUUID().toString(); 

//Now this uuid enter to your text box 
driver.findElement(By.id("text box id")).sendKeys(uuid); 
+0

超級!!!簡直超級!非常感謝! – Raj

+0

世界上的72835145-4551-4199-91e3-67652a729750如何等同於隨便的人的名字的體面表示?有了UUID,你會得到0-9, - 和a-f ......這甚至不是很好。我建議你看一下RealSkeptic的評論,並生成一個代表好的測試用例的名稱列表,並使用它們全部或從該列表中隨機選擇。 – JeffC

+0

@JeffC如果用戶只需要隨機生成的字符串用於測試目的,那麼這裏有什麼問題,爲什麼需要額外的努力,沒有必要。 –

3

您可以使用RandomStringUtils Apache的commonlang API。

// random string of length 8 composed of alphabetic characters 
String s = RandomStringUtils.randomAlphabetic(8); 

// random string of length 8 composed of alphabetic characters and numbers 
String s = RandomStringUtils.randomAlphanumeric(8); 

// random string of length 8 composed only of lettes a, b, and c 
String alphabet = "abc"; 
String s = RandomStringUtils.random(8, alphabet); 
+0

@ noscreename-非常感謝! – Raj

相關問題