 | |  |  | 苹果 脚本里HID的5种滑动方法的使用
- // AIWROK苹果系统滑动功能综合测试案例
- // 🍎交流QQ群711841924群一,苹果内测群,528816639
- // 本文件演示所有HID滑动方法的使用
- function sleep(ms) {
- var start = new Date().getTime();
- while (new Date().getTime() - start < ms) {
- }
- }
- function main() {
- printl("========== AIWROK苹果系统滑动功能综合测试 ==========\n");
-
- // 获取屏幕尺寸
- var screenWidth = device.width || 750;
- var screenHeight = device.height || 1334;
- printl("屏幕尺寸: " + screenWidth + "x" + screenHeight);
- printl("");
- demoBasicSwipeMethods(); // 示例1: 基础滑动方法
- demoDirectionalSwipes(); // 示例2: 方向性滑动
- demoPercentSwipes(); // 示例3: 百分比坐标滑动
- demoAdvancedSwipes(); // 示例4: 高级滑动技巧
- demoPracticalSwipeScenarios(); // 示例5: 实用滑动场景
-
- printl("\n========== 所有滑动测试执行完毕 ==========");
- }
- // ========== 示例1: 基础滑动方法 ==========
- function demoBasicSwipeMethods() {
- printl("【示例1】基础滑动方法 hid.swip()");
- printl("说明:使用hid.swip()在任意两点间滑动\n");
- try {
- printl("方式1: 垂直向下滑动(从顶部到底部)");
- // 参数: x1, y1, x2, y2, press, swipTime, delayUp
- hid.swip(375, 200, 375, 1100, 50, 800, 100);
- printl("✓ 垂直向下滑动完成");
- sleep(500);
- printl("方式2: 垂直向上滑动(从底部到顶部)");
- hid.swip(375, 1100, 375, 200, 50, 800, 100);
- printl("✓ 垂直向上滑动完成");
- sleep(500);
- printl("方式3: 水平向右滑动");
- hid.swip(100, 600, 650, 600, 50, 600, 100);
- printl("✓ 水平向右滑动完成");
- sleep(500);
- printl("方式4: 水平向左滑动");
- hid.swip(650, 600, 100, 600, 50, 600, 100);
- printl("✓ 水平向左滑动完成");
- sleep(500);
- printl("方式5: 对角线滑动(左上到右下)");
- hid.swip(100, 200, 650, 1100, 50, 1000, 100);
- printl("✓ 对角线滑动完成");
- sleep(500);
- } catch (e) {
- printl("错误: " + e);
- }
- printl("");
- }
- // ========== 示例2: 方向性滑动 ==========
- function demoDirectionalSwipes() {
- printl("【示例2】方向性滑动方法");
- printl("说明:使用专门的横向/纵向滑动方法\n");
- try {
- printl("方式1: 横向滑动 hid.swipH()");
- // 参数: x1, y, x2, press, swipTime, delayUp
- hid.swipH(100, 600, 650, 50, 600, 100);
- printl("✓ 横向滑动完成(从左到右)");
- sleep(500);
- printl("方式2: 反向横向滑动");
- hid.swipH(650, 600, 100, 50, 600, 100);
- printl("✓ 横向滑动完成(从右到左)");
- sleep(500);
- printl("方式3: 纵向滑动 hid.swipV()");
- // 参数: x, y1, y2, press, swipTime, delayUp
- hid.swipV(375, 200, 1100, 50, 800, 100);
- printl("✓ 纵向滑动完成(从上到下)");
- sleep(500);
- printl("方式4: 反向纵向滑动");
- hid.swipV(375, 1100, 200, 50, 800, 100);
- printl("✓ 纵向滑动完成(从下到上)");
- sleep(500);
- } catch (e) {
- printl("错误: " + e);
- }
- printl("");
- }
- // ========== 示例3: 百分比坐标滑动 ==========
- function demoPercentSwipes() {
- printl("【示例3】百分比坐标滑动方法");
- printl("说明:使用百分比坐标进行滑动,适配不同屏幕尺寸\n");
- try {
- printl("方式1: 百分比横向滑动 hid.swipHPercent()");
- // 参数: x1Percent, yPercent, x2Percent, press, swipTime, delayUp
- hid.swipHPercent(0.1, 0.5, 0.9, 50, 600, 100);
- printl("✓ 百分比横向滑动完成(10%到90%)");
- sleep(500);
- printl("方式2: 反向百分比横向滑动");
- hid.swipHPercent(0.9, 0.5, 0.1, 50, 600, 100);
- printl("✓ 百分比横向滑动完成(90%到10%)");
- sleep(500);
- printl("方式3: 百分比纵向滑动 hid.swipVPercent()");
- // 参数: xPercent, y1Percent, y2Percent, press, swipTime, delayUp
- hid.swipVPercent(0.5, 0.15, 0.85, 50, 800, 100);
- printl("✓ 百分比纵向滑动完成(15%到85%)");
- sleep(500);
- printl("方式4: 反向百分比纵向滑动");
- hid.swipVPercent(0.5, 0.85, 0.15, 50, 800, 100);
- printl("✓ 百分比纵向滑动完成(85%到15%)");
- sleep(500);
- printl("方式5: 短距离百分比滑动");
- hid.swipVPercent(0.5, 0.4, 0.6, 50, 400, 50);
- printl("✓ 短距离百分比滑动完成(小幅滚动)");
- sleep(500);
- } catch (e) {
- printl("错误: " + e);
- }
- printl("");
- }
- // ========== 示例4: 高级滑动技巧 ==========
- function demoAdvancedSwipes() {
- printl("【示例4】高级滑动技巧");
- printl("说明:组合多种参数实现复杂的滑动效果\n");
- try {
- printl("方式1: 快速滑动(短时间)");
- hid.swipVPercent(0.5, 0.2, 0.8, 30, 300, 50);
- printl("✓ 快速滑动完成(300ms)");
- sleep(400);
- printl("方式2: 慢速平滑滑动(长时间)");
- hid.swipVPercent(0.5, 0.2, 0.8, 80, 1500, 150);
- printl("✓ 慢速滑动完成(1500ms)");
- sleep(500);
- printl("方式3: 带按压延迟的滑动");
- hid.swipVPercent(0.5, 0.2, 0.8, 200, 800, 200);
- printl("✓ 带按压延迟的滑动完成");
- sleep(500);
- printl("方式4: 连续滑动演示(3次)");
- for (var i = 0; i < 3; i++) {
- printl("第" + (i+1) + "次滑动...");
- hid.swipVPercent(0.5, 0.3, 0.7, 50, 600, 100);
- sleep(300);
- }
- printl("✓ 连续滑动演示完成");
- sleep(500);
- printl("方式5: Z字形滑动路径");
- // 第一段:右上
- hid.swip(200, 800, 550, 500, 50, 500, 50);
- sleep(200);
- // 第二段:右下
- hid.swip(550, 500, 200, 900, 50, 500, 50);
- sleep(200);
- // 第三段:右上
- hid.swip(200, 900, 550, 400, 50, 500, 50);
- printl("✓ Z字形滑动完成");
- sleep(500);
- } catch (e) {
- printl("错误: " + e);
- }
- printl("");
- }
- // ========== 示例5: 实用滑动场景 ==========
- function demoPracticalSwipeScenarios() {
- printl("【示例5】实用滑动场景");
- printl("说明:模拟实际应用中的滑动操作(全部使用非阻塞方式)\n");
- try {
- printl("场景1: 列表滚动演示(上滑3次)");
- for (var i = 0; i < 3; i++) {
- printl("第" + (i+1) + "次上滑...");
- // 使用非阻塞方式:moveToRealPoint + mouseDown + mouseUp
- hid.moveToRealPoint(375, 934); // 底部位置 (70%)
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(375, 400); // 顶部位置 (30%)
- sleep(300);
- hid.mouseUp();
- sleep(400);
- }
- printl("✓ 列表滚动演示完成");
- sleep(400);
- printl("场景2: 图片轮播(左右滑动)");
- try {
- // 切换到下一张 - 右滑
- printl("右滑切换到下一张...");
- hid.moveToRealPoint(600, 667);
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(150, 667);
- sleep(300);
- hid.mouseUp();
- sleep(300);
- printl("✓ 右滑完成");
-
- // 切换到上一张 - 左滑
- printl("左滑切换到上一张...");
- hid.moveToRealPoint(150, 667);
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(600, 667);
- sleep(300);
- hid.mouseUp();
- sleep(300);
- printl("✓ 左滑完成");
-
- printl("✓ 图片轮播演示完成");
- } catch (e) {
- printl("✗ 图片轮播出错: " + e);
- }
- printl("场景3: 下拉刷新");
- try {
- printl("执行下拉刷新动作...");
- // 从顶部向下拉 - 非阻塞方式
- hid.moveToRealPoint(375, 133); // 顶部 (10%)
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(375, 534); // 中间偏上 (40%)
- sleep(400);
- hid.mouseUp();
- sleep(300);
- printl("✓ 下拉刷新演示完成");
- } catch (e) {
- printl("✗ 下拉刷新出错: " + e);
- }
- printl("场景4: 侧边栏滑出");
- try {
- // 从左侧向右滑 - 打开侧边栏
- printl("右滑打开侧边栏...");
- hid.moveToRealPoint(37, 667);
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(375, 667);
- sleep(300);
- hid.mouseUp();
- sleep(300);
- printl("✓ 侧边栏已打开");
-
- // 关闭侧边栏
- printl("左滑关闭侧边栏...");
- hid.moveToRealPoint(375, 667);
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(37, 667);
- sleep(300);
- hid.mouseUp();
- sleep(300);
- printl("✓ 侧边栏操作演示完成");
- } catch (e) {
- printl("✗ 侧边栏操作出错: " + e);
- }
- printl("场景5: 页面切换(边缘滑动)");
- try {
- // 从右边缘向左滑(返回上一页)
- printl("边缘左滑返回上一页...");
- hid.moveToRealPoint(712, 667);
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(75, 667);
- sleep(300);
- hid.mouseUp();
- sleep(300);
- printl("✓ 页面切换演示完成");
- } catch (e) {
- printl(" 页面切换出错: " + e);
- }
- printl("场景6: 小幅度精确调整演示(5次微调)");
- try {
- for (var i = 0; i < 5; i++) {
- printl("第" + (i+1) + "次微调...");
- hid.moveToRealPoint(375, 640); // 48% 位置
- sleep(50);
- hid.mouseDown();
- sleep(50);
- hid.moveToRealPoint(375, 694); // 52% 位置
- sleep(200);
- hid.mouseUp();
- sleep(200);
- }
- printl("✓ 精确调整演示完成");
- } catch (e) {
- printl("✗ 精确调整出错: " + e);
- }
- sleep(500);
- } catch (e) {
- printl("错误: " + e);
- }
- printl("");
- }
- // ========== 辅助函数 ==========
- /**
- * 安全的滑动函数,包含错误处理
- */
- function safeSwipe(x1, y1, x2, y2, description) {
- try {
- printl("执行滑动: " + description);
- hid.swip(x1, y1, x2, y2, 50, 600, 100);
- printl("✓ 滑动成功");
- return true;
- } catch (e) {
- printl("✗ 滑动失败: " + e.message);
- return false;
- }
- }
- /**
- * 批量执行滑动操作
- */
- function batchSwipe(swipeOperations) {
- printl("批量执行 " + swipeOperations.length + " 个滑动操作");
- var successCount = 0;
-
- for (var i = 0; i < swipeOperations.length; i++) {
- var op = swipeOperations[i];
- printl("执行第 " + (i+1) + " 个操作: " + op.name);
-
- try {
- if (op.type === 'swip') {
- hid.swip(op.x1, op.y1, op.x2, op.y2, op.press || 50, op.time || 600, op.delay || 100);
- } else if (op.type === 'swipH') {
- hid.swipH(op.x1, op.y, op.x2, op.press || 50, op.time || 600, op.delay || 100);
- } else if (op.type === 'swipV') {
- hid.swipV(op.x, op.y1, op.y2, op.press || 50, op.time || 600, op.delay || 100);
- } else if (op.type === 'swipHPercent') {
- hid.swipHPercent(op.x1, op.y, op.x2, op.press || 50, op.time || 600, op.delay || 100);
- } else if (op.type === 'swipVPercent') {
- hid.swipVPercent(op.x, op.y1, op.y2, op.press || 50, op.time || 600, op.delay || 100);
- }
-
- successCount++;
- printl("✓ 操作成功");
- } catch (e) {
- printl("✗ 操作失败: " + e.message);
- }
-
- if (i < swipeOperations.length - 1) {
- sleep(800);
- }
- }
-
- printl("批量操作完成,成功: " + successCount + "/" + swipeOperations.length);
- return successCount === swipeOperations.length;
- }
- /**
- * 坐标转换工具
- */
- function toPercent(x, y) {
- var screenWidth = device.width || 750;
- var screenHeight = device.height || 1334;
- return {
- x: x / screenWidth,
- y: y / screenHeight
- };
- }
- // 执行主函数
- main();
复制代码
| |  | |  |
|