在Calabash-Android测试中推/拉文件

时间:2016-11-02 16:27:18

标签: android ruby adb calabash calabash-android

我想将文件从活动目录(windows)推送到模拟Android手机。 我的活动目录是我的calabash测试的地方,我想将文件推送到/ data / data / appName / files /

我尝试了各种各样的方式,我试图逃避路径,也赢得和打击形式,等等......我错过了什么?

#causes adb: error: cannot stat No such file or directory
pull("/data/data/cz.getone.jkr_mb2.phone/files/", "\%cd\%\\calabash-tests\\data\\someFolder\\")

#causes adb: error: cannot create file/directory No such file or directory
push("\%cd\%\\calabash-tests\\data\\someFolder\\", "/data/data/cz.getone.jkr_mb2.phone/files/")

system("#{default_device.adb_command} pull ./calabash-tests/data/sqlite/*.sqlite /data/data/cz.getone.jkr_mb2.phone/files")

system("#{default_device.adb_command} push ./calabash-tests/data/sqlite/*.sqlite /data/data/cz.getone.jkr_mb2.phone/files")

从我在calabash测试中调用push / pull时的错误来看,cwd是模拟电话的根(/)...如何访问Windows上的cwd? isnt pull / push方法应该找出哪个路径在手机里面,哪个不是?

这就是葫芦拉法在里面看起来的样子......虽然

但是看看adb拉的样子
def pull(remote, local)
  cmd = "#{adb_command} pull #{remote} #{local}"
  raise "Could not pull #{remote} to #{local}" unless system(cmd)
end

1 个答案:

答案 0 :(得分:0)

我用这个:

对于文件夹

系统(' adb -s x push Folder / subFolder / sdcard / Downloads / Folder')

其中:

  • 文件夹位于启动命令的当前Active Directory中
  • x是设备的ID(使用' adb设备'命令),如果有一个连接的设备,则无需指定它。

For File

系统(' adb push image.jpg / sdcard / Pictures')

对于Pull命令,只需遵循相同的模式。