2016-05-11 3 views
0

10 erstellt werden. Versuchen Sie den Beispielen here und here zu folgen, um sicherzustellen, dass das Verzeichnis, in das ich meine Ergebnisberichte einfüge, immer für einen bestimmten Benutzer vorhanden ist.Die lokale Windows-Verzeichnisstruktur kann nicht mit Selenium

new File(sampleFolder).mkdir(); 

Wo sample ist in der Eclipse-Debugger als zeigt "C: \ Benutzer \ Current \ Arbeitsplatz \ Automation_Framework // Berichte // output // TestCasesHtmlReports //"

und wird von der variablen bevölkerten definition

Aber wenn ich das Skript ausführen wird die Ordnerstruktur nicht erstellt, irgendwelche Ideen, was ich falsch mache? Muss ich Eclipse als Administrator ausführen?

+0

Sie sollten '//' zu '\\' in Windows ändern. – randominstanceOfLivingThing

+0

@SureshKoya ist es nicht "\"? Sie können auch mit dem absoluten Pfad 'C:/Benutzer/CurrentUser/workspace/Automation_Framework/Reports/output/TestCasesHtmlReports /' –

+0

erstellen Sie können nicht einfach einen einzelnen Backslash eingeben. Um einen umgekehrten Schrägstrich in den Pfad einzugeben, müssen Sie ihn mit einem anderen umgekehrten Schrägstrich verlassen. – randominstanceOfLivingThing

Antwort

0

Sie müssen zwei Änderungen vornehmen:

Änderung 1:

Sie sind falsch die Schrägstriche eingeben. Ich bin mir nicht sicher, wie das '//' geparst wird. Unter Windows wird das "\" in ein "\" aufgelöst, da der erste Backslash als Escape-Zeichen verwendet wird.

Sie können den Dateipfad auf eine Standardweise wie folgt zusammenstellen. File.separator ist plattformabhängiges Standardname-Trennzeichen als String. Für Fenster, es ist ‚\‘ und für Unix ist es ‚/‘

public static String sampleFolder = System.getProperty("user.dir") + File.separator + "Reports" + File.separator + "output" + File.separator+ "TestCasesHtmlReports"; 

Informationen über Java Separator in diesen thread.

ändern 2:

Sie müssen File.mkdirs verwenden statt File.mkdir

Das Problem mit der API ist Sie verwenden. File.mkdir Javadoc liest

public boolean mkdir()

Erstellt die von diesem abstrakten Pfadnamen angegebene Verzeichnis.

Returns:

wahr, wenn und nur wenn das Verzeichnis erstellt wurde; andernfalls false

File.mkdirs Javadoc liest

public boolean mkdirs()

Erstellt das Verzeichnis, das von diesem abstrakten Pfadnamen benannt, einschließlich aller notwendigen, aber nicht vorhandene übergeordnete Verzeichnisse. Beachten Sie, dass bei fehlgeschlagener Operation möglicherweise einige der erforderlichen übergeordneten Verzeichnisse erstellt wurden.

Returns:

wahr, wenn und nur wenn das Verzeichnis erstellt wurde, zusammen mit allen erforderlichen übergeordneten Verzeichnissen; false sonst

+0

@Caelaran, Hat es funktioniert? – randominstanceOfLivingThing

+0

Zurück zu diesem Thema, ich restrukturierte die Variable Initiator, um Ihre Probe oben zu spiegeln, immer noch keinen Pfad erstellt, irgendwelche Ideen? Der Pfad IS erscheint jetzt korrekt in der Eclipse-Ausgabe: C: \ Benutzer \ CurrentUser \ workspace \ Automation_Framework \ XSLT_Reports \ output \ TestCasesHtmlReports – Caelaran

+0

Oh für die Liebe von .... war mkdir() anstelle von mkdirs(). Arbeite jetzt und habe heute etwas gelernt (File.Separator), danke! – Caelaran

Verwandte Themen