Skip to main content

Working with File Path Separators

Something I learned very recently. 


Have you ever written code which involved file path's? If yes then this post might be helpful...Even otherwise knowing something unknown or brushing up concepts known won't hurt - would they? :)


So here I go, I have my Selenium Scripts which might run on both Linux and Windows machines. I don't store my test files on a central location which can be accessed over the network/internet, so when my script runs on a Linux machine it would look locally on the linux file system for the test files. Same is the case when I run my tests on Windows. 


Here is what I used to do :) 


My Initial Approach: 


If ( Test_Running_On_Linux){

return System.getProperty("user.dir") + "/" + TestProperties.strFilePathPart1 + "/"+ TestProperties.strFilePathPart2;

}
else if(Test_Running_On_Windows){

return System.getProperty("user.dir") + "\\" + TestProperties.strFilePathPart1 + "\\"+ TestProperties.strFilePathPart2;

}


Now what if while forming that file path, I miss my slashes -- my whole test fails for a file separator? Not fair! 


So here is a better approach: 



If ( Test_Running_On_Linux){

return System.getProperty("user.dir") + File.separator + TestProperties.strFilePathPart1 + File.separator + TestProperties.strFilePathPart2;

}
else if(Test_Running_On_Windows){

return System.getProperty("user.dir") + File.separator + TestProperties.strFilePathPart1 + File.separator + TestProperties.strFilePathPart2;

}


Thus we handle file separators better!
For more information about File Object and Properties: Java File ObjectJava System Properties Tutorial 

Comments

Popular posts from this blog

wget error–“zsh: parse error near &”

There is no doubt that I prefer wget way over any other type of downloads… Syntax: wget <DOWNLOAD_URL>   If you get this error “ zsh: parse error near & ” then its probably because your download URL has a “&” so you should try giving your DOWNLOAD_URL in double quotes wget “<DOWNLOAD_URL>”   If you are trying to download from a site which needs you to give your credentials then you can try giving it this way wget --http-user=<UserName> --http-password=<Password> “<DOWNLOAD_URL>”   Hope this helps

How to Unpack a tar file on Windows?

On Windows: You can download a simple command line tool to do this. You can download the tool from here Usage can be found on the website but pasting it here too for convenience: C:\>TarTool.exe Usage : C:\>TarTool.exe sourceFile destinationDirectory C:\>TarTool.exe D:\sample.tar.gz ./ C:\>TarTool.exe sample.tgz temp C:\>TarTool.exe -x sample.tar temp TarTool 2.0 Beta supports bzip2 decompression for files with extensions like tar.bz2 and .bz2 . TarTool -xj sample.tar.bz2 temp or TarTool -j sample.bz2 Download TarTool 2.0 Beta from here Unpack a .txz file on Windows Use the 7zip tool  to unpack a .txz file on windows On Linux: You can use the bzip2 and tar combined to do this… for ex: bzip2 –cd <tar.bz_fileName> | tar –xvf - This will unpack the contents of the tar.bz file Happy Un-Tar-ing

How to check if my xpath is valid using firebug?

Yes, you can verify if your xpath is pointing to the right source on the web application under test using FireBug. Here is how:  Go to the Web Application under test We'll take Google for simplicity reasons Open FireBug -  Go to the Console   Console can also be seen at the bottom of the page, so don't worry they both are the same. They can be switched as follows:  Type in $x("Your xpath here") on the command line prompt as shown below: Hit Enter/Run You will get to see the element which was filtered out with your XPath expression