Download Appium Client Library For Mac
Appium Desktop is an open source app for Mac, Windows, and Linux which givesyou the power of the Appium automation server ina beautiful and flexible UI. It is a combination of a few Appium-related tools:
- A graphical interface for the Appium Server. You can set options, start/stop the server, see logs, etc.. You also don't need to use Node/NPM to install Appium, as the Node runtime comes bundled with Appium Desktop.
- An Inspector that you can use to look at your app's elements, get basic information about them, and perform basic interactions with them. This is useful as a way to learn about Appium or as a way to learn about your app so you can write tests for it.
Appium’s desktop app supports OS X, Windows and Linux Appium-Desktop for OSX, Windows and Linux We're open for discussion and would love to hear your voice in the conversation about the future of mobile apps testing! Appium Client Library. Selenium stand-alone server. Adding libraries to Project Build Path. Setting up Environment on Mac to test IOS Applications using Appium. XCode & UICatalog Ios app. Download Appium Client Library. Appium Environment Setup & Configuration. Now all you have to download is the Appium server. Head over to the official site and hit the Download Appium button. Once the download complete, click on the DMG file. Just follow the on-screen instructions. After Appium gets installed just drag and drop it into your applications folder. This completes the installation of Appium on MAC. Appium is an open source project and has made design and tool decisions to encourage a vibrant contributing community. Use your favorite tools Appium aims to automate any mobile app from any language and any test framework, with full access to back-end APIs and DBs from test code.
Download Appium Desktop
Sep 08, 2018 Appium Python Client. An extension library for adding Selenium 3.0 draft and Mobile JSON Wire Protocol Specification draft functionality to the Python language bindings, for use with the mobile testing framework Appium. Getting the Appium Python client. There are three ways to install and use the Appium Python client. Appium Desktop. Appium Desktop is an open source app for Mac, Windows, and Linux which gives you the power of the Appium automation server in a beautiful and flexible UI. It is a combination of a few Appium-related tools.
You can always pick up the latest release at ourRelease page onGitHub.
If you're on Windows or macOS, Appium Desktop will automatically provide youwith updated versions of the app when they are released. If you encountera problem updating, simply delete or uninstall the app and re-download thelatest from the link above.
Note that Appium Desktop is not the same thing as Appium. Appium Desktop isa graphical frontend to Appium with additional tools. Appium Desktop isreleased on its own cadence and has its own versioning system. If you arereporting an issue with Appium Desktop, always be sure to include both theversion of Appium Desktop and the version of the Appium Server which is in use(see below).
If you're on macOS, you will need to install Appium Desktop by copying the appfrom the downloaded DMG file to your own file system (the best place is the'Applications' folder). Running Appium from in side the attached DMG itself isnot supported, and will not work.
Known Issues
- Auto updater is not working (https://github.com/appium/appium-desktop/issues/74)
Usage Instructions
These instructions assume you are already familiar with Appium andAppium-related concepts. If you are new to Appium, please visitappium.io and read our introductory material.
This app provides a convenient way to download and run the Appium automationserver, as well as a tool for inspecting your Android or iOS application. Itsvarious capabilities are described in the following sections.
The server start window
Starting a simple server
When you open Appium Desktop, you are greeted with the server start window. Thebasic option is to start an Appium server with all its defaults and the abilityto modify the host and port. The start button will also let you know whichversion of the Appium server you are running, which can be useful whenreporting issues to the Appium team.
Starting a server with advanced options
By clicking on the 'Advanced' tab, you have the ability to set all the serverflags that are available in Appium. This is for advanced users and should onlybe modified after consulting the Appium documentation.
Server presets
If you use the advanced server options, you have the ability to savea configuration for later use. Simply save the preset on the 'Advanced' tab,and you will subsequently be able to recall and start the server with thatconfiguration from the 'Preset' tab.
The server console output window
Once you start the server, it will launch on the host and port you specified,and open a new window displaying the server log output.
This is fairly straightforward and no real interaction is possible, beyondusing the button to stop the server. You can also copy-and-paste the logs fromthis window which is useful in reporting Appium issues.
One other button is available: 'Start New Session'. Clicking this will open upthe New Session window enabling you to start an Inspector session on thecurrently-running server.
The New Session window
The New Session window allows you to construct a set of Appium desiredcapabilities used to launch an Appium session. You can launch a session againstthe currently-running Appium Desktop server (which is the default), or you canlaunch a session against a variety of other endpoints.
Since it's not required to run against Appium Desktop's own server, you can getto the New Session window without starting an Appium Desktop server. Simply goto 'File' (Windows/Linux) or 'Appium' (Mac) and choose 'New Session..', whichwill open the New Session window without having to start a local server. Inthis case, attaching to the local server will be disabled.
Appium Endpoints
These are the options for launching a session against a non-local Appium server:
- A custom host/port configuration: this is useful if you want to launch an Inspector session against an Appium server running on another machine in your network, for example.
- Sauce Labs: if you don't have access to, say, iOS simulators on your machine, you can leverage your Sauce Labs account to start an Appium session in the cloud.
- TestObject: you can also utilize TestObject's cloud of real devices for a real device-based Inspector session.
It should be straightforward to get set up with any of these options. Simplyenter your details in the input fields provided.
Desired Capabilities
Desired capabilities are how you configure your Appium session. They tell theAppium server what kind of platform and app you want to automate. If you areunfamiliar with the concept of desired capabilities, or which desiredcapabilities are required to launch Appium sessions of various types, youshould consult the Appium documentation.
Appium Desktop does not restrict your creation of desired capabilities in anyway, nor will it validate them for you. It simply provides a nice UI forentering them in, and saving them for later use. Under the 'DesiredCapabilities' tab, you can use the form fields and '+' button to enter as manydesired capabilities as you need. You will also see a representation of theresulting JSON, which is what is actually sent to the Appium server. This canbe useful for verifying your capabilities, or for copy-and-pasting whenreporting issues.
Once you have set your desired capabilities, you might wish to save them so youcan run the same type of session later. Simply click the 'Save As..' button togive your capability set a name. You can then access it under the 'SavedCapability Sets' tab, for later editing or session launching.
Once your server type and capabilities are set, click 'Start Session' to launchthe Appium Desktop Inspector.
Attach to an Existing Session
If you click on the 'Attach to Session..' tab, you can select an existingsession from a list of currently running sessions on your selected server, or youcan input a session ID of a currently-running session. That session should berunning on the server details you specified in the server type section above.Attaching to an existing session is possible because the Inspector is just anAppium client. This could be useful if you want to debug the middle of a runningtest. When you quit the Inspector window of an existing session, Appium Desktopwill not quit the session as it does normally.
The Inspector
The Inspector is a visual representation of the state of your application alongwith the ability to perform certain interactions in your application throughAppium.
Appium sessions can take some time to load, especially on cloud services, soplease be patient. When the session loads, a screenshot of your app will appearon the left. You can mouse over various UI elements in your application, andsee them highlighted.
In the middle of the Inspector window is your app's hierarchy, represented asXML. You can navigate this tree by clicking through it, or by clicking onelements in the screenshot view. They will then be highlighted.
When an element is highlighted, its information will appear in the detail viewon the right side of the Inspector. This detail view consists of potentialactions to take against the element, and a table of the element's properties.These properties are valuable in determining how the element might accessedusing a particular Appium locator strategy. With an element selected, you canalso 'Tap' the element, or 'Send Keys' to the element (if it is a text field).
When you take such an action with an element, the Inspector will send thecommand to Appium, which will execute it. If the action is successful, a newscreenshot will be generated and you should see the updated state and XML ofyour app. If it's not successful, you'll have an opportunity to see the errormessage.
The top of the Inspector window contains a small toolbar with iconsrepresenting the ability to take certain actions in the Inspector:
- Back (call
driver.back
) - Refresh (refresh the source and screenshot)
- Start Recording (open the recorder, see the next section for more information on the recorder)
- Quit the session (call
driver.quit
and close the Inspector)
The Recorder
Appium Desktop comes with a very basic action recorder, that watches foractions taken using Appium Desktop and displays language-and-framework-specificcode that represents those actions. The code can then be copied-and-pasted intothe appropriate Appium client code and used for tests.
NB: the goal of the Recorder is not to produce production-ready test code.It is designed as a tool to help explore the Appium API, and demonstrate howcertain automation behaviors correspond to method calls in a particularlanguage and Appium library. In sum, it is a learning tool, not a robust codegeneration feature, and should be used as such.
When you start recording, the Inspector will show an additional window:
At first, the Recorder will show no code. You will first have to take someaction, like finding an element in the hierarchy and tapping on it, or sendingkeystrokes to it. When you do this, code will appear in the recorder window,corresponding to the particular language and framework you have chosen (whichcan be adjusted in the drop-down menu at the top right of the Recorder):
This code can be copied to your clipboard using the appropriate button at thetop right of the Recorder pane. Note that by default what is shown are simplylines of code corresponding to the specific actions you have taken whilerecording---in general you cannot paste these lines into an empty text file andrun the code. To run Appium test scripts in code requires that variousdependencies (like the Appium client libraries) be installed, and that scriptboilerplate (like instantiating a driver and initializing a session) bepresent. To show this additional code, you can click the 'Show Boilerplate'button. With boilerplate code shown, it is possible to copy and paste the codeinto a new file and run it.
The power of the Recorder will continue to grow as we add more languages,frameworks, and actions to Appium Desktop.
Conclusion
This is everything you need to know to use Appium Desktop successfully!Remember, Appium Desktop is not a replacement for understanding Appiumitself---it is simply a convenient tool for working with Appium on yourdesktop, and an Inspector for exploring your app. Have fun!
Reporting Issues and Requesting Features
Appium Desktop is open source, and we use GitHub for issue tracking. Pleasesimply report issues at our issuetracker. We will endeavor todetermine whether the issue you are reporting is related to Appium Desktop orAppium Server. If it's not related to Appium Desktop specifically, we willclose the issue and ask you to open a general Appium issue at Appium's mainissue tracker. Please, saveyourselves and us valuable time by getting clear on whether the issue you'reexperiencing is related to Appium Desktop specifically or instead is a generalAppium issue. You can do this by seeing whether the issue reproduces with theAppium command line server as well. If it does, direct your report to Appium'sissue tracker.
Have a feature request? Follow the same process and submit an issue to theappropriate tracker! (Either here in this repo if the request is specificallyfor Appium Desktop, or Appium's main tracker if the request is for Appium moregenerally.)
Advanced Topics and Troubleshooting
Appium can't detect environment variables on Mac
Appium uses environment variables like ANDROID_HOME
as well as relying onvarious binaries in your PATH
and so on. When running from the command linein an environment where you have set these variables appropriately, Appium hasno problem in picking them up. However, Appium Desktop does not run in a shellor a command-line environment, and so by default it does not have access toenvironment variables you have set in your shell startup script or profile. Towork around this, we use theshell-env package to pick upenvironment variables defined in your shell. This package only looks in certaincommon init scripts, however, like ~/.bashrc
, ~/.bash_profile
, and~/.zshrc
. If you set your Appium environment variables in some other way, youwill need to create one of these default init scripts and set your environmentvariables there as well, so that Appium Desktop will successfully pick them up.
Warnings about being on a read-only file system
This probably means you tried to launch Appium Desktop from the downloaded diskimage (.dmg
file). This is not a supported mode of running Appium Desktop. Tocorrectly install Appium Desktop, copy the application from the disk image toyour local filesystem, to somewhere like /Applications
. Then, run the appfrom that new location.
Developer Instructions
Want to hack on Appium Desktop? Awesome! Head on over to our ContributingDoc for information on how to get a dev environment set upand submit changes back to the project.
Appium Desktop is an open source app for Mac, Windows, and Linux which givesyou the power of the Appium automation server ina beautiful and flexible UI. It is a combination of a few Appium-related tools:
- A graphical interface for the Appium Server. You can set options, start/stop the server, see logs, etc.. You also don't need to use Node/NPM to install Appium, as the Node runtime comes bundled with Appium Desktop.
- An Inspector that you can use to look at your app's elements, get basic information about them, and perform basic interactions with them. This is useful as a way to learn about Appium or as a way to learn about your app so you can write tests for it.
Download Appium Desktop
You can always pick up the latest release at ourRelease page onGitHub.
If you're on Windows or macOS, Appium Desktop will automatically provide youwith updated versions of the app when they are released. If you encountera problem updating, simply delete or uninstall the app and re-download thelatest from the link above.
Note that Appium Desktop is not the same thing as Appium. Appium Desktop isa graphical frontend to Appium with additional tools. Appium Desktop isreleased on its own cadence and has its own versioning system. If you arereporting an issue with Appium Desktop, always be sure to include both theversion of Appium Desktop and the version of the Appium Server which is in use(see below).
If you're on macOS, you will need to install Appium Desktop by copying the appfrom the downloaded DMG file to your own file system (the best place is the'Applications' folder). Running Appium from in side the attached DMG itself isnot supported, and will not work.
Known Issues
- Auto updater is not working (https://github.com/appium/appium-desktop/issues/74)
Usage Instructions
These instructions assume you are already familiar with Appium andAppium-related concepts. If you are new to Appium, please visitappium.io and read our introductory material.
This app provides a convenient way to download and run the Appium automationserver, as well as a tool for inspecting your Android or iOS application. Itsvarious capabilities are described in the following sections.
The server start window
Starting a simple server
When you open Appium Desktop, you are greeted with the server start window. Thebasic option is to start an Appium server with all its defaults and the abilityto modify the host and port. The start button will also let you know whichversion of the Appium server you are running, which can be useful whenreporting issues to the Appium team.
Starting a server with advanced options
By clicking on the 'Advanced' tab, you have the ability to set all the serverflags that are available in Appium. This is for advanced users and should onlybe modified after consulting the Appium documentation.
Server presets
If you use the advanced server options, you have the ability to savea configuration for later use. Simply save the preset on the 'Advanced' tab,and you will subsequently be able to recall and start the server with thatconfiguration from the 'Preset' tab.
The server console output window
Once you start the server, it will launch on the host and port you specified,and open a new window displaying the server log output.
This is fairly straightforward and no real interaction is possible, beyondusing the button to stop the server. You can also copy-and-paste the logs fromthis window which is useful in reporting Appium issues.
One other button is available: 'Start New Session'. Clicking this will open upthe New Session window enabling you to start an Inspector session on thecurrently-running server.
The New Session window
The New Session window allows you to construct a set of Appium desiredcapabilities used to launch an Appium session. You can launch a session againstthe currently-running Appium Desktop server (which is the default), or you canlaunch a session against a variety of other endpoints.
Since it's not required to run against Appium Desktop's own server, you can getto the New Session window without starting an Appium Desktop server. Simply goto 'File' (Windows/Linux) or 'Appium' (Mac) and choose 'New Session..', whichwill open the New Session window without having to start a local server. Inthis case, attaching to the local server will be disabled.
Appium Endpoints
These are the options for launching a session against a non-local Appium server:
Mar 18, 2020 Here's how to open one of the multiple photo libraries that you might have on your Mac or on a connected external drive: Press and hold the Option key as you open the Photos app. Select the library that you want to open, then click Choose Library. Photos uses this library until you open a different one using the same steps. I have two different photo libraries mac.
Mac photo library management. Spotlight can reveal a photo nested within the Photos library. The reason to use Spotlight in a Finder windows instead of the system-wide Spotlight option is to let you reveal the original file. Jan 12, 2020 Select Library, and a Finder window will open showing the contents of the Library folder. If you close the Library folder's Finder window, the folder will once again be hidden from view. Access the Library the Easy Way (OS X Mavericks and later).
Download Appium Client Library For Mac Windows 10
- A custom host/port configuration: this is useful if you want to launch an Inspector session against an Appium server running on another machine in your network, for example.
- Sauce Labs: if you don't have access to, say, iOS simulators on your machine, you can leverage your Sauce Labs account to start an Appium session in the cloud.
- TestObject: you can also utilize TestObject's cloud of real devices for a real device-based Inspector session.
It should be straightforward to get set up with any of these options. Simplyenter your details in the input fields provided.
Desired Capabilities
Desired capabilities are how you configure your Appium session. They tell theAppium server what kind of platform and app you want to automate. If you areunfamiliar with the concept of desired capabilities, or which desiredcapabilities are required to launch Appium sessions of various types, youshould consult the Appium documentation.
Appium Desktop does not restrict your creation of desired capabilities in anyway, nor will it validate them for you. It simply provides a nice UI forentering them in, and saving them for later use. Under the 'DesiredCapabilities' tab, you can use the form fields and '+' button to enter as manydesired capabilities as you need. You will also see a representation of theresulting JSON, which is what is actually sent to the Appium server. This canbe useful for verifying your capabilities, or for copy-and-pasting whenreporting issues.
Once you have set your desired capabilities, you might wish to save them so youcan run the same type of session later. Simply click the 'Save As..' button togive your capability set a name. You can then access it under the 'SavedCapability Sets' tab, for later editing or session launching.
Once your server type and capabilities are set, click 'Start Session' to launchthe Appium Desktop Inspector.
Attach to an Existing Session
If you click on the 'Attach to Session..' tab, you'll be able to entera session ID of a currently-running session. That session should be running onthe server details you specified in the server type section above. Attaching toan existing session is possible because the Inspector is just an Appium client.This could be useful if you want to debug the middle of a running test. Whenyou quit the Inspector window of an existing session, Appium Desktop will notquit the session as it does normally.
The Inspector
The Inspector is a visual representation of the state of your application alongwith the ability to perform certain interactions in your application throughAppium.
Appium sessions can take some time to load, especially on cloud services, soplease be patient. When the session loads, a screenshot of your app will appearon the left. You can mouse over various UI elements in your application, andsee them highlighted.
In the middle of the Inspector window is your app's hierarchy, represented asXML. You can navigate this tree by clicking through it, or by clicking onelements in the screenshot view. They will then be highlighted.
When an element is highlighted, its information will appear in the detail viewon the right side of the Inspector. This detail view consists of potentialactions to take against the element, and a table of the element's properties.These properties are valuable in determining how the element might accessedusing a particular Appium locator strategy. With an element selected, you canalso 'Tap' the element, or 'Send Keys' to the element (if it is a text field).
Appium Client Library
When you take such an action with an element, the Inspector will send thecommand to Appium, which will execute it. If the action is successful, a newscreenshot will be generated and you should see the updated state and XML ofyour app. If it's not successful, you'll have an opportunity to see the errormessage.
Conclusion
This is everything you need to know to use Appium Desktop successfully!Remember, Appium Desktop is not a replacement for understanding Appiumitself---it is simply a convenient tool for working with Appium on yourdesktop, and an Inspector for exploring your app. Have fun!
Reporting Issues and Requesting Features
Appium Desktop is open source, and we use GitHub for issue tracking. Pleasesimply report issues at our issuetracker. We will endeavor todetermine whether the issue you are reporting is related to Appium Desktop orAppium Server. If it's not related to Appium Desktop specifically, we willclose the issue and ask you to open a general Appium issue at Appium's mainissue tracker. Please, saveyourselves and us valuable time by getting clear on whether the issue you'reexperiencing is related to Appium Desktop specifically or instead is a generalAppium issue. You can do this by seeing whether the issue reproduces with theAppium command line server as well. If it does, direct your report to Appium'sissue tracker.
Have a feature request? Follow the same process and submit an issue to theappropriate tracker! (Either here in this repo if the request is specificallyfor Appium Desktop, or Appium's main tracker if the request is for Appium moregenerally.)
Advanced Topics and Troubleshooting
Appium can't detect environment variables on Mac
Appium uses environment variables like ANDROID_HOME
as well as relying onvarious binaries in your PATH
and so on. When running from the command linein an environment where you have set these variables appropriately, Appium hasno problem in picking them up. However, Appium Desktop does not run in a shellor a command-line environment, and so by default it does not have access toenvironment variables you have set in your shell startup script or profile. Towork around this, we use theshell-env package to pick upenvironment variables defined in your shell. This package only looks in certaincommon init scripts, however, like ~/.bashrc
, ~/.bash_profile
, and~/.zshrc
. If you set your Appium environment variables in some other way, youwill need to create one of these default init scripts and set your environmentvariables there as well, so that Appium Desktop will successfully pick them up.
Warnings about being on a read-only file system
This probably means you tried to launch Appium Desktop from the downloaded diskimage (.dmg
file). This is not a supported mode of running Appium Desktop. Tocorrectly install Appium Desktop, copy the application from the disk image toyour local filesystem, to somewhere like /Applications
. Then, run the appfrom that new location.
Developer Instructions
Want to hack on Appium Desktop? Awesome! Head on over to our ContributingDoc for information on how to get a dev environment set upand submit changes back to the project.