.then(function(){
var element = browser.elementByXPath("...");
var action = wd.TouchAction();
action.longPress({el: element});
})
还是说 TypeError: Object [object Promise] has no method 'longPress'
#1 楼 @misnull 不好意思,看不懂是什么意思,我把代码改成了
.then(function(){
try{
WebDriverWait(dr,30).until(EC.presence_of_element_located((By.NAME,"下载")))
}
catch(E){
console.log("got exception");
}
})
这样的结果是把 promise 对象打印出来了,和我的第一个方法是一样的结果。
如何能说明找到了” 下载 “这个 textview 控件呢?
或者说可以取到 textView 的 text,进行字符串比较,比如
var t = driver.elementByXPath(".....").text();
if (t == "下载"){
console.log("find it");
}
目前是这样尝试的,可是 t 还是一个 promise 对象,不是 string
没看懂楼主想问什么,根据本人测试效果,appium 是单例的,只能启动一个服务。当模拟器 1 执行测试时,启动模拟器 2,会打断模拟器 1,开始执行模拟器 2.
#3 楼 @jinjun0620 哦 好的 谢谢~
#1 楼 @weamylady
全看完么?
#7 楼 @weamylady 恩~~
#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
#8 楼 @lihuazhang 有问题可以贴出来,可以帮你解决,我总结的东西都形成公司的文档了,不便直接发出来。当然,个人水平有限,观点也不一定正确。
#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
#5 楼 @seveniruby 只恨我原本是做 ios 的,听不懂大神在说什么
赞!
#1 楼 @weamylady 哦,这也是方法之一,不过 UIAutomator 是不是对 webview 毫无办法?