fix: RootAutomatorEngine.forceStop not working

This commit is contained in:
hyb1996
2017-08-14 20:10:33 +08:00
parent 7b4629aa1d
commit 8034dc7b6b
17 changed files with 125 additions and 51 deletions

View File

@@ -69,6 +69,11 @@
"type": "markdown",
"path":"documentation"
},
{
"title": "需要Root权限的触摸与多点触摸",
"type": "markdown",
"path":"documentation"
},
{
"title": "UI(用户界面)",
"type": "markdown",

View File

@@ -41,6 +41,8 @@ engines模块包含了一些与脚本引擎有关的函数包括运行其他
停止所有正在运行的脚本并显示停止的脚本数量。包括当前脚本自身。
### engines.myEngine()
# ScriptExecution
执行脚本时返回的对象,可以通过他获取执行的引擎、

View File

@@ -1,9 +1,13 @@
注意本章节的函数在后续版本很可能有改动请勿过分依赖本章节函数的副作用。推荐使用RootAutomator见《需要Root权限的触摸与多点触摸》代替本章的触摸函数。
以下函数均需要root权限可以实现任意位置的点击、滑动、长按、模拟物理按键等。
这些函数通常首字母大写以表示其特殊的权限。
这些函数均不返回任何值。
并且这些函数的执行是异步的、非实时的在不同机型上所用的时间不同。脚本不会等待动作执行完成才继续执行。因此最好在每个函数之后加上适当的sleep来达到期望的效果。
例如:
```
Tap(100, 100);

View File

@@ -10,7 +10,7 @@ var ra = RootAutomator(context);
### RootAutomator.tap(x, y\[, id\])
* x \<Number\> 横坐标
* y \<Number\> 纵坐标
* id \<Number\> 多点触摸id默认为1可以通过setDefaultId指定。
* id \<Number\> 多点触摸id,可选,默认为1可以通过setDefaultId指定。
点击位置(x, y)。其中id是一个整数值用于区分多点触摸不同的id表示不同的"手指",例如:
```
@@ -29,7 +29,7 @@ ra.exit();
* x2 \<Number\> 滑动终点横坐标
* y2 \<Number\> 滑动终点纵坐标
* duration \<Number\> 滑动时长单位毫秒默认值为300
* id \<Number\> 多点触摸id
* id \<Number\> 多点触摸id可选默认为1
模拟一次从(x1, y1)到(x2, y2)的时间为duration毫秒的滑动。
@@ -37,28 +37,36 @@ ra.exit();
* x \<Number\> 横坐标
* y \<Number\> 纵坐标
* duration \<Number\> 按下时长
* id \<Number\> 多点触摸id
* id \<Number\> 多点触摸id可选默认为1
模拟按下位置(x, y)时长为duration毫秒。
### RootAutomator.longPress(x, y[\, id\])
* x \<Number\> 横坐标
* y \<Number\> 纵坐标
* duration \<Number\> 按下时长
* id \<Number\> 多点触摸id可选默认为1
模拟长按位置(x, y)。
以上为简单模拟触摸操作的函数。如果要模拟一些复杂的手势,需要更底层的函数。
### RootAutomator.touchDown(x, y[\, id\])
* x \<Number\> 横坐标
* y \<Number\> 纵坐标
* id \<Number\> 多点触摸id
* id \<Number\> 多点触摸id可选默认为1
模拟手指按下位置(x, y)。
### RootAutomator.touchMove(x, y[\, id\])
* x \<Number\> 横坐标
* y \<Number\> 纵坐标
* id \<Number\> 多点触摸id
* id \<Number\> 多点触摸id可选默认为1
模拟移动手指到位置(x, y)。
### RootAutomator.touchUp([\id\])
* id \<Number\> 多点触摸id
### RootAutomator.touchUp(\[id\])
* id \<Number\> 多点触摸id可选默认为1
模拟手指弹起。

View File

@@ -1,27 +1,28 @@
"auto";
var ra = new RootAutomator();
ra.setScreenMetrics(1080, 1920);
setScreenMetrics(1080, 1920);
launchApp("QQ");
sleep(1500);
//点击动态图标
Tap(891, 1851);
ra.tap(891, 1851);
//点击好友动态
Tap(192, 453);
ra.tap(192, 453);
//点击头像
Tap(155, 638);
ra.tap(155, 638);
//点击留言
Tap(747, 775);
ra.tap(747, 775);
while(true){
if(currentPackage() == 'com.tencent.mobileqq'){
//点击箭头图标
Tap(1029, 433);
ra.tap(1029, 433);
//点击删除
Tap(530, 820);
ra.tap(530, 820);
//点击确定
Tap(331, 1122);
ra.tap(331, 1122);
}
sleep(200);
}