function _isOtgResultOk(r) {
return r == null || r == "";
}
function reset_screen_size_by_activeself() {
let ss = activeSelf.deviceOrientation(10000)
if (ss) {
logd("当前屏幕方向: " + ss["data"])
}
logd("开始截图 ")
console.time(1)
let img = activeSelf.screenshot(10000)
logd(img)
if (img) {
logd("图像的高度: ", img.getWidth() + "," + img.getHeight())
let set = otgEvent.setScreenSize(img.getWidth(), img.getHeight())
if (_isOtgResultOk(set)) {
logd("设置屏幕尺寸成功")
} else {
logw("设置屏幕尺寸 失败 ")
}
img.recycle()
}
logd("end,消耗时间(ms) ", console.timeEnd(1))
}
function testSystemKey() {
logd("测试系统按键功能")
sleep(200)
let rc = otgEvent.systemKey("recents")
if (_isOtgResultOk(rc)) {
logd("执行 recents 成功")
} else {
logw("执行 recents 失败")
}
sleep(3000)
let hm = otgEvent.systemKey("home");
if (_isOtgResultOk(hm)) {
logd("执行 home 成功")
} else {
logw("执行 home 失败")
}
}
function test_click() {
logd("开始测试点击,等手势动作功能")
sleep(1000)
logd("重置坐标到0,0")
if (!_isOtgResultOk(otgEvent.resetZero())) {
logw("鼠标归零失败")
return
}
logd("鼠标归零成功")
otgEvent.setStep(100)
sleep(1000)
if (!_isOtgResultOk(otgEvent.clickPoint(300, 420))) {
logw("鼠标 点击 300,420 失败")
return;
}
logd("鼠标 点击 300,420 成功")
sleep(1000)
if (!_isOtgResultOk(otgEvent.doubleClickPoint(600, 500))) {
logw("鼠标 双击 600,500 失败")
return;
}
logd("鼠标 双击 600,500 成功")
sleep(1000)
if (!_isOtgResultOk(otgEvent.press(620, 520, 5000))) {
logw("鼠标 长按 620,520 失败")
return;
}
logd("鼠标 长按 620,520 成功")
sleep(1000)
if (!_isOtgResultOk(otgEvent.mouseMoveDistance(10, 10, true))) {
logw("鼠标 按下 移动 10,10像素 失败")
return;
}
logd("鼠标 按下 移动 10,10像素 成功")
sleep(1000)
if (!_isOtgResultOk(otgEvent.mouseMoveDistance(10, 10, false))) {
logw("鼠标 移动 10,10像素 失败")
return;
}
logd("鼠标 移动 10,10像素 成功")
}
function testOtgMtouch() {
let touch1 = [
{
"action": 0, "x": 300,
"y": 900, "pointer": 1, "delay": 1
},
{
"action": 2,
"x": 500,
"y": 800,
"pointer": 1,
"delay": 20
}, {
"action": 2,
"x": 500,
"y": 500,
"pointer": 1,
"delay": 20
},
{
"action": 1,
"x": 100,
"y": 300,
"pointer": 1,
"delay": 20
}];
let m = otgEvent.multiTouch(touch1, 10000)
if (_isOtgResultOk(m)) {
logd("测试 multiTouch 成功")
} else {
logw("测试 multiTouch 失败 " + m)
}
}
function test_touch() {
logd("开始测试touch动作")
sleep(1000)
if (_isOtgResultOk(otgEvent.touchDown(200, 300))) {
logd("测试 touchDown 200,300 成功")
} else {
logw("测试 touchDown 200,300 成功")
}
sleep(100)
if (_isOtgResultOk(otgEvent.touchMove(220, 320))) {
logd("测试 touchMove 220,320 成功")
} else {
logw("测试 touchMove 220,320 成功")
}
sleep(100)
if (_isOtgResultOk(otgEvent.touchMove(250, 360))) {
logd("测试 touchMove 250,360 成功")
} else {
logw("测试 touchMove 250,360 成功")
}
sleep(100)
if (_isOtgResultOk(otgEvent.touchUp(250, 360))) {
logd("测试 touchUp 250,360 成功")
} else {
logw("测试 touchUp 250,360 成功")
}
logd("开始测试滑动")
sleep(2000)
if (_isOtgResultOk(otgEvent.swipeToPoint(200, 400, 290, 800, 2000))) {
logd("测试滑动 swipeToPoint 200,400,290,800, 成功")
} else {
logw("测试滑动 swipeToPoint 200,400,290,800, 失败")
}
}
function test_otg_keyboard() {
logd("请找到一个输入进行测试")
sleep(2000)
if (_isOtgResultOk(otgEvent.keyPressChar("", "a"))) {
logd("输入 a 成功 ")
} else {
logw("输入 a 失败 ")
}
sleep(1000)
if (_isOtgResultOk(otgEvent.pressMouseBtn(8))) {
logd("输入 pressMouseBtn 8 成功 ")
} else {
logw("输入 pressMouseBtn 8 失败 ")
}
sleep(1000)
if (_isOtgResultOk(otgEvent.toggleSoftKeyboard())) {
logd("输入 toggleSoftKeyboard 成功 ")
} else {
logw("输入 toggleSoftKeyboard 失败 ")
}
}
function test_otg() {
logd("开始测试OTG功能")
sleep(1000)
logd("设置超时时间为 20000 ms")
otgEvent.setTimeout(20000)
sleep(1000)
if (!otgEvent.isConnected()) {
logw("OTG设备未准备好")
return
}
logd("OTG已经准备好")
let ok = otgEvent.setLastScale()
logd("setLastScale : {}", ok)
if (!_isOtgResultOk(ok)) {
console.log("如果你使用的是绝对坐标固件,请将scale设置为1")
let scale = bleEvent.getIPhoneScale();
let setscle = otgEvent.setScale(scale, scale)
if (!_isOtgResultOk(setscle)) {
logd("设置补偿比例失败")
return;
}
} else {
logd("使用校准的补偿比例")
}
reset_screen_size_by_activeself();
console.log("reset " + otgEvent.resetZero())
sleep(1000)
test_click();
test_touch();
test_otg_keyboard();
}
test_otg()