Appium appium0.17 版本发布

思寒_seveniruby · 2014年03月19日 · 最后由 恒温 回复于 2014年04月01日 · 3592 次阅读

CHANGES IN VERSION 0.17.1 (from 0.17.0)

General

  • move toward CI: build appium and run reset.sh on Travis

iOS

  • pass quiet flag to fruitstrap when in quiet mode
  • update appium-instruments (which fixes retry behavior)

Android

  • fix uninstall detection

CHANGES IN VERSION 0.17.0 (from 0.16.0)

General

  • fix maxBuffer error in installApp command
  • rearchitect device extraction and configuration from args/caps, and add lots of unit tests
  • show non-default server params in server log for easier debugging
  • add --command-timeout as a server arg
  • don't ever use sudo to install npm submodules
  • ensure appium's CWD is always the appium dir
  • clear out commandTimeout between sessions, so subsequent sessions don't count the session launching time as command time
  • set npm submodules to track published branches
  • relax requirements for unpacking zipfiles and finding app names

iOS

  • handle both binary and xml plists when changing ios settings plists
  • break out appium-instruments into its own npm package
  • fix bug where command line --force-iphone or --force-ipad wouldn't set device. This should fix issues with Appium.app
  • add --keep-keychains server arg / keepKeychains desired cap in order to disallow deletion of Keychains dir
  • bring reset behavior back to what it was before location services / settings updates, so that with the default reset, most directories are still cleared out
  • use actual current ios sdk in reset.sh
  • create plist basedirs if they don't exist
  • add processArguments cap to pass args to AUT
  • make --merciful the default
  • require bundleId when using location services caps
  • update UICatalog test app for 7.1
  • fix duplicate textfield issue in iOS 7.1
  • use new instruments - w param in iOS 7.1 to set device type
  • add location and contact alert request buttons to TestApp

iOS+Safari

  • update initial webview navigation logic to work on 7.1
  • if we start with a real webview, don't try to nav to webview through favs

Android

  • added support for 'direction' in scrollTo
  • fix source command(有用)
  • add longClick by position and duration
  • fix reset.bat issues on Windows
  • updated Windows installation instructions
  • added --udid flag to reset.sh/bat, so it can uninstall from specific devices
  • added support for touch{Down|Up|Move}
  • add "mobile: push" and "mobile: pull" commands to send files to/from device(有用)
  • ensure apks are always run through zipalign
  • parse launch package and activity from apk, so that app-package and app-activity caps are no longer required(这个有意思)
  • use better version of isAppInstalled

Chrome+Android

  • update bundled chromedriver to 2.9
  • add enablePerformanceLogging cap(有用)
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 20 条回复 时间 点赞

parse launch package and activity from apk, so that app-package and app-activity caps are no longer required(这个有意思),早就该这样了,先前这两个参数还要自己去看,但其实完全可以从 xml 中自动获取~

#1 楼 @qddegtya 我觉得他可能用的是 pm list 吧。 xml 这个在没启动之前是不行的吧

有没有下载地址呢

貌似那个功能有点问题,不知道是不是我的环境有问题,不使用 packagename 启动程序,会报如下错误:

uncaughtException: EXDEV, cross-device link not permitted '/root/tmp/appium114220-28070-7dwazd.tmp' date=Thu Mar 20 2014 15:29:14 GMT+0800 (HKT), pid=28070, uid=0, gid=0, cwd=/usr/local/lib/node_modules/appium, execPath=/usr/local/bin/node, version=v0.10.25, argv=[node, /usr/local/bin/appium], rss=58417152, heapTotal=52044288, heapUsed=18513152, loadavg=[0.35302734375, 0.25927734375, 0.41357421875], uptime=107287.038264064, trace=[column=18, file=fs.js, function=Object.fs.renameSync, line=543, method=fs.renameSync, native=false, column=10, file=/usr/local/lib/node_modules/appium/lib/devices/android/adb.js, function=null, line=465, method=null, native=false, column=7, file=child_process.js, function=ChildProcess.exithandler, line=635, method=exithandler, native=false, column=17, file=events.js, function=ChildProcess.EventEmitter.emit, line=98, method=EventEmitter.emit, native=false, column=16, file=child_process.js, function=maybeClose, line=743, method=null, native=false, column=5, file=child_process.js, function=Process.ChildProcess._handle.onexit, line=810, method=ChildProcess._handle.onexit, native=false], stack=[Error: EXDEV, cross-device link not permitted '/root/tmp/appium114220-28070-7dwazd.tmp',     at Object.fs.renameSync (fs.js:543:18),     at /usr/local/lib/node_modules/appium/lib/devices/android/adb.js:465:10,     at ChildProcess.exithandler (child_process.js:635:7),     at ChildProcess.EventEmitter.emit (events.js:98:17),     at maybeClose (child_process.js:743:16),     at Process.ChildProcess._handle.onexit (child_process.js:810:5)]

而且报错后会把 app 路径下的文件删除掉。。。

#4 楼 @vincent 我现在报的错跟你一样,请问你解决了吗,解决的话能告诉我咋解决的。

#5 楼 @zhouxiaoyagirl 没有,直接不用这个功能就好了- -

#6 楼 @vincent 你是说不要去掉 app-package 和 app-activity 是吗,可是我一直没有去掉,也是报这个错

#7 楼 @zhouxiaoyagirl r u sure? 你试下卸载掉重新安装一次?我倒是没有遇到过,你以前可以正常使用的么?重装后如果不行把你的代码贴下,让大家看看

#8 楼 @vincent 这是我第一次用 appium,没有正常启动过

#9 楼 @zhouxiaoyagirl 嗯,我能重现你的问题了,你先把 APK 安装到手机上,然后把 desired_caps 的 app 干掉, appium 启动加参数 --no-reset,试下吧

我刚刚试了,再脚本中去掉了 desired_caps 的 app,手机上也安装了 apk,运行时就会报
activity 不存在的错误

#11 楼 @zhouxiaoyagirl 你确定你的 activity 存在吗, 用命令看下, 或者直接用 am 试试能不能启动

#11 楼 @zhouxiaoyagirl serveniruby 说得对,你的 Activity 名字写错了吧?要是 Mainifest.xml 里面写的那个 Activity 的名字哈~

#13 楼 @vincent 我确定我的 activity 没有写错
是.simpleactivity.SplashActivity 这个

#3 楼 @flying 最新的 appium 的包的下载地址: http://pan.baidu.com/s/1sjwbss9

#14 楼 @zhouxiaoyagirl 你明显写错了啊。

desired_caps['app-activity'] = '.simpleactivity.SplashActivity'

你看看自己的是神马?

#16 楼 @lihuazhang 已经解决,一直没有想到,要连包名一起写才能找的到。谢谢大家的帮忙

#17 楼 @zhouxiaoyagirl 因为它是两个层级的东西。

#10 楼 @vincent 请问如果是 java 代码,该如何加这个启动参数 --no-reset??谢谢

#19 楼 @xiayuxiamo 现在的新版本已经不需要做这个事情了吧?如果你是 Node 安装的,启动的时候在 appium 的命令后面加就可以了,如果是 appiumforwindows 那么就不需要加这个参数了。不过我已经好久好久没有用过这个参数了,不用也没有遇到什么大问题。。这个参数跟你用什么代码写的脚本没有关系,是 appium 的服务启动参数

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