• Robot FrameWork UI自动化脚本稳定性与原生关键字


        在执行robotframework  的用例时,经常会出现稳定性差的问题。用例执行第一次成功,执行第二次就可能报错。自己对这个问题挠头很久,不知道怎么解决。今天在浏览网页的时候发现了一个不错的帖子,好像能够解决这个稳定性的问题。然后就把贴子搬了过来,为自己做一下备份(看了人家的帖子后,发现原来还是自己对robotframework的关键字用的不够熟悉造成的⁄(⁄⁄•⁄ω⁄•⁄⁄)⁄)。 


    众所周知,在UI自动化在运行时,时常会收到来自各方的挑战;开发会说,你的自动化不稳定,又误报了;测试会说,这个框架不行,太多误报,我要花大量的时间去复查是否是BUG

    出现运行不稳定的情况包含: 

    一、         页面加载时快时慢,导致要操作的元素时隐时现!

    二、         过多的异步加载,虽然控件加载完成了,但是值的填充正在进行!

    三、         网格列表无法判断,是否加载完成,因为框架加载和数据加载要全部完成,才能操   作!否则会webdriver异常;

    四、         Frame不退出为什么也报错!

    解决问题:

    第一个问题:在操作元素之前,需要先判断元素是否可见,Wait Until Element Is Visible

    第二个问题2个解决方案;

    Wait Until Keyword Succeeds 等待后面的关键字执行成功,可设置超时时间和重试间隔时间

    如果你能确定,是否个元素值,加载最晚,就可以使用第一个问题的解决办法;

    第三个问题:通常会对网格进行选中、双击、单击、验证等处理;如果网格数据未加载完成,webdriver会报错,以下2种解决办法;

    在数据加载时,开发会实现loading效果,我们可以用Js调用开发的Loading判断,通过返回值,来确定网格列表加载完成没有;

    以网格中某行为锚点,判断这个行是否可见了,如果可见,说明网格基本加载成功,可以使用第一个问题的解决办法;

    第四个问题:点击一个按钮,出现一个弹出界面,通常实现是Div里面嵌套一个Iframe;有人会习惯,关闭这个弹出界面后,就直接操作父页面了;

    研究发现,在某些浏览器的某些版本下,select Frame 后不退出,直接操作父页面,是OK的;但同时也发现,在一些版本下,即使Frame消亡,不退出framewebdriver也会报错;所以还是老实的遵守规则吧!

     

     原贴链接:https://zhuanlan.zhihu.com/p/21567663

     

     

  • 相关阅读:
    【JavaWeb】Hibernate Dao层设计
    【C#】身份证识别(一):身份证号定位
    【JavaWeb】SpringMVC重定向页面取值
    关于chrome扩展的东西
    【C#】基于Opencv/Emgucv的身份证识别
    Bashware
    【java多线程】分段阶乘计算
    【java】多项式计算(中缀转后缀)
    iOS  OTA问题排查【itms-servers协议在线安装ipa包】
    【深度学习】BP算法分类iris数据集
  • 原文地址:https://www.cnblogs.com/maxiaotu/p/7426940.html
Copyright © 2020-2023  润新知