当前位置: 首页 > news >正文

MacApp自动化测试之Automator初体验

今天我们继续讲Automator的使用。

初体验

启动Automator程序,选择【工作流程】类型。从资源库区域依次将获取指定的URL、从网页中获得文本、新建文本文件三个操作拖进工作流创建区域。

然后修改内容,将获取指定的URL操作中的URL替换成https://www.cnblogs.com/tynam;将从网页中获得文本操作下内容修改为获得纯文本来自网页;将新建文本文件操作中【文件格式】修改成纯文本(txt,需要时可转换),存储为修改成test.txt,位置设置成桌面并勾选后面的替换现有文件。

此条工作流的含义是访问网页https://www.cnblogs.com/tynam,然后提取该网页的所有文本内容,并将提取的文本内容保存到桌面test.txt文件中。

然后点击运行按钮执行工作流中的操作,运行后截图如8-3所示。

图片

图8-3 Automator初体验截图

从输出的日志可以看到,工作流程中的三个步骤全部执行完成。桌面也生成了一个test.txt文件,文件内容截图如8-4所示。

图片

图8-4 test.txt文件内容截图

最后将该工作流保存,下次打开后可继续编辑使用。

八大文稿类型

启动Automator程序后,第一步操作就是选择文稿类型,文稿类型一共有工作流程、应用程序、快速制作、打印插件、文件夹操作、日历提醒、图像捕捉插件、听写命令八种类型。每一种文稿类型代表着一种程序格式,不同的格式应用方式也不相同。

PART 1

工作流程

在Automator应用程序内运行的工作流程,该类型文稿运行时只能在Automator中运行。8.3.2初体验一节中使用的就是工作流程类型的文稿。

例如将8.3.2初体验一节中创建的工作流程保存为“获取网页文本.workflow”, 工作流程类型的文稿后缀为workflow,保存的文稿截图如图8-5所示。

图片

图8-5 获取网页文本.workflow截图

双击打开获取网页文本.workflow文稿,进入的是Automator编辑界面。

PART 2

应用程序

直接点击或者将文件/文件夹拖放到上面便可开始运行的单独工作流程。应用程序类型文稿非常适用,是一个独立的工作流,也可以认为是一个独立的应用程序,直接点击保存的文稿即可运行。

示例:将PDF转换成图片。启动Automator程序并新建一个应用程序类型的文稿,然后依次执行如下操作:

1.工作流中添加一个请求确认操作,在第一个输入框中输入内容“请选择一个PDF文件”。请求确认操作会弹出一个提示窗口,旨在提示用户某些内容。

2.工作流中添加一个请求访达项目操作,【开始于】设置为选择PDF文件使用频率最高的一个路径,例如选择test目录,其它内容保持默认。请求访达项目操作会打开一个窗口,用户在窗口内可选择文件。

3.工作流中添加一个将PDF页面渲染成图像操作,内容均保持默认即可。将PDF页面渲染成图像操作会将PDF文件按照页渲染成图片,每页一个图片。

4.工作流中添加一个移动访达项目操作,【至】设置为生成的图片保存路径,例如选择test目录,其它内容保持默认。移动访达项目操作是将生成的文件移动到制定的路径下。

5.工作流中添加一个显示访达项目操作。显示访达项目操作用于直接进入文件生成的目录,显示生成的文件。

操作添加完成后,工作流截图如图8-6所示。

图片

图8-6 PDF转图片工作流

完成操作添加后,在Automator程序中先试运行,如果日志显示全部通过则将该工作流保存成“PDF转图像.app”。

6.双击PDF转图像.app运行工作流,首先弹出了【请选择一个PDF文件】提示框;点击【好】按钮后打开了选择文件窗口,选择“test.pdf”文件;接着在test目录下生成了许多JPEG图片。如图8-7所示。

图片

图8-7 PDF转图像

PART 3

快速操作

快速操作是可添加到访达、触控栏和“服务”菜单的工作流程。可以在“系统偏好设置”中管理快速操作。

示例:将图片格式转换为JPEG。启动Automator程序并新建一个快速操作类型的文稿,然后依次执行如下操作:

1.快速操作类型文稿新建后会有一个默认输入文件步骤。如果没有输入内容则可设置【工作流程收到当前】为没有输入。

【工作流程收到当前】用作工作流程输入的数据类型,由于本次是对图像的转换,因此选择图像文件;【位于】设置为访达。其它内容保持默认。

2.工作流中添加一个拷贝访达项目操作。该操作有两种添加方式,第一种是手动添加,第二种是在添加更改图像类型操作时会提示“您要增加一个“拷贝访达项目”操作以便更改副本且保留原文件吗?”,点击【添加】按钮也可实现添加。该操作在改变后修改图片类型后会保留原文件。【至】修改为test目录。

3.工作流中添加一个更改图像类型操作。【至类型】修改为JPEG。

操作添加完成后,工作流截图如图8-8所示。

图片

图8-8 图片转JPEG类型工作流

完成操作添加后将该工作流保存成“图像格式转换为JPEG.workflow”。默认保存在 /Users/[用户名]/Library/Services/目录下。

4.依次进入【系统偏好设置】>>【键盘】>>【快捷键】>>【服务】,在图片分类下找到图像格式转换为JPEG,并设置快捷键。例如设置为Ctrl+Shift+J。如图8-9所示。

图片

图8-9 图片转JPEG类型设置快捷键

5.选中一个图片,然后在键盘按下Ctrl+Shift+J。会在拷贝访达项目操作中设置的【至】路径下(步骤2中的设置)生成一个xxxx_副本.jpg文件。例如选中test目录下的adb工作原理.png图片,然后按下Ctrl+Shift+J,在test目录下生成了一个adb工作原理_副本.png,如图8-10所示。

图片

图8-10 转换为JPEG类型图片

PART 4

打印插件

可在“打印”对话框中使用的工作流程。此工作流在打印对话框中任何可以打印的地方启用,例如使用它将Excel文件转换为PDF。

示例:PDF加水印。启动Automator程序并新建一个打印插件类型的文稿,然后依次执行如下操作:

1.工作流中添加一个给PDF文稿添加水印操作。水印列表中添加一张图片;【层】选择在PDF之下绘制水印;【偏移】中调节x、y坐标,将水印放在一个合适的位置。最后设置【缩放】、【角度】、【不透明度】,调整水印。

2.工作流中添加一个移动访达项目操作。【至】设置为test目录。操作运行后会将添加水印的PDF文稿重新保存到test目录下。

操作添加完成后,工作流截图如图8-11所示。

图片

图8-11 添加水印工作流

完成操作添加后将该工作流保存成“PDF添加水印.workflow”, 默认保存在 /Users/[用户名]/Library/PDF Services/目录下。保存后在所有打印的地方都可使用。

6.打开一个PDF文件,依次选择【文件】>>【打印】。在打印设置界面的最下方下拉框中选择创建的PDF添加水印,如图8-12所示。

图片

图8-12 选择PDF添加水印操作

7.选择PDF添加水印下拉选项后便会开始生成带有水印的PDF文稿,并保存在test目录下。打开生成的PDF,每页都添加了水印。如图8-13所示。

图片

图8-13 带水印的PDF文稿

PART 5

文件夹操作

附加到“访达”中文件夹的工作流程。项目添加到文件夹后,工作流程便会运行并且文件会用作工作流程的输入。例如根据文件扩展名将文件划分到不同的文件类型下。

示例:对某个文件下所有文件实现重命名。启动Automator程序并新建一个文件夹操作类型的文稿,然后依次执行如下操作:

1.文件夹操作类型文稿新建后会有一个【文件夹操作接受添加到这个位置的文件和文件夹】输入框,该输入框选择需要操作的文件夹,例如笔者选择test文件夹。

2.工作流中添加一个给访达项目重新命名操作。第一个输入框设置为连续编号;【将数字添加到】设置为现有项目名称;【添加数字】设置为名称之后;【开始数字为】设置为1;【分割符为】设置为下划线;编号数字长度设置为3。在该操作下面可看到命名示例“例如:项目名称_001.xxx”。

3.工作流中添加一个移动访达项目操作。【至】选择test2目录。

操作添加完成后,工作流截图如图8-14所示。

图片

图8-14 文件夹下项目重命名工作

完成操作添加后将该工作流保存成“文件夹下项目重命名.workflow”, 默认保存在 /Users/[用户名]/Library/Workflows/Applications/Folder Actions/目录下。

4.将文件拖到test文件夹下,在test2文件夹下会对所有的文件根据命名规则重新命名。例如将草.jpeg、海滩.jpg、马路.jpeg、烟花.jpeg、鹰.jpeg拖进test文件夹下,在test2文件下生成了草_003.jpeg、海滩_004.jpg、马路_001.jpeg、烟花_005.jpeg、鹰_002.jpeg。如图9-12所示。

图片

图8-15 文件夹下项目重命名

PART 6

日历提醒

日历日程发生时,便会运行的工作流程。简单地理解就是一个定时任务,在特定时间执行特点操作。因为创建的工作流会作为日历事件展示在日历程序中,因此可以像使用普通日历事件一样设置重复和通知。

示例:定时备份文件。启动Automator程序并新建一个日历提醒类型的文稿,然后依次执行如下操作:

1.工作流中添加一个获得指定的访达项目操作。在列表中添加一个文件夹,例如添加test文件夹。

2.工作流中添加一个获得文件夹内容操作。

3.工作流中添加一个拷贝访达项目操作。【至】设置为test2文件夹。

操作添加完成后,工作流截图如图8-16所示。

图片

图8-16 定时备份文件工作流

图片

图8-17 日历提示信息

完成操作添加后将该工作流保存成“定时备份文件.app”, 默认保存在 /Users/[用户名]/Library/Workflows/Applications/Calendar目录下。

保存成功后日历会立即弹出一个提醒信息,如图8-17所示。

2.打开日历程序,在保存“定时备份文件.app”任务的当天,会出现一条定时备份文件的任务。双击该任务可对任务进行设置,例如设置开始时间、结束时间、重复等。【重复】默认是无,在此设置为每天,设置后日历的每天都会显示定时备份文件任务。如图8-18所示。

图片

图8-18 重复选项设置为每天

当当前时间到达设置的开始时间后,任务便会执行。test文件夹下的所有文件便会备份一份到test2文件夹下,执行结果如图8-19。

图片

图8-18 文件备份结果

PART 7

图像捕获插件

可以在Mac的“图像捕捉”应用程序中使用的工作流程。该工作流程与苹果电脑上内置的图像捕获应用程序结合使用,当图像从相机、iPhone、iPad等导入时执行的一个操作。例如当接收图像时,对图像的大小进行调整。

示例:装裱图片。启动Automator程序并新建一个图像捕获插件类型的文稿,然后依次执行如下操作:

1.工作流中添加一个移动访达项目操作。【至】设置为test文件夹。

2.工作流中添加一个拷贝访达项目操作。【至】设置为test2文件夹。

3.工作流中添加一个装裱图像操作。调节画布尺寸宽度和高度至合适位置。

操作添加完成后,工作流截图如图8-19所示。

图片

图8-19 装裱图片工作流

完成操作添加后将该工作流保存成“装裱图片.workflow”, 默认保存在 /Users/[用户名]/Library/Workflows/Applications/Image Capture目录下。保存后在图像捕捉应用程序中就可使用。

4.打开图像捕捉程序,手机连接Mac笔记本后图像捕捉程序会自动识别设备。【导入到】下拉框选择刚刚创建的“装裱图片.workflow”,接着选择需要导入的图片,最后点击【导入】或【全部导入】按钮。test2文件夹下就会出现装裱过后的图片,如图8-20所示。

图片

图8-20 装裱图片

PART 8

听写命令

只要使用指定的听写,此工作流就会运行。通过使用辅助功能的增强听写选项,可以建立语音驱动的工作流,即在激活听写时自动将某些关键字作为触发器。

听写命令其实我们经常使用,例如说一句“Siri,播放音乐”后Mac会自动启动音乐程序并播放音乐。Automator的听写命令类型文稿就是创建一个工作流,接收语音指令,然后执行对应的操作。例如设置语音输入命令“计算机,将 Mac 置于睡眠模式”,则在听写状态下接收到该语音就会将Mac置于睡眠模式。

示例:浏览器中打开必应网站。启动Automator程序并新建一个听写命令类型的文稿,然后依次执行如下操作:

1.听写命令类型文稿新建后会有一个【听写命令】输入框,用来输入接受的指令,在此输入“打开必应网站”;勾选【命令已启用】复选框。

2.工作流中添加一个获得指定的URL操作。将地址列表中默认的URL修改为https://cn.bing.com/。

3.工作流中添加一个显示网页操作。

操作添加完成后,工作流截图如图8-21所示。

图片

图8-21 打开必应网站工作流

完成操作添加后将该工作流保存成“打开必应网站.app”, 默认保存在 /Users/[用户名]/Library/Speech/ Speakable Items目录下。保存后在语音功能中说出打开必应网站就实现操作。

4.进入【系统偏好设置】>>【辅助功能】>>【语音控制】,然后点击界面中的【命令...】按钮,勾选【打开必应网站】复选框(默认就是勾选状态),操作如图8-22所示。

图片

图8-22启用“打开必应网站”指令

5.进入【系统偏好设置】>>【辅助功能】>>【语音控制】,在语音控制设置界面勾选【启用语音控制】复选框,启用语音控制后桌面会出现一个语音输入的麦克风图标。

6.语音控制功能在启用状态下,说出“打开必应网站”。当识别到“打开必应网站”指令后便会执行“打开必应网站.app”程序,在浏览器中打开必应首页,打开后如图8-23所示。

图片

图8-23 指令识别后执行结果

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

MacApp自动化测试之Automator初体验

今天我们继续讲Automator的使用。 初体验 启动Automator程序,选择【工作流程】类型。从资源库区域依次将获取指定的URL、从网页中获得文本、新建文本文件三个操作拖进工作流创建区域。 然后修改内容,将获取指定的URL操作中的URL替换成https://www.cnb…...

Vue学习v-html

Vue学习v-html 一、前言1、基本用法2、注意事项 二、总结 一、前言 学习 Vue.js 中的 v-html 指令意味着你想要在你的应用程序中动态地渲染 HTML。这个指令允许你将数据中包含的 HTML 代码直接插入到你的模板中,而不是将其作为纯文本处理。虽然这个功能非常强大&am…...

C++并发:锁

一、前言 C中的锁和同步原语的多样化选择使得程序员可以根据具体的线程和数据保护需求来选择最合适的工具。这些工具的正确使用可以大大提高程序的稳定性和性能,本文讨论了部分锁。 二、std::lock 在C中,std::lock 是一个用于一次性锁定两个或多个互斥…...

Git | git log 和 git status 的区别

如是我闻: git log和git status是Git中的两个非常有用的命令,它们用于不同的目的,并提供不同类型的信息。 git log git log命令用于显示一个或多个分支的提交历史记录。这个命令会列出提交历史,包括每次提交的SHA-1哈希值、提交…...

Django 4.x 智能分页get_elided_page_range

Django智能分页 分页效果 第1页的效果 第10页的效果 带输入框的效果 主要函数 # 参数解释 # number: 当前页码,默认:1 # on_each_side:当前页码前后显示几页,默认:3 # on_ends:首尾固定显示几页&#…...

java-spring 09 下.populateBean (方法成员变量的注入@Autowird,@Resource)

1.在populateBean 方法中的一部分:用于Autowird,Resource注入 // 后处理器已经初始化boolean hasInstAwareBpps hasInstantiationAwareBeanPostProcessors();// 需要依赖检查boolean needsDepCheck (mbd.getDependencyCheck() ! AbstractBeanDefinitio…...

赛氪网携手众机构助力第七届京津冀生态修复实践论坛圆满落幕

近日,由北京生态修复学会联合工业固废网、中国老科协国土资源分会共同主办,赛氪网作为支持单位的第七届京津冀生态修复实践论坛在北京温德姆酒店圆满落幕。本次论坛汇聚了众多行业专家、学者以及企业代表,共同探讨生态修复领域的新技术、新方…...

Naive RAG 、Advanced RAG 和 Modular RAG 简介

简介: RAG(Retrieval-Augmented Generation)系统是一种结合了检索(Retrieval)和生成(Generation)的机制,用于提高大型语言模型(LLMs)在特定任务上的表现。随…...

Python高级编程-DJango2

Python高级编程-DJango2 没有清醒的头脑,再快的脚步也会走歪;没有谨慎的步伐,再平的道路也会跌倒。 目录 Python高级编程-DJango2 1.显示基本网页 2.输入框的形式: 1)文本输入框 2)单选框 3&#xff…...

bash脚本 报错:/bin/bash^M:解释器错误: 没有那个文件或目录

bash脚本 报错:/bin/bash^M:解释器错误: 没有那个文件或目录 出现这个问题是因为该脚本文件在windows下编辑过 在windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打…...

win10专业版远程桌面连接不上,win10专业版远程桌面连接不上常见原因与解决方法

Win10专业版远程桌面连接功能是一项非常实用的工具,它允许用户远程访问和操作另一台计算机。然而,有时在尝试进行远程桌面连接时,可能会遇到连接不上的情况。本文将分析导致这一问题的常见原因,并提供相应的解决方法。 一、常见原…...

前端 日期 new Date 少0 转换成 yyyy-MM-dd js vue

在console控制台直接输出new Date(),是这样: Fri May 10 2024 23:36:06 GMT0800 (中国标准时间) 输出new Date().toLocaleString(),是这样: 2024/5/10 23:36:06 输出new Date().toISOString(),是这样: …...

Linux中的磁盘分析工具ncdu

2024年5月14日,周二上午 概述 ncdu 是一个基于文本的用户界面磁盘使用情况分析工具。它可以在终端中快速扫描目录,并统计该目录下的文件和文件夹的磁盘使用情况,以交互友好的方式呈现给用户。 安装 在 Debian/Ubuntu 系统下,可…...

Angular入门

Angular版本:Angular 版本演进史概述-天翼云开发者社区 - 天翼云 安装nodejs:Node.js安装与配置环境 v20.13.1(LTS)-CSDN博客 Angular CLI是啥 Angular CLI 是一个命令行接口(Angular Command Line Interface),是开发 Angular 应用的最快、最…...

Java进阶11 IO流、功能流

Java进阶11 IO流-功能流 一、字符缓冲流 字符缓冲流在源代码中内置了字符数组,可以提高读写效率 1、构造方法 方法说明BufferedReader(new FileReader(文件路径))对传入的字符输入流进行包装BufferedWriter(new FileWriter(文件路径))对传入的字符输出流进行包装…...

windows 安装 Conda

1 Conda简介 Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。一般用conda来维护多个python版本。 2 安装…...

IPsec VPN简介

什么是IPsec? IPsec(Internet Protocol Security)是为IP网络提供安全性的协议和服务的集合,它是VPN(Virtual Private Network,虚拟专用网)中常用的一种技术。其实就是一种协议簇(类…...

探索 Canva 的功能以及如何有效使用 Canva

『创意瞬间变现!Canva AI Drawing 让你的文字描绘成艺术』 在数字设计和创意领域,Canva 是创新和用户友好性的灯塔。这个平台不仅简化了图形设计,还引入了 AI Drawing 等强大工具,使其成为专业人士和初学者的首选解决方案。让我们…...

python中匿名函数简单样例

目录 一、匿名函数(也称为 lambda 函数): 二、简单样例: 2.1 filter() 函数: 2.2 map() 函数: 2.3 sorted() 函数: 一、匿名函数(也称为 lambda 函数): 简洁性:匿名函数通常比命…...

【SpringBoot】 什么是springboot(二)?springboot操作mybatisPlus、swagger、thymeleaf模板

文章目录 SpringBoot第三章1、整合mybatsPlus1-234-67-10问题 2、整合pageHelper分页3、MP代码生成器1、编写yml文件2、导入依赖3、创建mp代码生成器4、生成代码5、编写配置类扫描mapper类6、编写控制器类 4、swagger1、什么是swagger2、作用3、发展历程4、一个简单的swagger项…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

JVM垃圾回收机制全解析

Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

【版本控制】GitHub Desktop 入门教程与开源协作全流程解析

目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork&#xff08;创建个人副本&#xff09;步骤 2: Clone&#xff08;克隆…...

中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点

中科院1区顶刊|IF14&#xff1a;多组学MR联合单细胞时空分析&#xff0c;锁定心血管代谢疾病的免疫治疗新靶点 当下&#xff0c;免疫与代谢性疾病的关联研究已成为生命科学领域的前沿热点。随着研究的深入&#xff0c;我们愈发清晰地认识到免疫系统与代谢系统之间存在着极为复…...