WeAutomate流程开发规范

举报
hwp 发表于 2022/05/11 12:25:14 2022/05/11
【摘要】 学习笔记记录,我们不生产知识,我们只是网上资料的搬运工,如有侵权请告知博主删除

1.1 高健壮性机器人要求

对于复杂度为O(n2的脚本或者脚本涉及到UI页面操作就必须使用Try-catch+SubProcess保证高健壮性。

Tips:在读写文件,比如读Excel的时候,也可以放入到Try-Catch-Finally里,如果Excel被打开了则脚本执行打开Excel会出错,我们可以在Catch里调用脚本杀掉Excel进程,在下一次Try的时候就可以顺利打开文件了

 1.2 转变成机器思维的要求

比如我们将一个Excel表格里的内容,循环100次录入到web页面里。如果在没有模板可以一次导入的情况下,我们需要循环100次。

人的操作思维:

1  登陆网页。

2  选中相应的内容copy到网页里,并提交。

3  循环填入下一条。

4  结束。 

当用脚本实现时,我们建议:

1  打开excel读取1000条内容到内存里。可以避免文件交叉操作导致任务失败。

2  循环内存中1000条数据的第一条,并判断网页是否ready可以填入内容,并提交。如果网页未ready那么就打开网页。

3  循环填入下一条。

4  结束。

这样做的好处是:不管网页是否稳定,即便网络中断几分钟,都可以顺利的保证完成录入任务。

 1.3 便于定位问题添加必要打印的要求

当开发完成转维后,想要再去查找问题就比较困难, 所以在开发初期增加足够的日志,便于后期定位问题。

例如在进入新脚本的时候、查询到结果的时候、关键节点等。

 1.4 查询再执行类增加校验的要求

比如下图处理当前单处理的问题,要把单号记录下来,便于出现问题后排查问题,如果允许的话可以在失败的时候截图保留截图。

 如果查询结果不一致,则继续查询一次,多次后未果,则发送通知消息。

 1.5 使用文字或者相对路径定位的要求

xpath=//button[text()="Reset"]

xpath=//a[contains(text(),'我的任务')]

xpath=//*[contains(@id,"datatable")]/div[2]/div[1]/div/div[4]/div

xpath=//*[text()="提交"]

或者使用相对路径,这样在网页变动后还能增加成功定位的概率。网页操作中xpath的定位非常重要,可以参考网上资料进行深入学习。

1.6 使用GETTABLE代替循环的要求

在很多网页中某些表比较长,当前窗口显示不全,可以使用gettable,这样可以避免取不到拖动后才能看到的元素,如下图右侧的元素定位。

当然,有些看上去是表的展示,单实际并不是表,还是要循环去操作。

对于gettable的使用可以登陆www.ilearningx.huawei.com,搜索AntRobot,查看高级课程的9.2章节

  1.7 双重保护确保任务达成的要求

比如对于鼠标移动网页元素上面的时候才会出现的菜单,actionchains 不一定会每次稳定运行。

此时可以增加ClickPicxx的操作。

 1.8 串行任务改并行的要求

比如登陆网站下载几千张图片,并对图片做OCR识别,比较推荐的解决办法是:

 1WeAutomate负责下载 图片,并拆分成不同的小组,比如100张一组。

2一组完成下载后即调用Java或者python等实现处理每个小组的图片,并继续下载下一组照片

3WeAutomate判断图片所有图片识别结束后进行信息汇总。

4最后一个小组与倒数第二个小组都完成,或者所有小组都完成,则执行完毕。

1.9 拆分超长流程的要求

不要将所有的流程全部放在一个子脚本/Script里,跟写代码时不允许一个函数体超过150行或者200行一个道理。

 缺点:    

1太长的流程很难读懂,别人很难很快了解流程的结构

2没有异常处理逻辑

3如果系统中出现小问题,则进程将终止

 改进建议:主页保留流程主线,把大部分二级处理逻辑移到子页之后

对完成的任务进行合理的拆分。

1.10 安全开发规范要求

1WeAutomate Studio支持敏感信息本地存储、使用双重加密

2管理中心运行账号与开发账号隔离

3开发人员只接触测试账号

1.11 其它要求

1流程应该简洁、干净且有逻辑

2应当在在定义好流程的输入、输出、处理过程后,再着手进行开发

3保存流程前,应该先检查所有Error。开发过程中的Error应当保证可控;开发完成后流程中不应当存在Error

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。