热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

硒测试有时会因天蓝色管道而失败,并在本地通过

单击按钮后,测试用例失败,但未找到链接或任何验证消息。我使用显式等待页

单击按钮后,测试用例失败,但未找到链接或任何验证消息。

我使用显式等待页面加载:

_C

对于等待验证消息的特定div:

_U

但是测试用例有时会通过管道通过,有时会失败。



您需要注意以下几点:


  • 在单击按钮后没有找到链接或任何验证消息的情况下,测试用例失败:很大程度上取决于 button 的属性。如果 button 包含以下任一属性/事件,DOM Tree将得到更新,随后尝试找到所需的元素可能会失败


    • onclick()事件:



    • jQuery click()事件:

      $("p").click(function(){
      alert("The paragraph was clicked.");
      });


    • 因此,在点击按钮之后,要找到所需的诱导元素,就必须为WebDriverWait诱导ElementExists()


    • 您可以在ExpectedConditions.ElementIsVisible returns TimeoutException even when element is present
    • 中找到相关的讨论


  • ExecuteScript("return document.readyState").Equals("complete"):此代码行不能有效确保所需元素是否存在 / 可见 / HTML DOM中的>可交互


    • 您可以在Do we have any generic function to check if page has completely loaded in Selenium
    • 中找到相关的讨论


  • 但是用ElementExists() 等待特定的div 应该是可行的。相关的HTML可以帮助我们分析出了什么问题。但是,如果与 validationErrors 相关的元素基于 HTML5 Constraint validation,则必须使用GetAttribute()方法。

    • 您可以在How to handle html5 constraint validation pop-up using Selenium?
    • 中找到相关的讨论



,

我建议以下内容:


  • 一旦测试失败,请立即进行快照。
    有时当您在本地运行测试时,网络通信
    比在服务器上运行快一点。这表示微调器或
    加载控件可能不在本地显示,因为已检索到结果
    速度足够快,但如果从
    服务器将响应发送给客户端。

  • 如果您尝试在FF上无头运行FF的测试
    设置,然后根据我的经验还不稳定。

  • 在经常失败的失败场景中确定模式
    尝试使其循环运行多次,并确定
    失败。在我的一个案例中,性能中存在实际错误
    测试时曾经被复制的应用程序
    立即批量运行


,

我遇到了这个问题,除了我的测试在Azure Pipelines中总是会失败,但会在本地通过。不以“无头”模式运行解决了我的问题。为此,请确保在“ Visual Studio测试”任务中选中了“测试混合包含UI测试”。Check "Test mix contains UI tests"


推荐阅读
author-avatar
cang桑哥哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有