mirror of
https://github.com/appium/appium.git
synced 2026-05-12 13:58:43 -05:00
chore: merge master into 2.0 and added mac2 in lib/drivers.js (#14928)
* fix: fix urls in docs (#14910) * docs: Update generated docs [ci skip] (#14913) Co-authored-by: runner <runner@Mac-1606273407156.local> * feat: Add Mac2Driver (#14911) * docs: Add Mac2Driver documentation (#14914) * chore: add scripts for doing releases (#14918) * docs: Update push-file.yml (#14920) * add appium-mac2-driver Co-authored-by: Appium Triager <maintainers@appium.io> Co-authored-by: runner <runner@Mac-1606273407156.local> Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com> Co-authored-by: Dan Graham <dpgraham.85@gmail.com> Co-authored-by: Ilija Boshkov <ilija.boshkov@gmail.com>
This commit is contained in:
@@ -5,7 +5,7 @@ short_description: Place a file onto the device in a particular place
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.pushFile("/path/to/device/foo.bar", new File("/Users/johndoe/files/foo.bar"));
|
||||
driver.pushFile("/data/local/tmp/foo.bar", new File("/Users/johndoe/files/foo.bar"));
|
||||
python:
|
||||
|
|
||||
dest_path = '/data/local/tmp/test_push_file.txt'
|
||||
@@ -13,23 +13,23 @@ example_usage:
|
||||
self.driver.push_file(dest_path, base64.b64encode(data).decode('utf-8'))
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.pushFileToDevice('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
await driver.pushFileToDevice('/data/local/tmp/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
javascript_wdio:
|
||||
|
|
||||
let data = new Buffer("Hello World").toString('base64');
|
||||
driver.pushFile('/data/local/tmp/file.txt', data);
|
||||
ruby:
|
||||
|
|
||||
push_file('/path/to/device/foo.bar', File.read('path/to/file.png'))
|
||||
push_file('/data/local/tmp/foo.bar', File.read('path/to/file.png'))
|
||||
ruby_core:
|
||||
|
|
||||
@driver.push_file('/path/to/device/foo.bar', File.read('path/to/file.png'))
|
||||
@driver.push_file('/data/local/tmp/foo.bar', File.read('path/to/file.png'))
|
||||
php:
|
||||
|
|
||||
$driver->pushFile('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
$driver->pushFile('/data/local/tmp/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
csharp:
|
||||
|
|
||||
driver.PushFile("/path/to/device/foo.bar", new FileInfo("/Users/johndoe/files/foo.bar"))
|
||||
driver.PushFile("/data/local/tmp/foo.bar", new FileInfo("/Users/johndoe/files/foo.bar"))
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/PushesFiles.html#pushFile-java.lang.String-java.io.File-"
|
||||
|
||||
@@ -42,8 +42,8 @@ example_usage:
|
||||
action.Perform();
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#doubleTap-org.openqa.selenium.WebElement-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.double_tap"
|
||||
java: "https://www.selenium.dev/selenium/docs/api/java/overview-summary.html"
|
||||
python: "https://selenium-python.readthedocs.io/api.html?highlight=tap_and_hold#selenium.webdriver.common.touch_actions.TouchActions.double_tap"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L425"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#touchdoubleclick"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:double_tap"
|
||||
|
||||
@@ -38,7 +38,7 @@ example_usage:
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#flick-org.openqa.selenium.WebElement-int-int-int-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.flick_element"
|
||||
python: "https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.flick_element"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#touchflick"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1513"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:flick"
|
||||
|
||||
@@ -45,7 +45,7 @@ example_usage:
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#longPress-org.openqa.selenium.WebElement-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.long_press"
|
||||
python: "https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.long_press"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#touchperform"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1531"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:long_press"
|
||||
|
||||
@@ -52,7 +52,7 @@ example_usage:
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#down-int-int-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.move"
|
||||
python: "https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.touch_actions"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#multitouchperform"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1531"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:move"
|
||||
|
||||
@@ -39,7 +39,7 @@ example_usage:
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#scroll-int-int-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.scroll"
|
||||
python: "https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.scroll"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#touchscroll"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L425"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:scroll"
|
||||
|
||||
@@ -48,7 +48,7 @@ example_usage:
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#down-int-int-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.tap_and_hold"
|
||||
python: "https://selenium-python.readthedocs.io/api.html?highlight=tap_and_hold#selenium.webdriver.common.touch_actions.TouchActions.tap_and_hold"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#touchdown"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1546"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/TouchActionBuilder#down-instance_method"
|
||||
|
||||
@@ -48,7 +48,7 @@ example_usage:
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#up-int-int-"
|
||||
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.release"
|
||||
python: "https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.release"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#touchup"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1546"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:up"
|
||||
|
||||
@@ -90,12 +90,12 @@ example_usage:
|
||||
AndroidDriver<AndroidElement> driver = new AndroidDriver<AndroidElement>(new Uri("http://127.0.0.1:4723"), appiumOptions);
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/server/DefaultSession.html#createSession-org.openqa.selenium.remote.server.DriverFactory-org.openqa.selenium.remote.server.Clock-org.openqa.selenium.remote.SessionId-org.openqa.selenium.Capabilities-"
|
||||
java: "https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebDriver.html"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.clear"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/webdriver.html#newsession"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1780"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:clear"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:clear"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ example_usage:
|
||||
ICapabilities caps = driver.Capabilities;
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/server/ActiveSessions.html#get-org.openqa.selenium.remote.SessionId-"
|
||||
java: "https://www.selenium.dev/selenium/docs/api/java/overview-summary.html"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.session.Session.session"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#getsession"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L227"
|
||||
|
||||
@@ -85,8 +85,8 @@ action.Perform();
|
||||
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#doubleTap-org.openqa.selenium.WebElement-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.double_tap) |
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [www.selenium.dev](https://www.selenium.dev/selenium/docs/api/java/overview-summary.html) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html?highlight=tap_and_hold#selenium.webdriver.common.touch_actions.TouchActions.double_tap) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L425) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:double_tap) |
|
||||
|
||||
@@ -81,7 +81,7 @@ action.Perform();
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#flick-org.openqa.selenium.WebElement-int-int-int-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.flick_element) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.flick_element) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1513) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:flick) |
|
||||
|
||||
@@ -88,7 +88,7 @@ touchAction.LongPress(element).Perform();
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#longPress-org.openqa.selenium.WebElement-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.long_press) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.long_press) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1531) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:long_press) |
|
||||
|
||||
@@ -98,7 +98,7 @@ As of Appium 1.8.0 all move actions take coordinates that are absolute.
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#down-int-int-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.move) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.touch_actions) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1531) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:move) |
|
||||
|
||||
@@ -82,7 +82,7 @@ action.Perform();
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#scroll-int-int-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.scroll) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.scroll) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L425) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:scroll) |
|
||||
|
||||
@@ -91,7 +91,7 @@ action.Perform();
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#down-int-int-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.tap_and_hold) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html?highlight=tap_and_hold#selenium.webdriver.common.touch_actions.TouchActions.tap_and_hold) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1546) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/TouchActionBuilder#down-instance_method) |
|
||||
|
||||
@@ -91,7 +91,7 @@ action.Perform();
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#up-int-int-) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.release) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.touch_actions.TouchActions.release) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1546) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:up) |
|
||||
|
||||
@@ -133,11 +133,11 @@ Please do not forget to call [delete command](/docs/en/commands/session/delete.m
|
||||
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/server/DefaultSession.html#createSession-org.openqa.selenium.remote.server.DriverFactory-org.openqa.selenium.remote.server.Clock-org.openqa.selenium.remote.SessionId-org.openqa.selenium.Capabilities-) |
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [www.selenium.dev](https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebDriver.html) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.clear) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1780) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:clear) |
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver) |
|
||||
|[PHP](https://github.com/appium/php-client/releases/latest)| All | [github.com](https://github.com/appium/php-client/) |
|
||||
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All | [github.com](https://github.com/appium/appium-dotnet-driver/) |
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ ICapabilities caps = driver.Capabilities;
|
||||
|
||||
|Language|Support|Documentation|
|
||||
|--------|-------|-------------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/server/ActiveSessions.html#get-org.openqa.selenium.remote.SessionId-) |
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)| All | [www.selenium.dev](https://www.selenium.dev/selenium/docs/api/java/overview-summary.html) |
|
||||
|[Python](https://github.com/appium/python-client/releases/latest)| All | [appium.github.io](https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.session.Session.session) |
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | |
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L227) |
|
||||
|
||||
@@ -139,7 +139,7 @@ for e2e test files to end in `-e2e-specs.js`.
|
||||
The release process for any Appium module other than the main Appium package is
|
||||
pretty straightforward (note that you will need to be an NPM owner for the
|
||||
package if you want to publish it. Ownership is managed by the Appium
|
||||
committers; talk to @jlipps or @imurchie if you believe you should be an owner
|
||||
committers; talk to @jlipps, @kazucocoa, @dang, @mykola-mokhnach if you believe you should be an owner
|
||||
and are not):
|
||||
|
||||
1. `rm -rf node_modules && rm -rf package-lock.json && npm install` and run tests to make sure a clean install works.
|
||||
@@ -149,7 +149,7 @@ and are not):
|
||||
1. Push the appropriate branch to GitHub, and don't forget to include the `--tags` flag to include the tag just created by `npm version`.
|
||||
1. Run `npm publish` (with `--tag beta` if this isn't an official release).
|
||||
|
||||
For the main Appium packages, all the above steps must be taken, but with
|
||||
For the main Appium package, all the above steps must be taken, but with
|
||||
several changes. One reason is that for the main package we use NPM shrinkwrap
|
||||
to ensure dependencies don't change between installations. Another reason is
|
||||
that we develop on master and release on various branches. The way it works is
|
||||
@@ -177,18 +177,4 @@ checked in to GitHub along with changes to `package.json`. With npm 5+ there is
|
||||
also a `package-lock.json` file produced. During the shrinkwrap process this is
|
||||
converted into the `npm-shrinkwrap.json` file.
|
||||
|
||||
1. Remove the NPM shrinkwrap and package-lock JSON files if they exists.
|
||||
1. `rm -rf node_modules && npm install` and run tests to make sure a clean install works.
|
||||
1. Determine whether we have a `patch` (bugfix), `minor` (feature), or `major` (breaking) release according to the principles of SemVer.
|
||||
1. Update `package.json` with the appropriate new version.
|
||||
1. Update the CHANGELOG/README with appropriate changes and submit for review as a PR, along with shrinkwrap and `package.json` changes. Wait for it to be merged, then pull it into the release branch.
|
||||
1. Run `npm shrinkwrap` to generate the `npm-shrinkwrap.json`
|
||||
1. Create a tag of the form `v<version>` on the release branch (usually a minor branch like `1.5` or `1.4`), with: `git tag -a v<version>`, e.g., `git tag -a v1.5.0`, `git tag -a v1.5.0-rc.1`. This is not necessary for beta versions.
|
||||
1. Push the tag to upstream: `git push --tags <remote> <branch>`
|
||||
1. Run `npm publish` (with `--tag rc` if this isn't a GA release).
|
||||
1. Remove the NPM shrinkwrap JSON file from Git and push the changes
|
||||
1. Update the site docs by going to https://github.com/appium/appium.io/pulls and merging the latest pull request that was opened by the Triager bot. Close any other pull requests opened by Triager bot.
|
||||
1. Create a new release on GitHub: go to `https://github.com/appium/appium/releases/tag/v<VERSION>` and hit "Edit Tag". Make the release name `<VERSION>` (e.g., `2.0.5`), then paste in the changelog (but not the changelog header for this version). If it's a beta release, mark as pre-release.
|
||||
1. Create a new post on discuss.appium.io announcing the release. Post it in the "News" category. Paste in the changelog and any choice comments. Pin it and unpin the previous release post.
|
||||
1. Begin process of releasing `appium-desktop`.
|
||||
1. Notify @jlipps to so he can tweet a link to the discuss post.
|
||||
Follow directions in [Release Appium Doc](docs/release-appium.md)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Releasing Appium
|
||||
Appium follows the GitLab flow approach. Releases are made on release branches that have the format `releases/x.y` where `x` is a major version and `y` is a minor version. The main Appium repository doesn't strictly follow semver (unlike the dependencies of Appium). A minor release (e.g.: `1.20.0`) means that we're creating a new release that has a newly created set of dependencies that are shrinkwrapped to the latest. A patch release (e.g.: `1.20.4`) isn't strictly a "patch", but just means that we're making an intermediary release that brings in small changes. For example, suppose I have a new version of `appium-xcuitest-driver` that I want to publish and it can't wait until the next minor release. To bring in that change, I would checkout the release branch (e.g.: `git checkout releases/1.20`); install the dependency (`npm install appium-xcuitest-driver@version && git commit -a -m 'bump appium-xcuitest-driver to version $version`); release a "release candidate" (see below) and then when it's ready, graduate the "release candidate" to general availability
|
||||
|
||||
## Create a release branch
|
||||
1. `bash ./scripts/release-branch.sh x.y` where `x` is the major version and `y` is the minor version (example: `bash ./scripts/release-branch.sh 1.20`)
|
||||
* This will create:
|
||||
* A release branch `releases/1.20`
|
||||
* A git tag `v1.20.0-rc.0`
|
||||
* Publish a NPM package `1.20.0-rc.0` as a release candidate
|
||||
1. Create a changelog pull request
|
||||
|
||||
## Create a release candidate
|
||||
1. Checkout the release branch (e.g.: `git checkout releases/1.21 && git pull origin releases/1.21`)
|
||||
1. `bash ./scripts/release-candidate.sh rc`
|
||||
|
||||
## Publish to GA
|
||||
1. Checkout the release branch (e.g.: `git checkout releases/1.21 && git pull origin releases/1.21`)
|
||||
1. `bash ./scripts/release-candidate.sh latest`
|
||||
1. Update the site docs by going to https://github.com/appium/appium.io/pulls and merging the latest pull request that was opened by the Triager bot. Close any other pull requests opened by Triager bot.
|
||||
1. Create a new release on GitHub: go to `https://github.com/appium/appium/releases/tag/v<VERSION>` and hit "Edit Tag". Make the release name `<VERSION>` (e.g., `2.0.5`), then paste in the changelog (but not the changelog header for this version). If it's a beta release, mark as pre-release.
|
||||
1. Create a new post on discuss.appium.io announcing the release. Post it in the "News" category. Paste in the changelog and any choice comments. Pin it and unpin the previous release post.
|
||||
1. Begin process of releasing `appium-desktop`.
|
||||
1. Notify @jlipps to so he can tweet a link to the discuss post.
|
||||
@@ -0,0 +1,37 @@
|
||||
## The Mac2Driver
|
||||
|
||||
Mac2Driver has been added to Appium since version 1.20.
|
||||
This driver is for automating macOS applications using Apple's [XCTest](https://developer.apple.com/documentation/xctest) framework.
|
||||
It provides more flexibility and features in comparison to the legacy
|
||||
[MacDriver](mac.md) and is better compatible with operating system internals.
|
||||
The driver operates in scope of [W3C WebDriver protocol](https://www.w3.org/TR/webdriver/) with several custom extensions to cover operating-system specific scenarios.
|
||||
The original idea and parts of the source code are borrowed from the Facebook's [WebDriverAgent](https://github.com/facebookarchive/WebDriverAgent) project.
|
||||
|
||||
Development of the Mac2Driver happens at the
|
||||
[appium-mac2-driver](https://github.com/appium/appium-mac2-driver) repo.
|
||||
|
||||
|
||||
### Requirements and Support
|
||||
|
||||
In addition to Appium's general requirements:
|
||||
|
||||
- macOS 10.15 or later
|
||||
- Xcode 12 or later should be installed
|
||||
- Xcode Helper app should be enabled for Accessibility access. The app itself could be usually found at `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/Xcode Helper.app`. In order to enable Accessibility access for it simply open the parent folder in Finder: `open /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/` and drag & drop the `Xcode Helper` app to `Security & Privacy -> Privacy -> Accessibility` list of your `System Preferences`. This action must only be done once.
|
||||
- [Carthage](https://github.com/Carthage/Carthage) should be present. On macOS the utility could be installed via [Brew](https://brew.sh/): `brew install carthage`
|
||||
|
||||
|
||||
### Usage
|
||||
|
||||
The way to start a session using the Mac2Driver is to include the
|
||||
`automationName` capability in your new session request, with
|
||||
the value `Mac2`. Of course, you must also include appropriate
|
||||
`platformName` (only `Mac` is supported). Read
|
||||
[Mac2Driver documentation](https://github.com/appium/appium-mac2-driver/blob/master/README.md)
|
||||
for more details.
|
||||
|
||||
|
||||
### Capabilities
|
||||
|
||||
The list of available driver capabilities could be found in
|
||||
the driver [README](https://github.com/appium/appium-mac2-driver/blob/master/README.md) file.
|
||||
@@ -21,6 +21,7 @@ module.exports = {
|
||||
['Safari (Mac/iOS)', 'safari.md'],
|
||||
['Gecko (Firefox)', 'gecko.md'],
|
||||
['Mac', 'mac.md'],
|
||||
['Mac2', 'mac2.md'],
|
||||
]],
|
||||
['Commands', ['commands',
|
||||
['Status', 'status.md'],
|
||||
|
||||
@@ -12,6 +12,7 @@ const KNOWN_DRIVERS = {
|
||||
youiengine: 'appium-youiengine-driver',
|
||||
windows: 'appium-windows-driver',
|
||||
mac: 'appium-mac-driver',
|
||||
mac2: 'appium-mac2-driver',
|
||||
espresso: 'appium-espresso-driver',
|
||||
tizen: 'appium-tizen-driver',
|
||||
flutter: 'appium-flutter-driver',
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
git fetch
|
||||
echo "* Creating release branch $1"
|
||||
git checkout -b releases/$1
|
||||
rm -rf node_modules/ npm-shrinkwrap.json package-lock.json
|
||||
npm install
|
||||
npm shrinkwrap
|
||||
echo "* git add ."
|
||||
git add npm-shrinkwrap.json package.json
|
||||
git commit -m 'add shrinkwrap'
|
||||
echo "* npm version $1.0-rc.0"
|
||||
npm version $1.0-rc.0
|
||||
git push origin releases/$1
|
||||
bash ./scripts/release-candidate.sh
|
||||
@@ -0,0 +1,4 @@
|
||||
npm version prerelease --preid=$1
|
||||
git push
|
||||
git push --tags
|
||||
npm publish --tag $1
|
||||
Reference in New Issue
Block a user