2017 年,社区对 Appium 官方文档发起了一次翻译并合并到官方 github 库。感谢当初付出的同学: @sanlengjingvv @tobecrazy @ghost62184 @thanksdanny @zhaoc @cjtcwyk @seeuagain @fishky @shitou 。你们的 id 都被记录在 Appium 官方文档里。

一晃 3 年过去了。Appium 都已经推出了 2.0 了。而这份中文文档,估计早就过时了。所以既然当初接下了这维护翻译的工作,希望能保持持续更新,也许三年之期来的太晚,但总比不做来的好。

先说下,大概的翻译工作:

  1. 认领你要翻译的文章,回帖,我会更新到帖子里。
  2. 翻译文章,别都是谷歌翻译或者百度翻译, 要信雅达,信就是你翻译的内容同时也是使用 Appium 确认过的,达就是要读起来通顺,要让别人明白。雅就算了。
  3. 把你翻译的提交到 https://github.com/testerhome/appium 或者 https://gitee.com/lihuazhang/appium 库里,发起 pr。我会定期进行 merge

最后,当所有的文章都翻译好之后,我们进行交叉 review,review 通过之后,压缩所有的 commit,然后合并到 Appium github 库去。

最新的文档有 6 个大目录,282 个文件,看上去工程比较浩大。

  1. about-appium
  2. advanced-concepts
  3. commands
  4. contributing-to-appium
  5. drivers
  6. writing-running-appium

➜  en git:(master) tree
.
├── about-appium
│   ├── api.md
│   ├── appium-clients.md @meng 
│   ├── getting-started.md @XiufanJi 
│   ├── intro.md  @sanlengjingvv 
│   └── platform-support.md @sanlengjingvv 
├── advanced-concepts
│   ├── cross-domain-iframes.md @meng 
│   ├── element-finding-plugins.md  @meng 
│   ├── event-timings.md  @meng 
│   ├── grid.md  @meng 
│   ├── image-elements.md @AnneWei 
│   ├── log-filters.md  @meng 
│   ├── memory-collection.md  @meng 
│   ├── migrating-to-xcuitest.md @kikiyano 
│   ├── multiple-xcode-versions.md @kikiyano 
│   ├── parallel-tests.md @kikiyano 
│   ├── settings.md @kikiyano 
│   └── wda-custom-server.md @kikiyano 
├── commands
│   ├── README.md
│   ├── context @Wooooooooooooow 
│   │   ├── README.md @Wooooooooooooow 
│   │   ├── get-context.md @Wooooooooooooow 
│   │   ├── get-contexts.md @Wooooooooooooow 
│   │   └── set-context.md @Wooooooooooooow 
│   ├── device
│   │   ├── README.md
│   │   ├── activity @kangaroo 
│   │   │   ├── README.md  @kangaroo 
│   │   │   ├── current-activity.md  @kangaroo 
│   │   │   ├── current-package.md  @kangaroo 
│   │   │   └── start-activity.md  @kangaroo 
│   │   ├── app
│   │   │   ├── README.md  @thanksdanny 
│   │   │   ├── activate-app.md  @thanksdanny 
│   │   │   ├── app-state.md  @thanksdanny 
│   │   │   ├── background-app.md  @thanksdanny 
│   │   │   ├── close-app.md  @thanksdanny 
│   │   │   ├── end-test-coverage.md  @thanksdanny 
│   │   │   ├── get-app-strings.md @thanksdanny 
│   │   │   ├── install-app.md @zhangfeng 
│   │   │   ├── is-app-installed.md  @zhangfeng 
│   │   │   ├── launch-app.md  @zhangfeng 
│   │   │   ├── remove-app.md  @zhangfeng 
│   │   │   ├── reset-app.md  @zhangfeng 
│   │   │   └── terminate-app.md
│   │   ├── authentication @LetonLiu
│   │   │   ├── README.md
│   │   │   └── finger-print.md
│   │   ├── clipboard @Jacc 
│   │   │   ├── README.md  @Jacc 
│   │   │   ├── get-clipboard.md  @Jacc 
│   │   │   └── set-clipboard.md  @Jacc 
│   │   ├── emulator @LetonLiu
│   │   │   ├── README.md
│   │   │   ├── power_ac.md
│   │   │   └── power_capacity.md
│   │   ├── files @xushizhao 
│   │   │   ├── README.md  @xushizhao 
│   │   │   ├── pull-file.md @xushizhao 
│   │   │   ├── pull-folder.md @xushizhao 
│   │   │   └── push-file.md @xushizhao 
│   │   ├── interactions @xushizhao 
│   │   │   ├── README.md @xushizhao 
│   │   │   ├── is-locked.md @xushizhao 
│   │   │   ├── lock.md @xushizhao 
│   │   │   ├── rotate.md @xushizhao 
│   │   │   ├── shake.md @xushizhao 
│   │   │   └── unlock.md @xushizhao 
│   │   ├── keys @xushizhao 
│   │   │   ├── README.md @xushizhao 
│   │   │   ├── hide-keyboard.md @xushizhao 
│   │   │   ├── is-keyboard-shown.md @xushizhao 
│   │   │   ├── long-press-keycode.md @xushizhao 
│   │   │   └── press-keycode.md @xushizhao 
│   │   ├── network @Wxh
│   │   │   ├── README.md @Wxh
│   │   │   ├── gsm-call.md @Wxh
│   │   │   ├── gsm-signal.md @Wxh
│   │   │   ├── gsm-voice.md @Wxh
│   │   │   ├── network-speed.md @Wxh
│   │   │   ├── send-sms.md @Wxh
│   │   │   ├── toggle-airplane-mode.md @Wxh
│   │   │   ├── toggle-data.md @Wxh
│   │   │   ├── toggle-location-services.md @Wxh
│   │   │   └── toggle-wifi.md @Wxh
│   │   ├── performance-data @Jacc 
│   │   │   ├── README.md  @Jacc 
│   │   │   ├── get-performance-data.md  @Jacc 
│   │   │   └── performance-data-types.md  @Jacc 
│   │   ├── recording-screen @zbbloveplay 
│   │   │   ├── README.md @zbbloveplay 
│   │   │   ├── start-recording-screen.md @zbbloveplay 
│   │   │   └── stop-recording-screen.md @zbbloveplay 
│   │   ├── simulator @LetonLiu
│   │   │   ├── README.md
│   │   │   ├── toggle-touch-id-enrollment.md
│   │   │   └── touch-id.md
│   │   └── system @cnhkzyy 
│   │       ├── README.md @cnhkzyy 
│   │       ├── display-density.md @cnhkzyy 
│   │       ├── open-notifications.md @cnhkzyy 
│   │       ├── system-bars.md @cnhkzyy 
│   │       └── system-time.md @cnhkzyy 
│   ├── element
│   │   ├── README.md @hello2014 
│   │   ├── actions @hello2014 
│   │   │   ├── README.md @hello2014 
│   │   │   ├── clear.md @hello2014 
│   │   │   ├── click.md @hello2014 
│   │   │   └── send-keys.md @hello2014 
│   │   ├── attributes @xiaohengdada 
│   │   │   ├── README.md  @xiaohengdada 
│   │   │   ├── attribute.md  @xiaohengdada 
│   │   │   ├── css-property.md  @xiaohengdada 
│   │   │   ├── displayed.md  @xiaohengdada 
│   │   │   ├── enabled.md  @xiaohengdada 
│   │   │   ├── location-in-view.md  @xiaohengdada 
│   │   │   ├── location.md  @xiaohengdada 
│   │   │   ├── name.md  @xiaohengdada 
│   │   │   ├── page-index.md  @xiaohengdada 
│   │   │   ├── rect.md  @xiaohengdada 
│   │   │   ├── replace-value.md  @xiaohengdada 
│   │   │   ├── selected.md  @xiaohengdada 
│   │   │   ├── size.md  @xiaohengdada 
│   │   │   └── text.md  @xiaohengdada 
│   │   ├── find-element.md @mickey2017 
│   │   ├── find-elements.md @XiufanJi 
│   │   └── other @XiufanJi 
│   │       ├── README.md @XiufanJi 
│   │       ├── active.md @XiufanJi 
│   │       ├── equals-element.md @XiufanJi 
│   │       └── submit.md @XiufanJi 
│   ├── example.md
│   ├── interactions @TracyYaoYao 
│   │   ├── README.md  @TracyYaoYao 
│   │   ├── actions.md  @TracyYaoYao 
│   │   ├── mouse  @TracyYaoYao 
│   │   │   ├── README.md  @TracyYaoYao 
│   │   │   ├── button-down.md  @TracyYaoYao 
│   │   │   ├── button-up.md  @TracyYaoYao 
│   │   │   ├── click.md  @TracyYaoYao 
│   │   │   ├── doubleclick.md  @TracyYaoYao 
│   │   │   └── moveto.md  @TracyYaoYao 
│   │   └── touch  @TracyYaoYao 
│   │       ├── README.md  @TracyYaoYao 
│   │       ├── double-tap.md  @TracyYaoYao 
│   │       ├── flick.md  @TracyYaoYao 
│   │       ├── long-press.md  @TracyYaoYao 
│   │       ├── move.md  @TracyYaoYao 
│   │       ├── multi-touch-perform.md  @TracyYaoYao 
│   │       ├── scroll.md  @TracyYaoYao 
│   │       ├── tap.md  @TracyYaoYao 
│   │       ├── touch-down.md @TracyYaoYao 
│   │       ├── touch-perform.md @TracyYaoYao 
│   │       └── touch-up.md  @TracyYaoYao 
│   ├── mobile-command.md @thanksdanny
│   ├── session @kangaroo 
│   │   ├── README.md  @kangaroo 
│   │   ├── back.md @kangaroo 
│   │   ├── create.md @kangaroo 
│   │   ├── delete.md @kangaroo 
│   │   ├── events @kangaroo 
│   │   │   ├── README.md @kangaroo 
│   │   │   ├── get-events.md @kangaroo 
│   │   │   └── log-event.md @kangaroo 
│   │   ├── execute-driver.md @kangaroo 
│   │   ├── geolocation @kangaroo 
│   │   │   ├── README.md @kangaroo 
│   │   │   ├── get-geolocation.md @kangaroo 
│   │   │   └── set-geolocation.md @kangaroo 
│   │   ├── get.md @kangaroo 
│   │   ├── logs @kangaroo 
│   │   │   ├── README.md @kangaroo 
│   │   │   ├── get-log-types.md @kangaroo 
│   │   │   └── get-log.md @kangaroo 
│   │   ├── orientation @kangaroo 
│   │   │   ├── README.md @kangaroo 
│   │   │   ├── get-orientation.md @kangaroo 
│   │   │   └── set-orientation.md @kangaroo 
│   │   ├── screenshot.md @kangaroo 
│   │   ├── settings @kangaroo 
│   │   │   ├── README.md @kangaroo 
│   │   │   ├── get-settings.md @kangaroo 
│   │   │   └── update-settings.md @kangaroo 
│   │   ├── source.md @kangaroo 
│   │   └── timeouts @kangaroo 
│   │       ├── README.md @kangaroo 
│   │       ├── async-script.md @kangaroo 
│   │       ├── implicit-wait.md @kangaroo 
│   │       └── timeouts.md @kangaroo 
│   ├── status.md
│   └── web
│       ├── README.md @nicezheng 
│       ├── execute-async.md  @nicezheng 
│       ├── execute.md  @nicezheng 
│       ├── frame  @nicezheng 
│       │   ├── README.md  @nicezheng 
│       │   ├── parent.md  @nicezheng 
│       │   └── switch.md  @nicezheng 
│       ├── navigation  @nicezheng 
│       │   ├── README.md  @nicezheng 
│       │   ├── back.md  @nicezheng 
│       │   ├── forward.md  @nicezheng 
│       │   ├── go-to-url.md  @nicezheng 
│       │   ├── refresh.md  @nicezheng 
│       │   └── url.md  @nicezheng 
│       ├── storage @nicezheng 
│       │   ├── README.md  @nicezheng 
│       │   ├── delete-all-cookies.md  @nicezheng 
│       │   ├── delete-cookie.md  @nicezheng 
│       │   ├── get-all-cookies.md  @nicezheng 
│       │   └── set-cookie.md  @nicezheng 
│       └── window   @nicezheng 
│           ├── README.md  @nicezheng 
│           ├── close-window.md  @nicezheng 
│           ├── get-handle.md  @nicezheng 
│           ├── get-handles.md  @nicezheng 
│           ├── get-window-position.md  @nicezheng 
│           ├── get-window-size.md  @nicezheng 
│           ├── maximize-window.md  @nicezheng 
│           ├── set-window-position.md  @nicezheng 
│           ├── set-window-size.md  @nicezheng 
│           ├── set-window.md  @nicezheng 
│           └── title.md  @nicezheng 
├── contributing-to-appium
│   ├── appium-from-source.md @kikiyano 
│   ├── appium-packages.md @kikiyano 
│   ├── appium-packages.png @kikiyano 
│   ├── credits.md  @haliOrange 
│   ├── dev-tools.md @kikiyano 
│   ├── developers-overview.md @kikiyano 
│   ├── how-to-write-docs.md  @haliOrange 
│   ├── real-device-ci.md @kikiyano 
│   ├── style-guide.md @kikiyano 
│   └── version-branch-release.md @kikiyano 
├── drivers
│   ├── android-espresso.md @TracyYaoYao 
│   ├── android-uiautomator.md @TracyYaoYao 
│   ├── android-uiautomator2.md @TracyYaoYao 
│   ├── ios-uiautomation-safari-launcher-img
│   │   ├── changing-bundleid.png
│   │   ├── choosing-target.png
│   │   ├── no-provisioning-profile.png
│   │   ├── opening.png
│   │   ├── running.png
│   │   └── safarilauncher.png
│   ├── ios-uiautomation-safari-launcher.md
│   ├── ios-uiautomation.md
│   ├── ios-xcuitest-img
│   │   ├── check-prov-prof.png
│   │   ├── create-new-project.png
│   │   ├── create-single-page.png
│   │   ├── no-prov-prof.png
│   │   ├── project-prov-prof.png
│   │   ├── set-up-bundle.png
│   │   ├── untrusted-dev.png
│   │   ├── xcode-bundle-id.png
│   │   ├── xcode-config.png
│   │   ├── xcode-facebook-fail.png
│   │   └── xcode-facebook-succeed.png
│   ├── ios-xcuitest-real-devices.md @sanlengjingvv 
│   ├── ios-xcuitest.md @jammy_ 
│   ├── mac.md @zbbloveplay 
│   └── windows.md
└── writing-running-appium
    ├── android @ChaseSkywalker 
    │   ├── actions.md @ChaseSkywalker 
    │   ├── activity-startup.md @ChaseSkywalker 
    │   ├── android-appbundle.md @ChaseSkywalker 
    │   ├── android-coverage.md @ChaseSkywalker 
    │   ├── android-ime.md @ChaseSkywalker 
    │   ├── android-screen-streaming.md @ChaseSkywalker 
    │   ├── android-shell.md @ChaseSkywalker 
    │   ├── espresso-datamatcher-selector.md @ChaseSkywalker 
    │   └── uiautomator-uiselector.md @ChaseSkywalker 
    ├── caps.md @haliOrange 
    ├── default-capabilities-arg.md  @haliOrange 
    ├── finding-elements.md  @haliOrange 
    ├── image-comparison.md @windanchaos 
    ├── ios
    │   ├── actions.md
    │   ├── audio-capture.md
    │   ├── ios-predicate.md @kikiyano 
    │   ├── ios-touch-id.md @kikiyano 
    │   ├── ios-tvos.md
    │   ├── ios-xctest-file-movement
    │   │   ├── keynote.png
    │   │   ├── on_my_iphone.png
    │   │   └── top_files.png
    │   ├── ios-xctest-file-movement.md
    │   ├── ios-xctest-install-certificate.md
    │   ├── ios-xctest-mobile-apps-management.md
    │   ├── ios-xctest-mobile-gestures.md @jiyirain 
    │   ├── ios-xctest-pasteboard.md @jiyirain 
    │   └── ios-xctest-performance.md @jiyirain 
    ├── other
    │   ├── appium-bindings.md @matthewdy 
    │   ├── network-connection.md @matthewdy 
    │   ├── reset-strategies.md @matthewdy 
    │   ├── troubleshooting.md @matthewdy 
    │   └── unicode.md @matthewdy 
    ├── running-tests.md  @windanchaos 
    ├── security.md  @windanchaos 
    ├── server-args.md  @windanchaos 
    ├── touch-actions.md  @windanchaos 
    ├── tutorial @joechin 
    │   ├── swipe
    │   │   ├── android-layout-direction.md
    │   │   ├── android-multiple.md
    │   │   ├── android-simple.md
    │   │   ├── android-tricks.md
    │   │   ├── images
    │   │   │   ├── android-simple.png
    │   │   │   ├── simple-element-swipe.png
    │   │   │   └── simple-screen.png
    │   │   ├── ios-mobile-element-search.md
    │   │   ├── ios-mobile-element.md
    │   │   ├── ios-mobile-screen.md
    │   │   ├── ios-picker-wheels-mobile.md
    │   │   ├── ios-picker-wheels-set-value.md
    │   │   ├── simple-element.md
    │   │   ├── simple-partial-screen.md
    │   │   ├── simple-screen.md
    │   │   └── swipe-troubleshoot-guide.md
    │   └── swipe-tutorial.md
    └── web  @CrazyForPoor
        ├── chromedriver.md  @CrazyForPoor 
        ├── hybrid.md  @CrazyForPoor
        ├── ios-webkit-debug-proxy.md  @CrazyForPoor
        └── mobile-web.md  @CrazyForPoor

50 directories, 282 files


↙↙↙阅读原文可查看相关链接,并与作者交流