Appium appium 中 nodejs 如何截图?

韩家公子 · 2015年01月06日 · 最后由 大东 回复于 2015年01月07日 · 1460 次阅读

新人求教,如题,根据查到的一些东西是用 driver.get_screenshot_as_file() 这个方法,可是运行时报错说没有这个方法,我在电脑中搜索含有这个函数的文件,也没有结果。
js 截图应该如何实现?

共收到 9 条回复 时间 点赞

原理还是:

adb shell /system/bin/screencap -p

#1 楼 @anikikun 我在命令行试了一下你说的 “adb shell /system/bin/screencap -p”,结果命令行崩溃了=_=!

#2 楼 @xingjizhao
还真拿去直接用啊= =
完整的

adb shell /system/bin/screencap -p /sdcard/screenshot.png

#3 楼 @anikikun 恩 我在命令行可以截图,在 js 中怎么写?
var screenShot1 = "adb shell /system/bin/screencap -p /sdcard/screenshot.png";
var screenShot2 = "adb pull /sdcard/screenshot.png ~/screenshot.png";
var screenShot3 = "adb shell rm /sdcard/androidscreen.png";

.execute(screenShot1 ).sleep(5000)
.execute(screenShot2).sleep(5000)
.execute(screenShot3).sleep(5000)

报错,Error: [execute("adb shell /system/bin/screencap -p /sdcard/screenshot.png")] Er
ror response status: 13, , UnknownError - An unknown server-side error occurred
while processing the command. Selenium error: Not yet implemented. Please help u
s: http://appium.io/get-involved.html

#4 楼 @xingjizhao var screenShot1 = "adb shell /system/bin/screencap -p /sdcard/screenshot.png";
var screenShot2 = "adb pull /sdcard/screenshot.png ~/screenshot.png";
var exec = require('child_process').exec;

exec(screenShot1);exec(screenShot2);

这样可以在 js 脚本中调用 adb

#5 楼 @xingjizhao
=0=就是 js 如何使用 cmd 命令的方法。。

#6 楼 @anikikun js 和 android 水平比较烂,另外我主要是在 mac os 和 ios 上开发,对 windows 不熟~~~~

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