你还在执行闪耀脚本时一个一个手动输入选项吗?那如果我告诉你只需要点击一下就能直接开启并打开应用,你学还是不学?那么大家好,我是阿明,上期视频呢,给大家做了个闪耀脚本自动启动器, 想不到大家还蛮喜欢,讨论挺多的,但是反馈问题,闪耀脚本名称随机改变怎么办?再者刷视频时,应用自启动悬浮窗就突然出来了,等等这样类似的情况, ok, 因此这一期我们将放弃后台检测应用进程的方法,使用快捷方式来实现一键开启, 仅需两行代码即可实现。那么第二行代码已经在上期写好了,它的作用呢?就是输入字母并执行脚本。一会我将会讲到如何去使用我们的第一行代码需要一个打开应用的指令,光靠一个指令还不能够打开一个应用,那么指令后面就需要填你需要脚本作用的应用启动组建名, 这个组建名就可以通过系统调试工具当此去获取到,就是这个可以查询窗口管理服务信息。我们执行看一下 这些就是全部窗口管理信息。组建名是由应用包名加活动名组成的启动组建名,现在它就在这些内容中可找到,它犹如大海捞针, 此时就需要用到筛选工具,依旧先来个管道符号,写入筛选工具柜,然后是组建名行的关键词,然后我们的组建名获取的脚本就成功了,由 dms 工具打印出当前窗口管理信息,这些信息,再由中间人管道符交给筛选工具柜, 筛选出关键词 current focus 的 行执行,看一下效果, ok, 它不再是很多信息,只显示带有组建名的一行,但是这个组建名只是猫管理器终端的,因为它只采集当前操作页面的组建名。 那我们在脚本运行的一瞬间接到其他应用,理论上就能采集其他应用的组建名。但是脚本执行是很快的,显然主播单身二十年也无法超过脚本执行的速度,所以我们就需要另一个延迟工具 sleep, 它英文翻译过来意思是睡觉、睡眠和直接去调用工具, 省去爬环境查找步骤,以免报错。后面再给他加上数字五,就是让我们的代码睡个五秒再执行后面的命令数字后面加上运算符,它的作用是前面延迟成功后才可以执行后面的命令,脚本就完成了我们执行来获取组建名。点击执行后五秒内打开你要启动的应用或游戏,再等一会,等他够五秒钟, 然后返回到脚本执行页面,就可以看到需要的启动组建名了。从包名旁开始到后面,除了右大括号不需要,剩下的就是启动组建名了。选择好点击复制,然后这两行代码我会放到评论区,不管你是自己获取到了启动组建名,还是评论区复制到了好心人分享的应用组建名,那第一个就是粘贴你脚本作用的应用组建名, 粘贴好了保存退出脚本。你要执行的时候,脚本要是和启动脚本在一块放着,那么直接复制他的名称就行了。 单点名称就是复制名称,把脚本名称四个字替换了就行了。那么如果所需要执行的脚本不和启动脚本在同一目录, 就需要复制一个绝对路径,长按名称就可以复制绝对路径。绝对路径要替换的是脚本名称和两个单引号,像这样就可以了。这种每执行一次名称会随机改变的,也是需要一个绝对路径,额外建个文件夹,单独把它扔进去,复制一个绝对路径 粘贴到脚本名称就可以把他的名称删掉了,用清号代替脚本名称表示名称未知,不管名称再怎么变,他稍脚本后设始终不变,就可以正常执行了。然后再讲一下这个输入文字该怎么填,这个就需要你先执行一遍你的脚本,然后记一下你输入的操作流程,比如我这里输入了一换行, 又接着输入了零换行,这个就是我脚本输入文字了,就直接到启动脚本替换就行,换行不能直接输入文字,要用安代替, 这样子就配置好了,保存退出。最后一步,长按启动脚本,点击工具,点击创造快捷方式类型,选择桌面快捷方式执行操作,选择执行脚本, 勾选 root 权限执行。还有脚本执行完自动退出,再点击确定,点击添加就行了,图标就会出来,如果没有,要去权限里面打开忙管理器的快捷方式权限 上期是打开应用,这期是打开脚本,两个都只需要一步操作,快捷方式不会后台运行占用 cpu 也不会自启动等问题。另外还有个好处,如果突然掉了悬浮窗,那么也可以立马切到桌面,点一下就行了。 成功的兄弟记得反馈一下,还看不明白的就问一下评论区,如果你对本期的视频感兴趣的话,别忘了关注点赞,我是阿明,我们下期再见!
粉丝9376获赞8.0万

使用自动操作魔法师完成实际的自动任务需要用到魔法脚本。魔法脚本是一个普通文件,里面包含要操作的具体步骤。建立魔法脚本有多种方式,对于一些简单任务,使用录制键盘和鼠标动作的方式来建立脚本是最简单便捷的办法。 首先我们打开自动操作魔法师的魔法管理器,然后点击左边常用操作面板上的录制新魔法。 在打开的对话框中输入魔法脚本的名称。我们可能会创建很多不同的脚本,各个脚本之间就是通过他们的名称来区分魔法脚本的文件也会以该名称命名,名称输入好后,点击下一步,这时会显示缺省播放参数页面, 在这里可以设置新魔法脚本的缺省播放次数和播放速度,在实际播放时,我们还可以更改这些参数, 也可以在这里为脚本设置一个播放热键。播放热键有两种,一种是传统的按键组合,另一种是英文单词,比如可以用 abc 作为播放热键, 现在我们设置 ctrl 加 j 作为播放热键,然后点击下一步,此时页面将显示录制范围的选项,可以设置需要记录哪些操作,比如只记录鼠标操作,只记录键盘操作等等。 我们点击确定开始录制过程,这时屏幕上会出现一个倒计时小窗口,正式进入录制阶段。此时所有的键盘和鼠标操作都会被记录下来,并转化为脚本内的操作步骤。 现在我们打开浏览器,输入网址,按下回车开始浏览操作,然后关闭浏览器,最后结束录制。 现在魔法管理器内已经有了刚才新录制的脚本,我们点击工具条上的播放按钮,就可以对刚才的操作进行回放。点击播放后,这里可以设置播放速度,我们先选择正常 现在脚本开始播放,打开浏览器,输入网址,关闭浏览器。一切和刚才录制时一样, 现在我们加快播放速度,再回放一次看看效果, 选择很快开始回放, 这次播放速度明显快多了, 现在我们用热键方式播放一次,先关闭魔法管理器,按下 ctrl 加 j, 脚本开始回放了。 这就是借助录制方式制作脚本并完成回放的完整流程。对于那些操作简单,仅需鼠标和键盘就能完成的任务,我们都可以采用这种方式。 有了脚本之后,当需要执行相应操作时,我们只需轻轻按下热键,魔法师便会自动代替我们去操控屏幕上的软件。


大家好,今天我们为注册登录功能添加脚本。我们首先打开项目, 找到零下划线 lunch 这个场景,然后我们在 access 文件夹下创建一个 script 文件夹,用于存放所有的脚本文件。新建文件夹 scrapers, 在 这个文件夹下,我们创建一个脚本文件,创建 c shop, 命名为 launch controller, 然后双击打开,然后我们在层级面板中创建一个空对象,命名为 launch controller, 将刚创建的这个脚本文件挂载到我们新建的这个空对象上。双击打开这个脚本文件以后,我们编写这样一段代码,这是我们这个文件的全部代码,我们可以全选复制,然后删除所有的代码,将这一段代码完全粘贴上, 然后保存。接下来我们还需要创建几个对象,声音管理的对象 audio manager, 我们也要为这个空对象创建一个 c shift 脚本文件,然后将它挂载。挂载不上的原因很多时候是因为我们 现有的脚本是有问题的,当我们将有问题的行注置掉以后,在控制台面板 已经没有了错误信息,这时候我们再次挂载,就可以挂载上了,当然还有其他的,我们可以先都挂载上这些脚本文件。创建空对象,呃,问题管理 question manager, 然后复制这个名称,创建一个脚本文件,也用这个脚本的名称 client manager, 将它挂在了这个空对象上。还有 game manager, 创建一个空对象 game manager, 然后复制创建一个 c shop 脚本 game manager 命名,然后挂在了这个空对象上。还有数据管理,创建一个空对象 data base manager, 创建 c shop 脚本 data base manager, 将它挂在再创建一个空对象 user manager 用户管理 同样创建一个 c shop 脚本,命名为 user manager, 再创建一个空对象 set in lod, 场景加载,然后复制这个名称,然后创建 c shop 脚本, set in lod, 将它挂载到刚刚创建的这个空物体上,没有挂载完成,我们点上看检查器面板中是否已经挂载了这个脚本就知道了。再有一个创建空对象 ui manager, 然后创建一个 c shift 脚本 ui manager, 这样我们这个结构就已经创建完成了。现在我们需要做的就是编辑这些脚本文件的代码,首先我们将刚才注销的这个 给它恢复,然后保存。接下来我们打开 audio manager 音频,我们复制音频文件的代码,全选复制,将现有的文件删除, 然后将音频文件的代码粘贴到这个 audio manager 这个文件,然后用同样的方式将其他的代码也都输入,完成 question manager 全选复制,删除现有的内容粘贴,这样保存。然后是 game manager, 双击打开,全选删除,然后找到 game manager 全选复制粘贴保存。接下来是 数据库管理 database 管理者,然后找到这个文件,全选复制,全选删除,然后将代码粘贴过来, 然后是 user 管理者双击复制,将这个代码删除,然后粘贴过来。还有 say load, 场景加载,这个文件全部删除,然后全选复制粘贴。还有一个 ui manager 删除复制 粘贴。现在我们在层级面板中把相关的脚本文件都添加到了对应的空对象上,我们保存一下,现在看控制台有很多的错误提示,这个我们先不要着急,现在我们打开第一个场景, 一杠 log in, 然后选中 canvas, 在 这创建一个 c 叉脚本。选中以后,我们添加组件,也可以以这种方式添加脚本文件,命名为 log in controller, 然后创建并添加。 这样创建的脚本文件会在 icloud 的 文件夹下,我们可以将它拖动到这个脚本的文件夹下,双击打开,然后复制 相关文件的内容,粘贴主菜单。这个场景我们在这里创建一个对象,一个空对象 my name, 为这个空对象添加一个脚本 my name, 然后创建并添加它也会在 i s s 文件夹下创建一个脚本,我们也将它拖动到这个脚本文件夹下, 然后双击打开全选,删除现有代码,然后我们复制,将现有的代码粘贴到我们刚才新建的这个脚本文件。 接下来我们还需要添加一些数据文件,在这里我们再新建一个文件夹,专门用于存放这个数据文件,命名为 d a t a。 双击进入第一个数据文件是创建 c shop 脚本, 命名为宽四尺大小。双击打开全选,删除现有脚本,然后将这一段代码全选,复制粘贴,然后保存。 接下来还有一个用户数据创建 ceshup 脚本,用户数据 user daten, 双击打开,然后全选,复制这个文件的内容,删除以后粘贴,这是用户数据文件的代码。还有一个是 创建一个 ceshup 脚本, second empty u t o s, 全选复制现有代码。 接下来我们还需要在这个脚本文件下边添加一个文件夹,这个文件夹的名称我们命名为 editors, 然后双击打开,创建 c shop 脚本 u i creator, 然后双击打开,我们复制这道代码,然后全选删除以后 将这个代码粘贴过来,这是我们都是写好的代码。最后还有一个服务的脚本 script, 这个文件夹下创建一个 c 叉 f 脚本,命名为 local c a l i z a t i o n service 双击打开这个文件,我们就按照自动生成这个,无需单独编写代码,这样我们整个的这个脚本文件就创建完成了。 以上就是我们为注册登录功能添加的脚本文件,添加完以后,下一次我们就可以做注册登录功能的测试了。那好,今天的分享就到这里,我们下期见。

别忘了我们的名字叫什么脚本小子怎么能不打 cf 呢? 要获得到 flag id 必须是一零零零,此时呢我们就可以用参数绕过, 也是成功地拿到了 flag。 由于这个咱们以前做过,所以显示的是这个, 此次我们发现他虽说禁用了几个东西,但是他没有禁用单引号, 也是成功的拿到了 flag, 无以前的全部可以用这方法,所以就省略了直接一五开洗。 此次我们发现他禁用了单引号,如果我们还有以前的方法的话,就会显性。 我们可以把一千两次取法,第一次取法是杠一零零一,那杠一零零一,再次取法就是一零零零, 此时我们发现并没有经用这个符号, 又让我们顺利拿到了 flag, 此时我们发现它经用了这个符号, 此时我们可以用二进置零币, 又让我们顺利拿到了 flag。

每一个微小的进步,终将在将来的某一天让你发生质的飞跃。今天我想给大家分享的这个脚本的案例是 把文件名重命名成文件夹名字的,这样的一个脚本,我相信自动化办公有一天可以解放你的双手。下面呢,我要把这里的这些啊,这些名字的文件名 改成重命名成这边的一个文件名,然后我在程序里面呢做了一下防错的,就这里不是二十三个项目吗?然后这里也是二十三个项目,就必须要这两个数量一致,他才能就是 不报错。呃,就是我的这个需求,就是把这里这一列的名字重命名成这里的有规律的这些名字啊。下面呢就是我把这个文件夹地址放在这一栏,然后把文件地址放在这一栏,然后最后点击启动,然后我们看一下它大概要多久。 这里的复制一下文件夹地址,然后这里的话是文件的地址啊,复制一下文件地址, 我点启动,然后这里看,大家可以观察一下。现在点启动他这边,呃,他已经改完了,他已经改完了,总共用时零秒钟。 我我,我敢相信说就是人工他,他就是以毫秒计的,他的速度人工操作,一个一个把左边的文件名文件加名字改成这边的一个文件名名字大概要多久呢?我花了好久,呃,我之前没写代码之前用手输入了一遍, 嗯,画挺久的,大概用了十几二十分钟吧,可能用不到,可能五六分钟。嗯,这个如果删掉一个文件夹会怎么样?我把这个文件夹删掉,最下面这个文件夹删掉,这边变成二十三个项目了,二十二个项目,这边变成二十二个项目,然后我点继续点一下启动, 哦这边,然后就会弹出一个错误,文件夹名字数量与文件名数量不符,错误它有自动这个防错的功能,也就说如果我左边的这个文件夹数量跟右边对不上,那说明我的这个文件夹的一个内容就是错的,它有一个 防错的这个功能。我们先来梳理一下整个脚本的一个框架的一个结构,先来梳理一下它的这个框架结构,首先是有一个界面还有功能,从界面和功能两个角度入手, 界面中呢,我们需要两个输入框,一个输入框输入文件夹地址,还有一个输入框输入文件的地址就是你需要重命名的文件地址。 呃,还有这个按钮呢,是用来触发触发这个脚本运行的,这个按钮它是作为相当于是呃按下按钮开始工作,然后功能的话,这一块是, 呃用按钮就按下按钮来触发工作,然后先要获取一下工作的一个时间,因为我在最后要弹窗显示用时信息,就是我一共用了多久去 工作。呃,异常判断,就是我需要呃在提前提前进行判断这个两个文件夹有没有异常,文件夹里面的内容有没有异常文,比如说文件夹地址, 呃中的文件夹地址中的文件夹名字跟文件地址中的文件名字是否数量一致,还有一个是否都是是否是空的文件地址如果是空的,那就不需要进行工作,但如果这两个数量不一致的话,那就是有问题的,需要人工去检查他们是不是正确的。 这个刚才提到了,然后呃,这个也提到,提到了,就是比如说还有一个就是文件地址如果没有写,那也是有问题的,就比如说他是空的,你根本就没有在,根本就没有在这个输入框里面输入数据,那么也是有问题的,不能执行。 呃,工作代码就是他需要来呃,一个是确认文件夹类,文件夹类文件名的数量,通过负循环去工作,比如说有十个文件名,那么就需要工作十遍, 然后呃真正的有效代码是修改前的文件名地址和修改后的文件名地址,利用这个插件进行改名字,这是真正有用的代码。 好,下面我们看一下在按键精灵中的脚本。先从界面这个地方选,先是点一个设置界面,把这个界面设置好,就是里面部布局就是这样的,上面是文件夹地址,下面是文件地址,然后这里有个按钮是启动按钮, 然后我们双击这个启动按钮,开始进入这个启动按钮的这个事件。我讲一下我这个写的思路是这样的 啊,在这个地方我记录一下当时的一个时间,大概是几月几号几点钟,然后有什么需求,需求是第一个是将文件夹下方所有的文件名字重命名为文件夹名字一一对应的,然后在界面中做成两个位置,一个是文件夹地址,一个是文件地址。刚才看到的这个界面, 也就是我在写这个脚本的时候,我已经把我的脑子里的框架已经打好了,然后方案是先获取一下文件夹下所有的文件夹名字,然后再获取文件夹下的文件名字,然后再判断两个文件夹数量和文件名字是否一致,然后开始工作。 那么这个这个是双击以后进入的一个,呃,启动按钮的这个 click 点击事件, 他这里也有中文的这个弹窗,点击点击事件,然后点击事件的话,是这一个一整个都是一个点击事件,从从 event 到 any event 这两个一整个都点击事件,也就说我真正工作的区域就在这个里面, 然后这个是一个时间的时间的一个函数,就我获取一下当前的时间,然后把它变成秒数, 这里是第二个时间,也是当前的时间或变成秒数,那么我只获得这个时间。最后弹窗就是只要十键二减十键一,然后用 and 符号连接起来,然后文件弹窗里面就显示的是文件重命名已完成,共计用时多少秒钟。 呃,然后这个地方就开始判断了,这个是窗体一的,呃,输入框一文本中如果是空的,或者是输入框二的文本中是空的,那么就弹窗显示,呃,文件夹上没有文件退出这个事件,退出这个按钮事件 等于说产生了异常。我们来看一下这个 phone phone 一 的这个位置是在哪里? 在界面里面这个位置就是它,它在这里有个名字,就 input box 一, 然后这个是文文本,它在那边就是叫 text 的 啊,就是这个,这个点 text 的, 这个是,呃,这个符号就是用来调用,调用里面的一个功能,就是点一下,点一下,就就就就可以选择里面是 text 的 文本还是选择标题啊什么的,很多可以选。 呃,这么一个,这样的一个就讲完了,呃,这个是,呃,这个是一和二嘛?一和二就是这里的一和二,这里的名字名称就是二,这个 inbox 一。 然后讲这一段,这一段是呃一个插件,大兵插件,这是大兵插件的判定,这个地方有没有文件,这里也能看出来。 file 就 文件 exist, 就是 否存在,如果有,呃,那么它会,我们来看一下它这个是怎么样的 大兵插件, 这个是 file exist, 这是这里的 大屏插件的 这个,然后看看一下他的那个帮助信息,是,呃零,如果是零是不存在,一表示文件存在,二表示文件夹存在,那么我我就在呃,他会返回, 返回一个数字嘛,我就通过这段代码,这这个插件的这个功能来判定他是不是零,这一个是复制变量嘛,把左边这个变量我需要获得,就是把这个 插件的插件的这个获得的这个数据传递给他,那么我再来判断他是不是零,如果他是零,这里不是表示不存在吗?就是没有文件,所以我这个情况下我也是会返回文件夹上没有文件,通过他来判定。 呃,然后呃这一段结束,然后我又再再写一个 for the name, for the name 就是 for the, 就是 文件夹嘛。文件夹名字,那么我就呃通过这一个呃功能,这一功能是在在这里, 在命令库里面,命令库的文件名,文件里面,然后是便利指定目录下所有文件夹名是这一个,然后它也有一些帮助信息,它的返回值是所有的文件夹名自负串行的, 然后它返回的是宿主变量,所以这个是我们需要关注的宿主变量怎么样来取出来,它等于说这一个它,我用这个 file name 文件夹名,呃,文件名, file name, file name 这个文件名来获得, 这也是,呃,这也是一个宿主,这也是一个宿主,一般来说只要呃,只要你返回的东西比较多的话,它是会就是返回宿主来存储。 然后这个就是刚才的,呃,输入框一中输入的文件夹名,输入框二中输入的文件文件名的名字, 那么就对应起来了嘛,这个地方我是文件夹地址嘛,我需要里面所有的文件夹文件夹的名字,这个地方是文件地址,我需要里面的所有的文件地址,呃,文件的名字,然后下面就是, 嗯,来判定一下刚才的那个点,就是如果数量不一致,对吧?如果是两个文件夹数量和文件里数量不一致,那么我就写在这里了, 就是来判定这个 u 棒的是获得数组的最大下标,这也是只要这两个下标不相等,那么就是说明这个文件夹地址他是不符合的,是错误的,就也是要做到一个退出这个事件, 那么如果是另外一种情况,如果他们从这里没出来,那么就判定他是对的,那还是正确的,那么走下一步进行 for 循环, 这这里文件夹的名字,呃,因为已经是相等了,那么这一个的最大下标就是这个是属于文件夹的名字最大下标, 我跟这个文件名字其实是一样的,这两个相等了嘛?它是一样的,呃,然后我就建立两个变量,一个是 before change, 就是 改变之前重命名之前的数据,这个是 after change 就是 重命名后的名字,重命名前呢?它是,呃,我用了创那个创口二的那个文, 那个地址啊,这里的地址,文件地址,文件地址的这个地址,把它取出来,加上一个斜杠,这个斜杠然后再加上这个 file name, file name 是 这里获得的这个文件名的地址文文件名的名字,那么我拼接起来,这是个拼接,拼接制服穿嘛?拼接起来, 呃,拼起来的话就是一个完整的路径,就是文件文件地址的路径,这个也是改后的文件地址的路径。改后的文件地址有没有注意到这个地方?我用了文件夹的名字,就是我们要的就是把文件名, 文件名改之前的文件名名名字和文件改之后的文件夹名字,加上 d o c x, 这个 d o c x 就是 那个 word 文档。我们要的就是这两种,就是把它重命名成我的文件文件夹名字。 那么我这里是用来调试错误的,就是打印了一下,通,通过那个呃底下的那个脚本信息栏,这里到时候会信,会传输出来是为了,嗯,为了我查 bug 用的 这一段代码是,呃,最重要的代码就是用来 change 的, 就是用来呃重新 rename, 重新重命名的, 因为其实逻辑是这样的,我要从重新重命名的这个文件里面需要的东西来。 before change 和 after change 就是 改之前和改之后才有了,它们有,因为要要这个插件去运行这个东西,它里面需要的这两个数据,所以才有了它和它。 然后就是负循环,不断循环嘛。呃,不断循环的时候,有的时候,比如说文件夹里面有十个文件,那么 呃,最简单的就是你把这个代码跑一下,然后看十个文件你有没有全部改完,有没有报错,那么判定要不要减一,如果说有异常的就是,那可能是加一,你可以减一这个零到这个 u box, 它是一个次数,就是我循环的次数, 循环十次没问题啊,循环九次有问题了,那么我就要在这里把这个剪一去掉了,因为我加一嘛,对不对? 然后这个也是用来查 bug 的。 第几个文件,一共有几个文件,但是这个东西呢?也可以显示在我的界面中,可以在这里加一个这样的标签,在这里可以加一个这样的标签,用来显示我有多少个,现在有多少个文件,正在搞第几个文件, 然后是第二个时间,那么呃,剪一下,从时间二剪到时间一,然后弹窗完成, 这就是整个逻辑。其实我觉得最有用的就是这一个代码,因为我要执行这一个,所以我需要这两个数据。呃,我们来看一下这一个 rename file, name name file 这一个,这里有解释,这也是一个文件的插件,这是在这里的一个文件插件, 所以说他这里是有一是字母串形目标文件或者文件夹路径,二也是字母串形从命名文件、文件夹路径,也就说他需要的是一个完整的路径,那么我在这里就拼接就需要这么一个完整的路径,这样才能成功。 完整的路径是怎么样的?完整的路径就是不要包含,呃,讲一下吧,完整的路径, 比如说这一个完整的路径是怎么样的?在属性这里的一个安全,这里完整的路径应该是这样的,它的完整路径是这一个,这是一个完整的从呃什放在哪个盘,哪个文件夹,文件夹、文件夹到最后文件名字一个完整的路径。 大家可以跑一下这个代码,如果有兴趣的话,如果有疑问的话也可以后台发给我。

三个排序脚本,让你应对百分之八十的面试,我会给出回答的视力和代码的展示。一、接触接口自动化的词脚本,这个脚本我们可以应用在外部或者 app 的 项目中。接口是前后端交互的核心,我经常需要验证接口的连通性和基本的正确性。比如用户登录,那我的速度是这样的,我模拟一个完整的请求 响应验证的链路。首先我可以使用 request 库构建请求,然后我进行三层递进式的断言来确保质量。首先验证状态码,比如两百,再验证响应体结构,比如是否包含 token 字断。最后验证具体的业务值,比如返回的用户名是否 准确。那这个代码呢?虽然简单,但是它展示了接口测试的完整闭环。在实际工作中,我会把它封装成函数或者类,方便在多个测试用力中附用。这个脚本的价值呢,可以帮我快速发现接口级别的回归问题,比如自断缺失、类型错误或者业务逻辑的漏洞。它是我们自动化测试套件的基础模块,执行一次只需秒级, 效率远远高于手动测试。二、数据驱动的测试脚本这个脚本呢,我们可以验证多种的输入情况,比如说登录接口,我们可以验证正常情况,异常情况,比如密码错误,账号锁定和边界情况,比如超长的用户名。如果为每个场景都写一个独立的函数,那代码会非常的荣誉 且难以维护。我们可以这样采用数据驱动测试的模式,它的核心思想是将数据驱动与测试逻辑分离,把所有的测试用力包含用力的描述数据和预期结果,组织在一个列表或者外部的文件中,然后用 p i test 点 mark 点 parameters 这个强大的装饰器让测试函数自动循环所有数据。我们只需要维护 test 点 case 这个列表,它就能轻松地去登山改查所有的测试场景。比如添加一个新用力测试账号,不存在,只需要加一行数据就可以解决, 极大的提升了测试的可维护性和拓展性。在业务规则变化的时候,我们只需要去修改数据,而不是去罗列代码。这个测试报告也会清晰的展示每个数据,每行用力展示的执行结果,便于精准的定位是哪一组的数据出了问题。 三、数据库的校验校本这个校本呢,是一个典型的端到端的验证场景,很多 bug 在 于前端或者接口看似成功了,但是数据它没有正确的落魄 状态不对,比如用户的支付成功,但订单状态在数据库里还是未支付。那我的解决思路是,我会验证分为两个关键的步骤,模拟真实的用户的完整操作路径。一、通过调用接口 模拟用户操作,比如提交订单。二、我会直接查询数据库,验证数据库是否按业务规则被准确的创建或者更新,这样我们能确保应用存储层的业务一致性, 以及数据的流转是正常的。这个代码我们可以通过 request 库调用下单的接口,并且获取系统的订单号。然后我们用 cyms 口去连接数据库,用这个订单号 去查询,并且我们可以断言关键的字,比如商品的 id 数量和状态,这些值是否符合预期?这个脚本的价值可以帮我发现那些纯接口测试难以发现的深层 bug, 如事务提交的失败、脏数据状态机错误等等,它体现了我的大局。质量观测试呢,我们不能只停留在界面或者接口,必须验证数据的最终一致性,这样呢,能保证业务正确性的最后一道防线怎么样,你学会了吗?

怎么还有同学写广告脚本,只会干巴巴的介绍产品信息啊?首先先说第一步,你的脚本格式是不是标标准准的,该有的要素都得齐活才行。 那我们的一个广告脚本,首先要讲述清楚我们视频的主题以及广告的目的,还有内容梗概和创意表述。接下来就是脚本写作,也就是我们的重头戏,你要写清楚近号时长紧别,包括远权、中近特以及镜头运动。当然一般情况下我们都是以固定镜头为主的 运动镜头,包括推拉、摇、移跟等等。在画面内容当中呢,你就要把你这个视频的主要故事讲述清楚。然后就是旁白的部分,也可以称作是字幕、 音乐、音效以及备注。在备注这一块呢,大家可以写上自己的一些小创意,比如说你想使用什么样的字体等等。但是说实话,你想要在一大堆试卷里脱颖而出,光把产品的卖点说清楚是远远不够的。 关键是你的脚本一定要有启程转合,说白了就是往你的脚本里面去加冲突,如果你的故事写的平淡如水的话,那根本就抓不到阅卷老师的眼睛。 那我现在就来给大家捋一下启程转合的这四部的核心。启的部分要快准狠,抓住注意力,把核心场景、核心事物交代清楚,定下基本的基调。程的部分就是衔接递进,慢慢去铺垫关键信息,自然的去展开情节,补补背景啊,说一说产品的关键要素啊,让整个序势连贯起来。 转,可是我们的关键节点得引入核心主体,要么就造一个情感的高潮,这一步写好才能出彩。 那核就是收尾和收数,总结好核心价值和产品主张,最后打出来我们品牌的 slogan, 那 加入冲突的部分,我们整个脚本自然也会变得有 趣,月娟老师她自然也就会去多留意。那下一期我就专门来讲一讲怎么写好我们脚本当中这个点睛之笔转的部分,关于任何新传考研的问题都可以在评论区跟我讨论哦,下课。

先说结论,就是我们能用协议的话尽量用协议,我们在网络上所看到的听到的关于脚本的大多其实就这两种,就是模拟脚本和协议脚本两种, 模拟脚本呢就是模拟点击、模拟滑动填写这样一类,而协议脚本呢就更加直接,他就是直接提交网络数据包给服务器,这种方式 非常的简单,而且对电脑性能几乎没有什么要求,速度也非常快,一般做项目的老板都是首选协议脚本, 如果实在不行了才会选择模拟脚本来凑合。其实脚本它还有一个非常大的缺陷,就是它的这个过风控、过安全,嗯,它是,嗯比较弱的。

先讲一下这个,嗯,下载好的压缩包,怎么把那个脚本还有图片导入到这个 auto 点? gs 六这个工具里面, 打开文件管理,然后手机,然后微信下载,它一般是在当当当当,然后微信,微信,然后这个,哎, 然后给它解压到脚本啊,解压到这个文件夹里面加速,因为我解压过了,所以就这里点取消, 然后就会得到这个文件夹,里面就有那个图片啊,还有脚本源码,要保证是在脚本自动激活这个路径里面,而不是脚本自动激活,然后下面还有个自动激活这个文件夹,如果是的话就把移出来,移到脚本下一集的这个自动激活里面, 然后讲一下那个设置啊,呃,先打开这个软件,然后激活。二。首先讲这上面这两个啊,我先把这个,这个应该不用讲了,这个是默认驿站,就跳过玄奘的步骤啊,这些的话权限什么的偶尔记得开启一下,然后启动这个, 我找一下抖音,我的订单,我达到了这个机会, 它这个设置,第一个一点 p n g, 对 应的就是选择这个机建地址,还有一张按钮,一点 p n g 是 吧?一点 p n g, 就是 这一个,哎, 就这一个小的那个,呃,那个右单什么书名号?对,右单书名号,这,这是几玩意?那可以看,你看一下那个图片,打开文件夹看这一点 p n g 是 什么?手机找不到。 九零二脸皮尖呢,就这个好,它上面这个,第一个它的需要是零啊,不是一,然后这是零,这是一,这是二,到时候根据实际情况调整一下,一二啊。 第二个关闭输入法坐标这个的话,就打开这个开播选项的那个显示中位置就可以获取了。然后有一个技巧,就是一定要是在 嗯这个位置这个编辑地址,编辑这两个地方的位置,这个坐标它是可以点一下,然后直接关闭这个输入法,其他地方有时候不知道为什么它会失效啊。嗯, 然后这个悬浮窗记得移开点,不然到时候点到悬浮窗了,然后其他地方看一下,然后这个知心率,知心率就是,嗯, 这个就是一个相似度啊,比如说现在是零点七五,那就表示脚本他实时获取到了这个按钮的图片,与之前预设好的截图好的这个按钮图片来进行对比。而如果相似度达到了百分之七十五以上,或者是等于百分之七十五,那么脚本就认为这个 呃实时获取到的这个图片就是正确的按钮,他就会点击或是执行操作。 有时候如果嗯,因为有一点点分辨率差异,那就可以识别不到这个那个图片的话,那可以适当的调低一下那个图片识别知心率啊,这个参数可以慢慢调,调,太低的话那可能会点错,太高的话可能找不到, 这得设置一下。然后刚不超时时间顾名思义吗?超时吗?超过这个时间他就会报错的,这现在是一万毫秒就十秒钟,十秒钟一般都是完全够的,一般不用更改。然后这个步骤缓冲时间呢?他就是嗯执行完这个点击或是这个什么步骤之后,他的那个等待时间,比如说执行点击这个 阅读并同意等待多久啊?就统一了,都是你设置好这个阅读并同意,等待多久就统一了,都是谁情况调整就行了 啊?五点偏僻,放在这个脚本图片这个路径下,就是用这个。呃,我之前发的这个截屏工具,那这个截屏用这个工具来截就行了,给它截一个, 哎,没选好。你截一个,然后就保存为五,然后就确定就行了,它就自动保存到脚部图片这个文件夹里面。如果说要更换一些,一点编辑二点编辑这这些按钮的话,那就截屏,截屏完之后还要从那个脚本图片这个文件夹里面移动一下,移动到这个, 移动到这个文件夹里面,这个脚本自动激活零二这个文件,然后替换一下就行。其他的,嗯,就没什么了。

这个视频中我将讲解一下 max 脚本的一些问题,有很多同学拿到了我分享过的脚本,在使用过程中会出现很多问题,例如无法使用, 想方便的停靠使用等。这个视频中将演示脚本的修改过程来方便大家更好的去自行修改使用。首先来看几个脚本,比如比较常用的复制粘贴脚本,将它直接拖入 max 中就可以进行使用了。例如这个脚本不能进行拉宽放大, 挪刃下拖拽脚本矿放大是不可以的,他也不能停靠在一边,比如说放在边上他不能进行停靠,即使做成了小按钮,他依然也是通过一个对话框的形式,并不能放置所有。明白了需求,首先就是要打开脚本, 通过脚本下打开脚本,找到复制粘贴脚本,就可以看到脚本中的内容了。先来看几个参数,这里的参数代表的就是脚本的样式参数,比如说可以让脚本上面有标题,有边框,有关闭按钮, 或者匹配 windows 样式,或者带有自由变换形式,也就是放大缩小,只需要添加他的样式标准就可以完成。我来进行演示。回到脚本窗口中,只需要在他的最下端,也就是最后一行中添加样式类型就可以了,比如需要让他变得能自由拖拉 输入脚本的样式,这样就为他手动的添加了样式类型。然后使用 ctrl 加 e 进行运行测试,可以看到脚本已经可以任意拉宽了。接下来让脚本停靠,那现在脚本依然是不可以去停靠的,所以说要让脚本停靠在哪一边,首先熟悉停靠规则, 需要让脚本进行识别,要让脚本的系统的名称进行注册,注册完之后才可以去制作他的停靠,比如停靠在哪一边,那这里就是脚本的停靠语法, 可以选择停靠全部,也就是说所有的地方都可以进行停靠。回到场景当中,已经知道了要去制作的东西,可以在脚本的最下方去添加停靠的信息,需要找到脚本的系统名,这里就是他的系统名,然后复制一下他的系统名,这样就做好了脚本的停靠,接着就要来确定停靠方向了, 选择全部停靠就好,最后使用 ctrl 加 e 进行运行,可以看到这里已经正常停靠在一边了,还可以任意的将它拖拽出来,让它停靠在任意一个方向上。 最后来讲解一下错误脚本信息,那比如说类似于这个脚本信息, 将他的脚本拖入进来,他会显示错误有异常,可以打开脚本真听器,通过真听器进行判断。这里出现了错误问题,错误的地方是在哪里?只要记住几个关键地方, 错误的位置发生在第五行当中,就可以去找到第五行,这里前面是固定语法,代表了窗口,窗口后面代表系统名,系统名。第一个字符不能使用数字, 所以这个问题是在这里将数字进行删除,就已经解决了,这个错误可以再进行启用,还是出现了错误, 这回的错误发生在第一百七十九行,找一下第一百七十九行是在最下方,同样的问题还是出现在系统名中,将数字进行删除,这个时候再进行启用,就可以正常的启动脚本了,除了之前说到的一些简单函数的问题,还会出现一些脚本名称上不一致的问题, 类似于我之前给大家分享的反兆率脚本,有些同学拿上后并不能使用。我总结了一下问题脚本语法这块非常简单,但是出现问题很多同学运行不了,是因为里面识别的名称出错。可以看到这里的名称 ethius 创建的,如果换到现在的物理材质中,可以在颜色里进行观察,应该是 bus color, 所以名称发生了错误,导致脚本无法使用。这个脚本是适配的是以前的传统材质,观察下传统材质的颜色名称, 所以在传统材质下他是可以正常运行的,更改为彼此卡了后,在物理材质中就可以正常使用了。