Difference Between AndroidDrive, iOSDriver and AppiumDriver

The Differences are as Follows:

  • RemoteWebDriver: This driver class comes directly from the upstream Selenium project. This is a pretty generic driver where initialising the driver means making network requests to a Selenium hub to start a driver session. Since Appium operates on the client-server model, Appium uses this to initialise a driver session. However, directly using the RemoteWebDriver is not recommended since there are other drivers available that offer additional features or convenience functions.
  • AppiumDriver: This driver class inherits from the RemoteWebDriver class, but it adds in additional functions that are useful in the context of a mobile automation test through the Appium server.
  • AndroidDriver: This driver class inherits from AppiumDriver, but it adds in additional functions that are useful in the context of a mobile automation test on Android devices through Appium. Only use this driver class if you want to start a test on an Android device or Android emulator.
  • IOSDriver: This driver class inherits from AppiumDriver, but it adds in additional functions that are useful in the context of a mobile automation test on iOS devices through Appium. Only use this driver class if you want to start a test on an iOS device or iOS emulator.

As you can see, the drivers and their names tie in closely with what they do. When it comes to initializing a driver, only use the Android or IOS drivers.

Android Automation Setup on Windows/ MAC: Requirements

To Automate Android and iOS we will be using Appium. To set up the Appium server on your site you will need the following to be installed on Your Machine :

  1. JDK
  2. Android SDK
  3. Nodejs
  4. Eclipse
    • Download Eclipse
    • Unzip to get the Eclipse installer
    • Select Eclipse IDE for JAVE EE Developers
    • Note the installation location – /Users/[YourName]/eclipse/jee-neon in this case for MAC and C:Users[YourName]/eclipse/jee-neon in case of windows.
  5. Appium
    • Download Appium
    • If you are unable to open Appium – Go to system Preferences – Security and Privacy – You will see ” Appium” was blocked from opening because it is not from an identified developer warning and Open Anyway button – Click on the button to verify Appium and you will be able to launch Appium.
    • After wish you will be prompted to Authorise iOS simulator – click yes.
  6. Android Screen Monitor
  7. UIAutomatorViewer
    • For MAC:
      1. To Open UI AtuomatorViewer tool – Open Terminal
      2. Go to the Android Sdk tools location  – cd  /Users/[YourName]/Library/Android/sdk/tools
      3. type uiautomatorviewer – click Enter
    • For windows :
      1. Open Cmd prompt
      2. Go to Android tools location
      3. type uiautomatorviewer – Enter.

Biding Good Bye to 2016

As The year 2016 comes to an end in few hours I am happy to have accomplished all my resolutions even if there were Ups and Down’s. It has been a journey of happiness and self-reflection on the subjects that were not meeting my ideology. As this trip comes to an end, I am happy to have fought hard for what I deserve, apologized to the people whom I have done wrong, Letting go ego, because they matter to you and learned a lot about people and mainly on myself.

Realisations : 

  • Social Media is a curse, not a boon: Yes, Social media is a curse. You might share your moments for you to look back at them or you might use Social media to connect with people. But the majority of individuals out there are watching you, feeling jealous, and not happy to see you grow. Well, this leads to more negativity than to Positive Energy.
  • Socialize but don’t lose your identity: I met a lot of people in the last few years, and it was tough to fit into a group or feel one among them. I thought I was wired wrong or that to fit in you need to be like them which I never could be, You can never be someone who you are not. There is no reason to Fit in, in the end, I am back to loving my Solitude.
  • Remove Unlucky and Unhappy people from your life: These people only spread Unhappiness and get you drained emotionally even if you are trying to help them.
  • Don’t let people interfere in your personal Affairs : This is one of the Biggest realisation of 2016, I was able to reflect on the history and see that many friendships broke because of a 3rd person, no one is going to help you save a relationship they just say in words but they wish for the of that friendship out of jealousy or sometimes out of Selfishness – ” No one should get what I don’t have” Attitude.

With all these realizations’ I am now ready to start another year with loads of hope and strength to fight again! The only difference now is that I like me the way I am and I don’t need to feel I fit in!

Thank you 2016 for making me stronger, Welcome 2017 let’s do it 🙂

48 Laws of Power

Placeholder for the 48 laws of power:

  1. Never outshine the Master.
  2. Never put too much trust in friends, learn how to use enemies.
  3. Conceal your intentions.
  4. Always say less than necessary.
  5. So much depends on Reputation, Guard it with your life.
  6. Court attention at all cost.
  7. Get others do the work for you, but always take the credits.
  8. Make other people come to you, use BAIT if necessary.
  9. Win through your actions, never through arguments.
  10. Infection: Avoid the Unhappy and Unlucky.
  11. Learn to keep people dependent on you.
  12. Use selective honesty and generosity to disarm your victims.
  13. When asking for help, appeal to people’s self-interest, never to their mercy or gratitude.
  14. Pose as a friend. Work as a SPY.
  15. Crush your enemies totally.
  16. Use absence to increase respect and Honour.
  17. Keep Others in suspended terror: cultivate an Air of unpredictability.
  18. Do not build fortresses to protect yourself- Isolation is Dangerous.
  19. Know who you’re dealing with – Do not offend the wrong person.
  20. Do not Commit to anyone.
  21. Play a Sucker to catch a Sucker -Seem Dumber than your mark.
  22. use the surrender tactic: transform weakness into power.
  23. Concentrate your Forces.
  24. Play the perfect Courtier.
  25. Re-create yourself.
  26. Keep Your Hands clean.
  27. Play on People’s Need to Believe to create a cult-like following.
  28. Enter Action with boldness
  29. Plan all the way to the end.
  30. Make your Accomplishments seem effortless.
  31. Control the options: Get others to play with the cards you deal.
  32. Play to people’s Fantasies.
  33. Discover Each Man’s thumbscrew.
  34. Be royal in your own fashion: Act like a king to be treated like one.
  35. Master the art of timing.
  36. Disdain things you cannot have: Ignoring them is the best revenge.
  37. Create Compelling Spectacles.
  38. Think as you like but behave like others.
  39. Stir up waters to catch fish.
  40. Despise the free lunch.
  41. Avoid stepping into a Great Man’s Shoes.
  42. Strike the Shepherd and the Sheep will Scatter.
  43. Work on the Heart and Minds of others.
  44. Disarm and infuriate with the mirror effect.
  45. Preach the need for Change, but never Reform too much at once.
  46. Never appear too perfect.
  47. Do not go Past the Mark you Aimed for, in Victory learn “When to Stop”.
  48. Assume Formlessness.

Android Automation Framework Development

I have been lately exploring “Appium framework” and trying to explore its uses and working. Usually I have a habit of making notes of what ever I learn, this time I wanted to try something new by helping other by sharing my experience on the same.

What will be covered in this column :

  1. Basics of Android Automation – Linear programming
  2. Creating projects in Maven
  3. Developing Automation framework
  4. using ANT
  5. Linking with Jenkins

Things to note:

  • All blogs related to Appium will be available under the tag “Appium
  • I will not be covering the Framework Architecture as there are already many sites available for the same.
  • I will be covering the installation procedure for MAC
  • I will also be covering the issues that I come across during this learning period along with those that I come across during my implementations.
  • If you need more information you can always Write to me at charitha.krishnappa@gmail.com.

 

Setting JAVA_HOME PATH on MAC

  1. Open Terminal
  2. Confirm you have JDK by typing “which java”. It should show something like /usr/bin/java.
  3. Check you have the needed version of Java, by typing “java -version”.
    • JAVA_HOME is essentially the full path of the directory that contains a sub-directory named bin which in turn contains the java
    • For Mac OSX – it is /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
  4. Set JAVA_HOME using this command in Terminal:
    • export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.
      jdk/Contents/Home
    • export PATH=$PATH:$JAVA_HOME
  5. Lastly apply these changes by re-sourcing .bash_profile:
    • source ~/.bash_profile
  6. To verify if the PATH is set right :
    1. Open Terminal and Type : $JAVA_HOME/bin/java -version
    2. Should give output something as below :

java version “1.8.0_112”
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
Abc-MacBook-Pro:~ Abc$ java version “1.8.0_112”

Setting ANDROID_HOME PATH on MAC

Where the Android-SDK is installed depends on how you installed it.

  1. If you downloaded the SDK through their website and then dragged/dropped the Application to your Applications folder, it’s most likely here:

    /Applications/ADT/sdk (as it is in your case).

  2. If you installed the SDK using Homebrew (brew install android-sdk), then it’s located here:

    /usr/local/Cellar/android-sdk/{YOUR_SDK_VERSION_NUMBER}

  3. If the SDK was installed automatically as part of Android Studio then it’s located here:

    /Users/{YOUR_USER_NAME}/Library/Android/sdk

Once you know the location, open a terminal window and enter the following (changing out the path to the SDK to be however you installed it):

export ANDROID_HOME={YOUR_PATH}

Once you have this set, you need to add this to the PATH environment variable:

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Lastly apply these changes by re-sourcing .bash_profile:

source ~/.bash_profile

The Laws of Love: Creating the relationship of your dream

There is only one happiness in life, to love and to be loved- George Sand

As the quotation goes, life is all about giving and receiving love. We work hard, make living and in the end, all that we need is love to survive. The reality is that the quality of your relationships depends mainly on one thing: YOU. In order to create the right relationship or start a fresh relationship, one has to throw the baggage out, yes every individual comes with a baggage and one cannot create a new relationship carrying the past on his back. Every relationship is a new journey, you cannot compare it to the previous one or to your friends. Good relationships are not an accident, they are built with patience and persistence.

Sometimes we may meet a person who we believe is right for us, yet because of what we’ve learned about relationships and who we’ve become over the years, we ruin the opportunity and what might have been a great relationship with the right person becomes another sad ending. The kind of person you are at every moment is primarily responsible for the status of your relationship or your lack of relationship.

The world of deep, loving, rewarding, comforting relationships is a unique world, a world that very few inhabit. The most useful piece of learning for the uses of life is to unlearn what is untrue.

This book rightly explains the 14 laws of love that one has to follow in any relationship:

  1. Universal law controls everything.
  2. Everything is a state of constant change
  3. Your philosophy determines the quality of your relationship
  4. Relationship only thrives in a safe space
  5. A successful relationship requires the light from the past.
  6. The universe is perfect and is always working to benefit you.
  7. Your relationship will provide you what you need.
  8. If you would be loved, love yourself
  9. The happiness you seek can only come from within you
  10. Your relationship will endure when you make it your primary priority
  11. Harmony strengthens; disharmony weakens
  12. An ideal relationship can only exist within complete trust
  13. Every action produces a result. That is in exact accord with the action.
  14. You are the author of every next moment.

The author nicely explains each law with examples and also helps you understand why things are not working with your parents or partners or even friends. In the end its all about loving and being loved.

Mark Zuckerberg: 50 Life and Business Lessons

Previously I had already read the Book on Steve jobs which made me curious to read the 50 lessons from Steve Jobs life, this in turn inspired me to read lessons from Mark’s life. I would prefer to read the complete Biography but due to time crunch I started reading this book to pick the high lights.

I hope you already visited the 50 lessons from Steve Jobs blog, this one is similar but from Mark Zuckerberg’s biography. Like I already said this book is recommended for those who have no time to read the complete Biography. It clearly summarises the biography which is a must read.

5o Lessons are as follows:

  1. Childhood  & Education
    1. A commitment to education, from an early age, stands you in good stead in later life. It need not be a formal, academic education, but you should insist in your children, and in yourself, a love of learning as early as possible
    2. Don’t ever be embarrassed about being smart, or about having a diverse range of interests. Bulling the geek is something for the school yard only; in the adult world, you do need to be modest, but not falsely so.
    3. It is never too soon to discover your passion and start developing your ideas. Encourage those around you, whatever their age, and do not dissuade yourself from trying something new because you think you are too young or too old.
    4. The network of people around you has a significant impact on the likelihood that your projects will succeed. If you can connect yourself with intelligent, driven individuals, you will be more motivated to succeed.
    5. A formal education at a university will not suit everyone. Be open to new ways of learning, gaining skills and qualifications.
  2. Facebook
    1. Spend time experimenting with your ideas so that you hone your skills. Your first project probably won’t be success, and it may well be that  you have to test out a dozen or more ideas until you find something which is technically workable and commercially viable.
    2. You need to be excited about what you create. If an idea doesn’t thrill you, it won’t thrill anyone else either, so there is little point in pursuing it.
    3. Be aware of security and privacy laws. Ignorance is no defence in court, and you might well find yourself in hot water if you breach such regulations. Zuckerberg got away with it by luck; you are unlikely to be so fortunate.
    4. Be prepared to rework you ideas. If something isn’t working out quite the way that you planned, have a plan B up your sleeve so that your early efforts aren’t wasted.
    5. The very best ideas are simple. you don’t need a great deal of infrastructure or money to develop them, just time and effort.
    6. Poll your friends and other contacts about your ideas. Make use of your collective brain power, and test out your ideas in real-life market research.
    7. Be very careful who you talk to, and who you work with, during the early stage of your projects. Keep a paper trail (email is fine) so that it is clear who the copyright belongs to, and thus who might be entitled to benefit from it in the future.
    8. Launch your products in a market you understand. It will increase your chances of success, and you can always use them as a platform from which to expand into less familiar markets at a later date.
    9. Even if you are the person with the original idea, you don’t have to develop it alone, and should avoid even trying to do so. Identify your own weaknesses or shortcomings, and recruit a team around you who compensates for those gaps in your own capacity.
    10. Exclusivity is a powerful marketing tool as you can create demand for a product before it is even available. Then, once people can finally buy into you idea, or sign up for your product, they will be far more likely to do so.
    11. Even digital business need to have a physical home. Find somewhere where you will have a lot of support, professional and technical as well as financial, and which is accessible to potential investors and clients.
    12. A company cannot grow without money, either from income that it has generated, or from investors. The advantage of seeking funding from venture capitalists is that they bring their expertise and connections to the table, as well as cash, and have a vested interest in seeing your company succeed.
    13. Every company must have an exit strategy – its the way you and your investors recoup your investment – but you do not have to disclose it to others and it is often beneficial to hold that plan close to your chest.
    14. A company has to make a profit: that is its purpose. If you don’t intend to generate a profit, you should look at other models, such as not-for-profit (or charity)
    15. If you are unsure about how to develop your income streams, or even what those streams should be, ask for expert advice.
    16. You do not need to build every aspect of your company from scratch. It is perfectly possible – and often advisable  – to buy in expertise or capacity.
    17. Only buy into other companies which enhance your core offering, or prevent your competitors increasing their share in the marketplace.
    18. If you see a company which has significant growth potential, and is cash generative, think seriously about adding it to your portfolio. It will probably be a sound decision.
    19. Communications are key to everyday life, and any idea which can piggyback on that in an intuitive, but unobtrusive, way is worth exploring.
    20. Even if you think that something you have done, or plan to do, is a good idea, you need to be able to explain it in cohesive, convincing way to other people.
    21. Bide your time. IF you understand what people want, you can whet their appetite, and allow it to build over time, until you are ready to deliver and they will pay the best possible price.
    22. You need to strike a careful balance between being yourself, and doing what investors and customers expect. Investors tend to be naturally conservative, and easily put off by eccentricities.
    23. You can make predictions about how your company will fare based on the performance of other similar companies, though this is by no means a fail-safe strategy.
    24. Even fairly standard financial transactions can appear exciting if marketed in the right way
    25. you can’t control everything, and there will be multiple factors outside of your control which affects how your business fares. Be prepared to be pleasantly surprised on some occasions, and sorely disappointed on others.
    26. You need to be in business for the long haul. Any company can increase or decrease dramatically in value in the short term, but on the whole a well managed company with a steady stream of quality products will grow and make money over time.
    27. Be prepared for people you have worked with in the past to turn against you when you start to taste success. Their jealousy can be your downfall, so protect yourself accordingly.
    28. When you win, be gracious and humble. People will have far more respect for you as a result.
    29. Treaties you work with fairly. Not only is it right thing, morally speaking, to do, but if you breach their trust and abuse them, it might well come back to haunt you in the future.
    30. Legal cases can be expensive, and even if they don’t upset your firm financially, they do no good for your reputation in public eye.
    31. The ethics of research is a mine field. take advice on what you are doing, and if you think that you might be starting into grey waters, take a step back and think carefully what the repercussions might be.
  3. Internet.org
    1. If you achieve a position of dominance in any given market, you can leverage that position to bring onboard partners to help you achieve more than you would be capable of doing alone.
    2. No idea is without flaws. Be prepared to take criticism and adapt your idea accordingly.
    3. You need to tread carefully with regulatory bodies, carefully researching their remit, and building relationships with their decision makers. Doing so will increase your chances of survival in what can otherwise be hostile waters.
    4. When you do good, you can also earn benefits for yourself.
  4. Awards and Accolades
    1. You will only be considered truly successful if you recognised outside of your specific sector, & gain general acclaim.
    2. Be prepared to laugh at yourself. Popular culture creates heroes and villains, and if you are game for laugh, you are more likely to be considered as one of the former.
  5. Philanthropy
    1. Although you shouldn’t boast about your generosity, there is no need to hide it either. By giving in a responsible way, you can inspire others to do likewise.
    2. If you make money, you have a responsibility to give back to the community which has helped you succeed. and to do so in an as effective manner as possible.
    3. Consider the fact that changes in your personal and professional life can significantly alter your outlook on life. Be flexible, and if need be, change the course of your actions accordingly.
    4. Put your money and your influence behind issues you really care about. Be passionate about your giving, and you will be more likely to have a quantifiable, sustainable, and beneficial impact.
  6. Political Involvement 
    1. There is no shame in being a pragmatist. As a company director, you are legally obliged to do your best for the company and its shareholders, and this might well involve lobbying, or campaigning for, different political groups.
    2. Be open about the issues which are important to you, and use your platform to advocate change.
  7. Personal Life
    1. Find a partner, in life as well in business, who is your equal, intellectually speaking, and shares your values. This will create the richest kind of relationship.
    2. Personal loss can happen to any of us, however much money we have. Be sensitive to those be prepared to ask for help from others when you need it.

This book is really good for new entrepreneurs, and for those planning to start a business.

 

Steve Jobs: 50 Life and Business Lessons

The book summarises the Biography of Steve jobs, it neatly organises the lessons one can learn from  Steve jobs. This book is divided into 5 parts of Steve Jobs life, and the key take aways from each part is as follows:

  1. A Genius is born:
    1. Your Start in life is not what is more important: it is where you end up that counts
    2. Don’t be afraid to speak the truth
    3. Practical skills and hard work underpin achievement
    4. Personal relationships are vital to success
    5. Nothing is beneath you when you are starting out
    6. Know yourself
    7. Be open to new ideas and experiences
    8. Keep abreast of new technologies
  2. The Birth of Apple:
    1. The only way to do great work is to love what you do.
    2. Know you own strengths and those of people around you
    3. Be prepared to take a gamble
    4. choose your investors wisely as they can offer more than just funding
    5. Be innovative
    6. Compatibility with related products, current and future, is important.
    7. Be generous to all your stakeholders. You can achieve success and wealth together.
    8. Surround your self with brilliance
    9. Build and sell great products that you believe in
    10. Be persistent. Be Persuasive
    11. People who are serious about software should build their own Hardware.
    12. Stay Hungry, Stay foolish.
  3. The Next Step:
    1. Look critically at yourself, know your mistakes, and work hard to fix them. No one else is going to do this for you.
    2. Don’t be afraid to be a beginner again. There is a Phrase in Buddhism ‘Beginners Mind’ It’s wonderful to have a Beginners mind.
    3. Do what you believe is right, even if it doesn’t make sense at times.
    4. If you are not satisfied with what you have made, do it again. And this time do it better.
    5. Functionality and design go hand in hand when you are developing a desirable product.
    6. Turn customers into evangelists, not just customers.
    7.  Focus on your strengths.
    8. Build the environment, to inspire creativity and Hard work.
    9. Don’t limit yourself. Spread your creativity to different areas.
    10. Make sure you diversify your portfolio. Spreading your risk across multiple businesses can generate unexpected returns.
  4.  Return to Apple:
    1. with the wrong person at the helm, even a strong company can take a turn for the worse.
    2. Be patient, and be humble
    3. Don’t be afraid to make difficult decisions, the ones who are crazy enough to think they can change the world are usually the ones that do.
    4. Respect your Team.
    5. Control the full user experience from the product itself, even to the buying experience.
    6. Find an enemy! Great rivalries are the best advertisement.
    7. call an expert when you need to.
    8. Keep the design simple, and when you get there, simplify it even more.
    9. Don’t sell products, sell dreams.
    10. You don’t have to be the first, but you have to be the best.
    11. Don’t rely on market research, people don’t know what they want until you show them.
    12. Don’t tolerate bozos around you. Build a team of A player only.
  5. Death and Legacy:
    1. Sometimes you have to follow the traditional methods, especially when it is a matter of life and death.
    2. Live your life to the full, personally and professionally, because no one ever knows how long they have on earth.
    3. When you are the face of an international Company, your private business becomes everybody’s business.
    4. Know When it is the right time to step down and let someone else take the reins.
    5. Even Superman has to die sometime.
    6. Be an inspiration for the next generation
    7. Put a dent in the universe.
    8. What is important is not that we die, but the legacy we have left behind.

My Final thoughts are work with the best people in business, always be a step a head of the competition. Believe passionately in the what you do. Getting something wrong doesn’t mean you failed. Last but not the least be the change you wish to see.

With above being the lessons learnt, I recommend this book to someone who has no time to read the complete Biography, the author has neats described the important points in the Biography. This book can be completed in max 2 hrs, best pick while travelling.