Skip to content

Instantly share code, notes, and snippets.

View jlipps's full-sized avatar

Jonathan Lipps jlipps

View GitHub Profile
@jlipps
jlipps / how_to_reset_appium_master.md
Created February 23, 2016 19:55
How to reset Appium master

We recently swapped Appium branches so that the old 1.5 branch is now master. This is great! Unless you already have a local copy of Appium master checked out and want to do a git pull. Unfortunately since we have reset master this is no longer possible. Here's how you do it.

  1. Ensure you have no local changes or commits you want to save. (If you do, get them in a branch).
  2. Figure out what your Appium remote branch is called. For me it is upstream, for you it might be origin. Below, I will call this <remote> and you should replace it with the reality for your own local checkout.
  3. git checkout master
  4. git reset --hard fbbb126 -- this will get you to a place in the git history prior to the divergence
  5. git pull <remote> master -- this will get all the new code
  6. You might also need to rm -rf submodules/ in order to have a clean checkout, since we no longer track submodules in the Appium git repo.

That's it! Happy hacking.

@jlipps
jlipps / appium-2.0-proposal.md
Last active March 1, 2021 08:07
Appium 2.0 Proposal

Appium 2.0

As described in the Appium 2.0 Epic, Appium needs to evolve from being a server which bundles many drivers to one which by default doesn't bundle any drivers, and instead provides an interface for retrieving and using drivers. Essentially, "Appium" will become:

  • A set of spec extensions to the WebDriver W3C protocol (eventually upstreaming those extensions to the official protocol)
  • A set of code libraries (like BaseDriver or jsonwp-proxy that make it easy to write Appium drivers)
  • A driver runner (this is what the main Appium package currently does); the difference is that drivers will not come bundled with the runner by default
  • A plugin interface based around command-level hooks
  • An API and CLI interface for retrieving and managing different versions of Appium-compatible drivers and plugins

Keybase proof

I hereby claim:

  • I am jlipps on github.
  • I am jlipps (https://keybase.io/jlipps) on keybase.
  • I have a public key ASA5enU7HxGauG4EsLazqFp6THAD-Uts_EWqs9QILVU7IQo

To claim this, I am signing this object: