Appium Appium 1.5.0 发布

恒温 · 2016年02月26日 · 最后由 Mr Wang 回复于 2016年04月22日 · 1646 次阅读

总的来说,

  1. 代码上的重构
  2. bug 的修复
  3. 对新系统的支持
  4. Appium 1.5 should work exactly the same as Appium 1.4.16
  5. 没有看到 UIAutomator2 和 XCUITesting —— Support for Apple's new XCUITest framework is already in beta with appium-xcuitest-driver, and work is underway to add support for Google's new UiAutomator 2 framework into Appium as well.
  6. npm install -g appium 安装即可,客户端还没出来

General

  • Appium now requires Node 0.12 as a minimum Node version
  • Deprecate server arguments that are also desired capabilities. Instead, add a --default-capabilities argument which takes a JSON string of capabilities that will be the default for any session. E.g., --default-capabilities '{"launchTimeout": 60000}'
  • Various docs and contributing docs updates (including a code of conduct for the project)
  • Add capability validation on the protocol and driver level. Along with this we have tightened up requirements on capability values so that they can be strictly validated. For example, before you were able to send in a string value of "180" for the newCommandTimeout capability. Now you must send in an actual JSON number, e.g., 180.
  • Remove the autoLaunch capability since it added a significant amount of complexity to the startup flow and Appium shouldn't be responsible for this kind of use case
  • Remove long-deprecated name locator strategy

iOS

  • add Tapster support for some more touch methods
  • iPhone 6 + 6S support
  • iOS 9.3 support

Android

  • enable navigating to an android URI via the set url driver methods, e.g., driver.get('content://contacts/people/1')
  • fix some adb issues in Windows (e.g., signWithCustomCert, sdk binary names)
  • fix issue with UIWatcher ssl certificate errors
  • if you want to install all chromedrivers, use --chromedriver-install-all; if you want to install a specific chromedriver version, use --chromedriver-version="$VER"
  • driver.closeApp no longer runs through the shutdown routine; it simply force-stops the app
  • The ANDROID_ADB_SERVER_PORT environment variable has been removed in favor of the adbPortdesired capability, which does the same thing.

Non-exhaustive examples of internal changes

  • see the developer's overview for a fuller description of Appium 1.5 from a developer's perspective
  • get rid of reset.sh and various other appium build tools in favor of a simple npm install
  • split apart Appium into various smaller modules each with their own repositories and NPM packages
  • use gulp instead of grunt
  • use babel to transpile from es2015+ to standard es5 code
  • get rid of .appiumconfig.json
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 15 条回复 时间 点赞

早啊,good news

#2 楼 @lilychow 不要做无意义的回复。

坐等 GUI 版本

去尝鲜一下~

appium 代码仓库里面已经只剩下 js 文件了. 原来的各种平台实现已经独立出来了.

"dependencies": {
   "appium-android-driver": "^1.6.11",
   "appium-base-driver": "^1.3.0",
   "appium-express": "^1.2.0",
   "appium-fake-driver": "^0.1.9",
   "appium-ios-driver": "^1.8.7",
   "appium-logger": "^2.1.0",
   "appium-selendroid-driver": "^1.2.2",
   "appium-support": "^2.0.9",
   "argparse": "^1.0.2",
   "asyncbox": "^2.3.1",
   "authorize-ios": "^1.0.4",
   "babel-runtime": "=5.8.24",
   "bluebird": "^2.9.25",
   "date-utils": "^1.2.18",
   "lodash": "^3.9.1",
   "mobile-json-wire-protocol": "^1.3.2",
   "npmlog": "^2.0.1",
   "request-promise": "^1.0.2",
   "source-map-support": "^0.3.2",
   "teen_process": "^1.5.1",
   "winston": "^1.0.0"
 },

再看 appium-android-driver 项目 也是 nodejs 项目. 他的依赖如下

"dependencies": {
   "adm-zip": "^0.4.7",
   "appium-adb": "^2.4.2",
   "appium-android-bootstrap": "^2.5.0",
   "appium-android-ime": "^2.0.0",
   "appium-base-driver": "^1.3.0",
   "appium-chromedriver": "^2.8.0",
   "appium-express": "^1.2.0",
   "appium-logger": "^2.1.0",
   "appium-support": "^2.0.9",
   "appium-unlock": "0.0.1",
   "asyncbox": "^2.0.4",
   "babel-runtime": "=5.8.24",
   "bluebird": "^2.9.32",
   "io.appium.settings": "^2.0.0",
   "lodash": "^3.10.0",
   "mobile-json-wire-protocol": "^1.2.0",
   "source-map-support": "^0.3.1",
   "teen_process": "^1.4.0",
   "temp": "^0.8.3",
   "yargs": "^3.10.0"
 },

同样 appium-ios-driver 的项目依赖如下

"dependencies": {
  "adm-zip": "^0.4.7",
  "appium-base-driver": "^1.3.0",
  "appium-cookies": "^1.1.0",
  "appium-express": "^1.2.0",
  "appium-instruments": "^3.6.0",
  "appium-ios-log": "^1.2.0",
  "appium-ios-simulator": "^1.5.1",
  "appium-logger": "^2.1.0",
  "appium-remote-debugger": "^2.0.0",
  "appium-support": "^2.0.9",
  "appium-uiauto": "^2.3.1",
  "appium-xcode": "^3.1.0",
  "asyncbox": "^2.2.0",
  "babel-runtime": "=5.8.24",
  "bluebird": "^2.9.32",
  "ios-app-utils": "^1.1.0",
  "js2xmlparser2": "^0.2.0",
  "lodash": "^4.0.1",
  "mobile-json-wire-protocol": "^1.3.0",
  "node-idevice": "^0.1.5",
  "path": "^0.12.7",
  "safari-launcher": "^2.0.5",
  "source-map-support": "^0.4.0",
  "teen_process": "^1.3.0",
  "url": "^0.11.0",
  "uuid-js": "^0.7.5",
  "xmldom": "^0.1.19",
  "xpath": "0.0.21",
  "yargs": "^3.29.0"
},

大概的架构是 android-bootstrap->appium-android-driver->appium-base-driver->appium
很多功能都进行了拆分, 这样架构更清晰了. 不过感觉还是不够理想.
appium 的这些子模块几乎是涵盖了移动测试的大部分基础知识. 刷一遍还是会很有收获的.

UiAutomator2 和 XCUITEST 要 3 月份

Android url 该怎么用,driver.get 取出来的是什么类型,存在哪里,该怎么调用 (¬_¬) ノ

恒温 #10 · 2016年03月01日 Author

#6 楼 @seveniruby 是啊 调试都用不了了。。

#10 楼 @lihuazhang 遇到一个错误的话, 以前都是搜索 appium 的 github. 现在分成十几个 都不知道搜索哪个了. 只能自己 clone 到本地搜索了

新版本的 appium-doctor 怎么没了

有的 试过了

#4 楼 @t880216t GUI 版本貌似 不更新了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册