 | |  |  | 安卓 脚本auto方法完整示例
- /**
- * 交流QQ群: 711841924 (群一) / 528816639 (安卓内测群)
- * 演示back、backToImage、backToText、checkImage、clickImage的实际应用场景
- * 保留完整功能代码 + H5日志界面适配
- */
- // ==================== 示例1: back - 标准返回 ====================
- function demoExample() {
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- printl(" 示例1: back 标准返回操作");
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- sleep.second(1);
-
- printl("即将返回上一页");
- sleep.second(0.5);
-
- // 核心功能代码:调用 auto.back() 返回上一页
- // auto.back(); // 注释掉,避免返回后无法继续执行后续示例
-
- sleep.second(1);
- printl("✅ 已执行返回操作(演示模式)");
- sleep.second(0.5);
-
- // 注意:返回操作会离开H5界面,实际使用时需要重新打开
- printl(" 提示:返回操作后会离开当前H5界面");
- sleep.second(0.5);
- printl(" 如需继续显示日志,需重新加载H5界面");
- sleep.second(1.5);
- }
- // ==================== 示例2: backToImage - 图片引导返回 ====================
- function 找图后退() {
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- printl(" 示例2: backToImage 图片引导返回");
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- sleep.second(1);
-
- // 步骤1: 截取整个屏幕的截图
- printl(" 步骤1: 截取屏幕...");
- var img = screen.screenShotFull();
- sleep.second(0.5);
-
- // 步骤2: 从截图中裁剪特定区域的图片
- printl(" 步骤2: 裁剪目标区域...");
- var cutimg = img.cutImagePercent(0.8869, 0.0572, 0.9434, 0.0825);
- sleep.second(0.5);
-
- // 步骤3: 定义保存图片的路径
- var imgPath = "/sdcard/cutimg.png";
-
- // 步骤4: 将裁剪后的图片保存到指定路径
- printl(" 步骤3: 保存图片: " + imgPath);
- cutimg.save(imgPath);
- sleep.second(0.5);
-
- // 步骤5: 打印图片信息
- printl(" 图片信息(模拟): 122 × 97");
- sleep.second(0.5);
-
- // 步骤6: 释放截图资源
- printl(" 步骤4: 释放资源...");
- img.recycle();
- sleep.second(0.5);
-
- // 步骤7: 创建包含图片路径的数组
- var imgPathArray = [imgPath];
-
- // 步骤8: 核心功能代码 - 自动根据图片路径数组进行回退操作
- printl(" 步骤5: 执行 backToImage(已注释,避免中断后续示例)...");
- // auto.backToImage(imgPathArray, 0.8, 10000, 0, [0, 0, 1, 1]);
- sleep.second(1);
- printl("✅ 图片引导返回演示完成");
- sleep.second(1.5);
- }
- // ==================== 示例3: backToText - 文字引导返回 ====================
- function 回退到指定页面() {
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- printl(" 示例3: backToText 文字引导返回");
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- sleep.second(1);
-
- // 步骤1: 定义需要查找的文本
- var targetText = "关注||我的";
- printl(" 目标文本: " + targetText);
- sleep.second(0.5);
-
- // 步骤2: 设置超时时间为10秒
- var timeout = 10000;
- printl(" 超时时间: " + timeout + "毫秒");
- sleep.second(0.5);
-
- // 步骤3: 核心功能代码 - 尝试回到包含指定文本的页面
- printl(" 执行 backToText(已注释,避免中断后续示例)...");
- // var result = auto.backToText(targetText, timeout);
-
- // 模拟结果用于演示
- var result = true;
-
- // 检查操作结果
- if (result) {
- printl("✅ 成功回退到指定页面(模拟结果)");
- } else {
- printl(" 未能找到指定页面或操作超时");
- }
-
- sleep.second(1.5);
- }
- // ==================== 示例4: checkImage - 图像检测 ====================
- function 检测图片存在() {
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- printl(" 示例4: checkImage 图像检测");
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- sleep.second(1);
-
- // 步骤1: 定义图片数组
- var images = ["image1.png", "image2.jpg", "image3.bmp"];
- printl(" 检测图片: " + images.length + " 张");
- sleep.second(0.5);
-
- // 步骤2: 设置参数
- var similarity = 0.8;
- var timeout = 5000;
- var quality = 1;
- printl(" 相似度: " + similarity);
- printl(" 超时: " + timeout + "ms");
- printl(" 质量: " + quality);
- sleep.second(0.5);
-
- // 步骤3: 设置百分比区域
- var region = [0, 0, 1, 1];
- printl(" 搜索区域: 全图");
- sleep.second(0.5);
-
- // 步骤4: 核心功能代码 - 调用checkImage函数
- printl(" 执行 checkImage...");
- var result = auto.checkImage(images, similarity, timeout, quality, region);
- sleep.second(0.5);
-
- // 步骤5: 打印结果
- if (result) {
- printl("✅ 找到匹配图片");
- } else {
- printl("❌ 未找到匹配图片");
- }
-
- sleep.second(1.5);
- }
- // ==================== 示例5: clickImage - 图像点击 ====================
- function 点击图片() {
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- printl(" 示例5: clickImage 图像点击");
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- sleep.second(1);
-
- // 步骤1: 截取屏幕并裁剪图片
- printl(" 步骤1: 截图并裁剪...");
- var img = screen.screenShotFull();
- var cutimg = img.cutImagePercent(0.8906, 0.0547, 0.9462, 0.085);
- img.recycle();
- sleep.second(0.5);
-
- // 步骤2: 定义图片数组(使用字符串路径)
- var images = ["cutimg", "target2.png", "target3.png"];
- var targetIndex = 0; // 点击找到的第一个目标
- printl(" 目标数量: " + images.length);
- sleep.second(0.5);
-
- // 步骤3: 设置匹配参数
- var similarity = 0.8;
- var timeout = 5000;
- var imageQuality = 1;
- var searchRegion = [0, 0, 1, 1];
- printl(" 相似度: " + similarity);
- sleep.second(0.5);
-
- // 步骤4: 核心功能代码 - 执行点击操作
- printl(" 步骤2: 执行 clickImage...");
- var result = auto.clickImage(images, targetIndex, similarity, timeout, imageQuality, searchRegion);
- sleep.second(0.5);
-
- // 步骤5: 打印结果
- if (result) {
- printl("✅ 点击成功");
- } else {
- printl("❌ 点击失败");
- }
-
- sleep.second(1.5);
- }
- // ==================== 示例6: 综合实战 - 完整业务流程 ====================
- function 完整业务流程() {
- printl("══════════════════════════════════════");
- printl(" 示例6: 完整业务流程演示");
- printl("══════════════════════════════════════");
- sleep.second(1.5);
-
- // 阶段1: 环境准备
- printl("【阶段1】环境准备");
- sleep.second(0.5);
- printl(" • 初始化截图资源...");
- var screenshot = screen.screenShotFull();
- sleep.second(1);
- printl(" • 创建图片存储目录...");
- // file.createDirectory("/sdcard/aiwrok"); // 此方法在AIWROK中不存在,跳过
- sleep.second(1);
- printl(" ✅ 环境准备完成");
- sleep.second(1);
-
- // 阶段2: 图片处理
- printl("【阶段2】图片处理");
- sleep.second(0.5);
- printl(" • 裁剪目标区域...");
- var cutimg = screenshot.cutImagePercent(0.8869, 0.0572, 0.9434, 0.0825);
- sleep.second(0.8);
-
- var imgPath = "/sdcard/aiwrok/target.png";
- printl(" • 保存图片: " + imgPath);
- cutimg.save(imgPath);
- sleep.second(0.8);
-
- printl(" • 释放资源...");
- screenshot.recycle();
- sleep.second(0.5);
- printl(" ✅ 图片处理完成");
- sleep.second(1);
-
- // 阶段3: 图像检测
- printl("【阶段3】图像检测");
- sleep.second(0.5);
- var imgPathArray = [imgPath];
- printl(" • 检测图片存在性...");
- var checkResult = auto.checkImage(imgPathArray, 0.8, 5000, 1, [0, 0, 1, 1]);
- sleep.second(1);
-
- if (checkResult) {
- printl(" ✅ 图片检测成功");
- } else {
- printl(" ❌ 图片检测失败");
- return false;
- }
- sleep.second(1);
-
- // 阶段4: 文字定位
- printl("【阶段4】文字定位");
- sleep.second(0.5);
- var targetText = "首页||我的";
- printl(" • 搜索关键词: " + targetText);
- sleep.second(0.5);
-
- printl(" • 执行 backToText(已注释,避免中断后续示例)...");
- // var textResult = auto.backToText(targetText, 10000);
-
- // 模拟结果用于演示
- var textResult = true;
- sleep.second(1);
-
- if (textResult) {
- printl(" ✅ 文字定位成功");
- } else {
- printl(" ⚠️ 文字定位超时,继续执行...");
- }
- sleep.second(1);
-
- // 阶段5: 点击操作
- printl("【阶段5】点击操作");
- sleep.second(0.5);
- printl(" • 准备点击目标...");
- var clickTargets = [imgPath];
- sleep.second(0.5);
-
- printl(" • 执行 clickImage...");
- var clickResult = auto.clickImage(clickTargets, 0, 0.8, 8000, 1, [0, 0, 1, 1]);
- sleep.second(1);
-
- if (clickResult) {
- printl(" ✅ 点击成功");
- } else {
- printl(" ❌ 点击失败");
- }
- sleep.second(1);
-
- // 阶段6: 返回验证
- printl("【阶段6】返回验证");
- sleep.second(0.5);
- printl(" • 使用图片引导返回(已注释,避免中断后续示例)...");
- // var backResult = auto.backToImage(imgPathArray, 0.8, 10000, 1, [0, 0, 1, 1]);
-
- // 模拟结果用于演示
- var backResult = true;
- sleep.second(1);
-
- if (backResult) {
- printl(" ✅ 返回成功");
- } else {
- printl(" ⚠️ 返回超时");
- }
- sleep.second(1);
-
- // 最终结果
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- printl(" 业务流程执行完毕");
- printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
- sleep.second(1);
-
- return true;
- }
- // ==================== 主程序入口 ====================
- function main() {
- printl("╔══════════════════════════════════════╗");
- printl("║ AIWROK auto方法实战演示 ║");
- printl("╚══════════════════════════════════════╝");
- printl("");
- sleep.second(1);
-
- printl("本演示包含 6 个完整功能示例:");
- sleep.second(0.8);
- printl(" 1️⃣ back - 标准返回操作");
- sleep.second(0.5);
- printl(" 2️⃣ backToImage - 图片引导返回");
- sleep.second(0.5);
- printl(" 3️⃣ backToText - 文字引导返回");
- sleep.second(0.5);
- printl(" 4️ checkImage - 图像检测");
- sleep.second(0.5);
- printl(" 5️⃣ clickImage - 图像点击");
- sleep.second(0.5);
- printl(" 6️ 完整业务流程演示");
- sleep.second(1.5);
-
- printl("开始演示...");
- printl("");
- sleep.second(2);
-
- // 依次执行所有示例(每个示例都包含完整功能代码)
- demoExample();
- 找图后退();
- 回退到指定页面();
- 检测图片存在();
- 点击图片();
- 完整业务流程();
-
- // 结束语
- printl("");
- printl("╔══════════════════════════════════════╗");
- printl("║ 全部演示完成 ║");
- printl("╚══════════════════════════════════════╝");
- printl("");
- sleep.second(1);
-
- printl("提示:");
- sleep.second(0.5);
- printl("• 每个示例都包含完整可执行的功能代码");
- sleep.second(0.5);
- printl("• 可根据实际需求修改参数和路径");
- sleep.second(0.5);
- printl("• 注意及时释放图片资源避免内存泄漏");
- sleep.second(0.5);
- printl("• 合理设置超时时间和相似度参数");
- sleep.second(1);
-
- printl("");
- printl("感谢使用 AIWROK auto方法演示");
- }
- // 启动演示
- main();
复制代码
| |  | |  |
|