Ich versuche, die im Webdriver-Test verwendeten Testdaten innerhalb einer Druckzeile in Java zu drucken
Ich muss mehrere Variablen, die in einer Klasse verwendet werden, innerhalb einer system.out.print
-Funktion (printf/println/was auch immer) drucken.
Können Sie mir helfen?
public String firstname;
public String lastname;
firstname = "First " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("firstname")).sendKeys(firstname);
lastname = "Last " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("lastname")).sendKeys(lastname);
Ich brauche diese in einer gedruckten Erklärung als:
Vorname: (der von mir verwendete Variablenwert)
Nachname: (der von mir verwendete Variablenwert)
Wenn Sie etwas wie unten verwenden, erhalten Sie das genaue Ergebnis.
Aber ich muss die Anzahl der printf
Zeilen reduzieren und einen effizienteren Weg verwenden.
System.out.printf("First Name: ", firstname);
System.out.printf("Last Name: ", lastname);
Vielen Dank!
Sie können es mit 1 printf
tun:
System.out.printf("First Name: %s\nLast Name: %s",firstname, lastname);
Oder versuchen Sie es mit:
System.out.println("First Name: " + firstname + " Last Name: "+ lastname +".");
Viel Glück!
System.out.println("First Name: " + firstname);
System.out.println("Last Name: " + lastname);
oder
System.out.println(String.format("First Name: %s", firstname));
System.out.println(String.format("Last Name: %s", lastname));
Sie können die Klasse Person
mit den Feldern firstName
und lastName
erstellen und die Methode toString()
definieren. Hier habe ich eine util-Methode erstellt, die die String-Darstellung eines Person
-Objekts zurückgibt.
Dies ist ein Beispiel
Main
public class Main {
public static void main(String[] args) {
Person person = generatePerson();
String personStr = personToString(person);
System.out.println(personStr);
}
private static Person generatePerson() {
String firstName = "firstName";//generateFirstName();
String lastName = "lastName";//generateLastName;
return new Person(firstName, lastName);
}
/*
You can even put this method into a separate util class.
*/
private static String personToString(Person person) {
return person.getFirstName() + "\n" + person.getLastName();
}
}
Person
public class Person {
private String firstName;
private String lastName;
//getters, setters, constructors.
}
Ich bevorzuge eine separate util-Methode gegenüber toString()
, da toString()
zum Debuggen verwendet wird. https://stackoverflow.com/a/3615741/4587961
Ich hatte Erfahrung beim Schreiben von Programmen mit vielen Ausgaben: HTML-Benutzeroberfläche, Excel- oder TXT-Datei, Konsole. Sie benötigen möglicherweise eine andere Objektdarstellung, daher habe ich eine util-Klasse erstellt, die abhängig von der Ausgabe einen String erstellt.
Angenommen, wir haben ein variables Datum, einen Monat und ein Jahr, dann können wir es so in Java schreiben.
int date=15,month=4,year=2016;
System.out.println(date+ "/"+month+"/"+year);
ausgabe davon wird wie folgt sein:
15/4/2016