Die Lösung für Ihre Frage wäre die erzeugte Zeichenfolge in einer Klassenstufe Variablen zu speichern (Feld). Beispiel: private String generatedString
auf Klassenebene und Einstellung generatedString
in Ihrer Vorher-Methode.
Da jedoch alles, was Sie in Ihrer Vorher-Methode tun, eine zufällige Zeichenfolge generiert, wäre es sinnvoller, wenn Ihre zufällige Erzeugungsmethode eine normale Methode wäre, die von jedem beliebigen Ort in der Klasse aufgerufen werden kann.
@Test(priority = 1)
public void registration() throws Exception {
String randomString = generateRandomString();
driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[2]/UIATextField[1]")).sendKeys("abc" + randomString);
}
public String generateRandomString() throws Exception {
//Generating Random Text
int leftLimit = 97;
int rightLimit = 122;
int targetStringLength = 3;
StringBuilder buffer = new StringBuilder(targetStringLength);
for (int i = 0; i < targetStringLength; i++) {
int randomLimitedInt = leftLimit + (int) (new Random().nextFloat() * (rightLimit - leftLimit));
buffer.append((char) randomLimitedInt);
}
String generatedString = buffer.toString();
System.out.println(generatedString);
return generatedString;
}
Ich sollte auch erwähnen, dass es viele gute Bibliotheken gibt, die Lösungen zum Generieren von zufälligen Strings haben. Apache RandomStringUtils
Klasse ist ein Beispiel.
EDIT: Als Antwort auf die Frage unten nur eine zufällige Zeichenfolge zu erzeugen:
private final static String RANDOM_STRING = generateRandomString();
@Test(priority = 1)
public void registration() throws Exception {
driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[2]/UIATextField[1]")).sendKeys("abc" + RANDOM_STRING);
}
public String generateRandomString() throws Exception {
//Generating Random Text
int leftLimit = 97;
int rightLimit = 122;
int targetStringLength = 3;
StringBuilder buffer = new StringBuilder(targetStringLength);
for (int i = 0; i < targetStringLength; i++) {
int randomLimitedInt = leftLimit + (int) (new Random().nextFloat() * (rightLimit - leftLimit));
buffer.append((char) randomLimitedInt);
}
String generatedString = buffer.toString();
System.out.println(generatedString);
return generatedString;
}
wenn ich eine neue Testmethode hinzufügen, wird es einen neuen zufälligen Text zu erzeugen ... Wie kann ich das gleiche verwenden Text, der zuerst generiert wird. –
@ArunKumar Ich habe meine Antwort aktualisiert, um dieselbe erzeugte Zeichenfolge wiederzuverwenden – user2272115
@ArunKumar hat diese Antwort für Sie funktioniert? Bitte akzeptieren Sie wenn ... – user2272115