Getting Installed App details on Mac

To get detailed info of installed app on Mac we can use following command in mac terminal,

mdls /Applications/Xcode.app

it will return very useful info about any installed app like in above command if I want to see the BundleId of Xcode app,

kMDItemAlternateNames          = (
    “Xcode.app”
)
kMDItemAppStoreCategory        = “Developer Tools”
kMDItemAppStoreCategoryType    = “public.app-category.developer-tools”
kMDItemCFBundleIdentifier      = “com.apple.dt.Xcode”
kMDItemContentCreationDate     = 2013-08-13 23:34:45 +0000
kMDItemContentModificationDate = 2013-08-13 23:34:45 +0000
kMDItemContentType             = “com.apple.application-bundle”
kMDItemContentTypeTree         = (
    “com.apple.application-bundle”,
    “com.apple.application”,
    “public.executable”,
    “com.apple.localizable-name-bundle”,
    “com.apple.bundle”,
    “public.directory”,
    “public.item”,
    “com.apple.package”
)
kMDItemCopyright               = “Copyright © 1999–2013 Apple Inc. All rights reserved.”
kMDItemDateAdded               = 2014-04-04 19:25:48 +0000
kMDItemDisplayName             = “Xcode”
kMDItemExecutableArchitectures = (
    “x86_64”
)
kMDItemFSContentChangeDate     = 2013-08-13 23:34:45 +0000
kMDItemFSCreationDate          = 2013-08-13 23:34:45 +0000
kMDItemFSCreatorCode           = “”
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 1
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = “Xcode.app”
kMDItemFSNodeCount             = 1
kMDItemFSOwnerGroupID          = 80
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 4368446595
kMDItemFSTypeCode              = “”
kMDItemKind                    = “Application”
kMDItemLanguages               = (
    English
)
kMDItemLastUsedDate            = 2014-05-26 07:16:26 +0000
kMDItemLogicalSize             = 4368446595

Selenium WebDriver – AdvanceUserInteractions API – Move and click on specific coordinates

Moving mouse over specific coordinates and clicking on it.

Actions vActions = new Actions(vDriver);
vActions.moveByOffset(16, 320);
vActions.click();
Action vClickAction = vActions.build();
vClickAction.perform();

  • Working on Desktop Browsers(mostly known) using Selenium WebDriver
  • Working on Mobile Browsers(ChromeDriver, SafariDriver) using Appium 

Selenium WebDriver : getSize() Vs getLocation()

In Selenium WebDriver getSize() and getLocation() methods are different:

getSize() : will return the “Dimension” object, from which we can get Height and Width of specific element
Dimension vDimesions = vDriver.findElement(By.id(“id“)).getSize();
System.out.println(“Height :” + vDimesions.height + ”Width : “+ vDimesions.width);

getLocation() : will return the “Point” object, from which we can get X and Y coordinates of specific element
Point vPoint=driver.findElement(By.id(“id”)).getLocation();

System.out.println(“X : “+ vPoint.x + “Y : “+ vPoint.y);

Swap two integers

public class Swapvalues {

public void swapInts(int x, int y)
{
System.out.println(“before X =”+x+”Y=”+y);
x = x + y;
y = x – y;
x = x – y;
System.out.println(“after X =”+x+”Y=”+y);
}

public static void main(String args[])
 {
Swapvalues vSwapvalues = new Swapvalues();
vSwapvalues.swapInts(7, 8);
 }
}

What is a branch? What is a fork

Branching and forking provide two ways of diverging from the main code line. Both Mercurial and Git have the concept of branches at the local level. A repository code branch, like a branch of a tree, remains part of the original repository.  The code that is branched (main trunk) and the branch know and rely on each other. Like a tree trunk’s branch, a code branch knows about the trunk (original code base) it originated from.

Fork is another way of saying clone or copy. The term fork (in programming) derives from an Unix system call that created a copy of an existing process. So unlike a branch, a fork is independent from the original repository. If the original repository is deleted, the fork remains. If you fork a repository you get that repository and all of its branches.
As DVCS hosting evolved, the term fork evolved. The Bitbucket software adds management to forks; forking a repository in Bitbucket has functionality you normally wouldn’t associate with a simple DVCS clone. For example, on Bitbucket, you can always see which repository the fork came from. This isn’t the case with a DVCS clone on your local system.

A comparison of branching and forking

Whether you use either branching or forking, and to what extent, depends on your working environment. There are lots of ways a team can work with and combine fork and branch functionality. Generally, for hosted systems, forks work well in situations where, as a repository admin:

  • You don’t want to manage user access on your repository.
  • You want fine-grain control over merging.
  • You expressly want to support independent branches.
  • You want to discard experiments and changes easily.

The Bitbucket team recommends branching for development teams on Bitbucket; We use a modified form of Vincent Driessen’s GitFlow technique.  Bitbucket branches are useful when:

  • You have a small group of programers who trust each other and are in close communication.
  • You are willing to give the development team write access to a repository.
  • You have a rapid iteration cycle.
Ultimately, though it is your choice – branch or fork – Bitbucket supports both.

Cloning a repository fork or branch

When you want to work on a project by updating its files or adding new files, you need to make a local clone of the remote Bitbucket repository onto your machine or local network. You do this using the Clone button from the Bitbucket repository.  If you forked a repository, you simply clone the fork.  If you branched a repository, you clone the repository and checkout the branch.

Error: “ENOENT”

Meanings:
It’s an abbreviation of Error NO ENTry, and can actually be used for more than files/directories.
Cause:
No such file or directory. This is a “file doesn’t exist” error for ordinary files that are referenced in contexts where they are expected to already exist.
source

Introducing Robotium Recorder

Introductory Words from Renas at linkedin
 
We are thrilled to announce the official release of our new product, Robotium Recorder. Robotium Recorder is significant in that anyone in a matter of minutes can create professional test cases, utilizing and taking full advantage of the Robotium framework. It is the result of 4 years of continuous feedback from the testing community and includes cool features like our unique ClickToAssert™ feature that we are certain you will love.

Robotium Tech, our new company, will drive both the development of the Robotium framework and Robotium Recorder going forward. We have a number of exciting ideas and products that we can’t wait to develop and share with you!

To try Robotium Recorder for free go to Robotium.com and follow the installation instructions.

http://www.robotium.com/

We look forward to and welcome any feedback!

Best,
Renas and the Robotium Tech team