自动化脚本能够完成任何事情,帮助你们节省时间和成本,这也是机器人流程自动化(RPA)和自动化测试在企业中应用愈来愈广的缘由。下面就介绍一个经过脚本自动化备份文件的步骤,懂一点JavaScript的同窗都能轻松实现噢。javascript
百度网盘做为一款经常使用的网络存储软件,能够帮助咱们将文件存储到云端,为保存文件提供了很大的便利。同时,百度网盘有个【自动备份文件夹】的功能,以便于自动同步。可是这个功能是会员,须要收费才能用。假如你和我同样不是会员,恰巧又想用到这个功能。那就跟着我来写一个简单的自动化脚原本实现这个功能吧!java
编辑feature文件,输入功能描述。node
# language: zh-CN
功能: 备份文件到百度网盘
百度的自动备份功能须要会员才能用,做为没有会员的我写一段自动化脚原本实现相似功能
场景: 自动备份文件到百度网盘
假如将"D:\\backups" 目录做为须要备份的目录。
同时获取此目录下全部文件。
那么将此目录文件上传到百度网盘。
复制代码
2. 在编辑虚拟控件界面。【添加虚拟控件】--画出【上传】按钮的位置,并修改控件名为【上传】
复制代码
3. 点击肯定。在对象模型管理器中能够实现对【上传】控件的定位。
复制代码
const { Given, When, Then } = require('cucumber');
const { TestModel, Auto } = require('leanpro.win');
const { Util } = require('leanpro.common');
const path = require('path');
let fs = require('fs');
let model = TestModel.loadModel(__dirname + "/model1.tmodel");
//// 你的步骤定义 /////
var backpath;
Given(/^将"([^"]*)" 目录做为须要备份的目录。$/, async function (dirpath) {
backpath = path.join(dirpath);
});
var filestring='';
Given(/^获取此目录下全部文件。$/, async function () {
let moment =require('moment')
let date = moment().format('YYYY-MM-DD');
let dir = path.join(backpath);
let files = fs.readdirSync(dir)
for(var i =0;i<files.length;i++){
filestring += '"'+files[i]+'" '
}
});
Then(/^将此目录文件上传到百度网盘。$/, async function () {
await model.getVirtual("上传").click(0, 0, 1);
await model.getEdit("文件名(N):1").clearAll();
await model.getEdit("文件名(N):1").set(backpath);
await model.getButton("存入百度网盘").click(0, 0, 1);
await model.getEdit("文件名(N):1").set(filestring);
console.log(filestring)
await model.getButton("存入百度网盘").click(0, 0, 1);
});
复制代码
编辑运行配置中复制生成的命令行,能够直接在命令行中运行,因此能够将此命令写到bat脚本中。设置定时任务执行来实现定时上传文件。或者在Jenkins中配置定时任务实现定时自动备份文件。网络
下次要备份别的目录只要修改feature文件中目录信息就能够了,无需修改代码。有兴趣的同窗能够触类旁通,将日常繁琐的操做自动化,只须要一些node.js的基础知识,就能够快速编写一个能够自动化的场景。当这些场景积累多了,能够组合成一个自动化流程,那时你就是流程自动化的专家啦。async