<commit_before># Appium For Mac

Appium for Mac can control the native user interface of Mac applications using Selenium / WebDriver and the OS X Accessibility API. Check out the example which will control the calculator app.

The WebDriver server is on port 4622. If you build it yourself, you can change this value in AppiumForMacAppDelegate.m.

## Requirements
* Running: Mac OS X 10.7 or later.
* Building: Xcode 7.2.1 or later. 

## Installation
Mac OS X does not allow an application to use the Accessibility API without permission, so you have to enable it manually.

### 10.7
1. Open System Preferences > Universal Access.
1. Check the "Enable access for assistive devices" checkbox.

### 10.8
1. Open System Preferences > Accessibility.
1. Check the "Enable access for assistive devices" checkbox.

### 10.9, 10.10, 10.11, 10.12
1. Open System Preferences > Security & Privacy.
1. Click the Privacy tab.
1. Click Accessibility in the left hand table.
1. If needed, click the lock to make changes.
1. If you do not see AppiumForMac.app in the list of apps, then drag it to the list from Finder.
1. Check the checkmark next to AppiumForMac.app.

## New Features For Scripters (as of April 2017)

You can see the new features in the calculator.py example script.

### Native Events
AppiumForMac will generate OS X native keyboard and mouse events using Action syntax. Several examples are in /examples/calculator.py.

#### click
ActionChains(driver).click(element).perform()
<commit_msg>docs: add build by Xcode (#92)<commit_after># Appium For Mac

Appium for Mac can control the native user interface of Mac applications using Selenium / WebDriver and the OS X Accessibility API. Check out the example which will control the calculator app.

The WebDriver server is on port 4622. If you build it yourself, you can change this value in AppiumForMacAppDelegate.m.

## Requirements
* Running: Mac OS X 10.7 or later.
* Building: Xcode 7.2.1 or later. 

## Installation
Mac OS X does not allow an application to use the Accessibility API without permission, so you have to enable it manually.

### 10.7
1. Open System Preferences > Universal Access.
1. Check the "Enable access for assistive devices" checkbox.

### 10.8
1. Open System Preferences > Accessibility.
1. Check the "Enable access for assistive devices" checkbox.

### 10.9 and later
1. Open System Preferences > Security & Privacy.
1. Click the Privacy tab.
1. Click Accessibility in the left hand table.
1. If needed, click the lock to make changes.
1. If you do not see AppiumForMac.app in the list of apps, then drag it to the list from Finder.
1. Check the checkmark next to AppiumForMac.app.

## Build

Newer macOS requires 64 bit binary.
You can build this repository manually to match for your environment with Xcode.
Then, please copy `AppiumForMac.app` in  `/Users/<username>/Library/Developer/Xcode/DerivedData/AppiumForMac-xxxxxxxx/Build/Products/Debug/AppiumForMac.app` to `/Applications`.

## New Features For Scripters (as of April 2017)

You can see the new features in the calculator.py example script.

### Native Events
AppiumForMac will generate OS X native keyboard and mouse events using Action syntax. Several examples are in /examples/calculator.py.

#### click
ActionChains(driver).click(element).perform()

{'fraction_non_alphanumeric': 0.07006369426751592, 'fraction_numerical': 0.0248710949347892, 'mean_word_length': 4.105263157894737, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 1, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1130305', 'n_tokens_mistral': 973, 'n_tokens_neox': 898, 'n_words': 474}