最近在做银行内部系统的一个流程自动化的时候发现有些页面比自己想象的复杂了很多,可能是因为测试系统的缘故,所以这样的异常在所难免吧,但是既然是做
POC,不管什么样的疑难问题都是要解决的。
上面图片,是最近做
POC的时候,遇见的一个异常弹出框,脚本性错误:JS
这样的错误,首先用到的第一个方法是
UiBot的
元素判断
但是测试过后,返回的是
False,意味着这个异常的弹出框并不能找到元素。
然后尝试第二种我认为万能的方法
:
图像判断
。
结果令人惊奇的是,返回的竟然还是
False,这让人很无语啊。
无奈之下尝试了
UiBot的第三种方法
:
文本判断
。
这次终于返回
True了!!!(对于功能强大的RPA软件来说,总有一种方法会给你惊喜)
这个界面判断的问题解决了,那么接着需要做的就是关闭它了
,我本来以为会很简单,可是对于这个异常情况来说在这里我又想多了。
这里我首先尝试了第一种
:
鼠标点击
。
我用了三种模式
:
后台
系统
模拟
。
发现都是点上了
,但是没有反应,弹出框也并没有关闭,这就很好奇,意味着虽然选中了,但是没有给你反馈。
因此我用了第二种方法
:
关闭窗口
。
发现还是关闭不了,我不得不敬佩银行内部测试系统的无敌了,此处我采用了第三种方法
:
鼠标点击
+模拟按键
。
它完美解决了这个关闭问题,但是另一种现实情况是,此处弹出框不止这一个,而是随机的每次可能有一到六个不同类型的弹出框。(六种可以采集到)
如果你只是用单个元素循环去做判断,那么你先后顺序肯定没法处理,因为这个地方是随机出来,你不确定哪一个先出现,所以此处采取了计次循环。
把六种异常情况全写在里面,计得次数最好大于弹出框的种类以及可能弹出的最大次数,然后每次做界面判断的等待时间可以尽量缩短,不然会发现有时候没有的界面等待时间会很久,这样给客户的友好体验感会有所下降。
总之,通常像一些异常的弹出框
,有时候真的很难用
RPA软件的某一常识性控件去处理解决掉,所以在处理问题的时候想出多种解决方案很重要(这和RPA软件的功能全面性有很大关系,决定能否助力你有多种备选计划),当然,首要标准还是稳定为主。
以下总结了窗口型的解决方案,仅供参考。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/198283.html