【发布时间】:2015-11-22 01:48:36
【问题描述】:
所以我对 Robot Framework 相当陌生,现在已经多次遇到这个问题的各种形式。本质上,我创建了一套测试,这些测试最终通过并检查了我期望的东西,然后它们通过 CI/CD 管道,在专用的测试运行器上我遇到了一些失败。从本质上讲,这似乎是因为测试运行器做的事情要快一点,无论是由于硬件还是 selenium 速度,这并不重要。
为了避免这些失败,我最终添加了测试以在某些点“减慢”它们以确保成功,基本上是让它们膨胀或只是为了更具保护性。那么对于那些有更多经验的人,你如何处理这种情况呢?我想尽可能坚持最佳实践,即我不仅在任何地方都使用睡眠,而是使用隐式等待,但我仍然不知道最好的方法是什么。
这是我最近遇到的一个问题的 sn-p:
Wait Until Page Contains Element ${STATIC_TABLE_XPATH}/somepath 10
${image_text} = Selenium2Library.Get Element Attribute ${STATIC_TABLE_XPATH}/somepath
${second_paragraph_text} = Selenium2Library.Get Text ${STATIC_TABLE_XPATH}/somepath
因此,基本上尽管这些在功能上是正确的,但有时在测试运行器上运行时它们不会拉回任何东西。我认为这是因为事情发生得太快了,所以我添加了一个等待页面包含元素,不幸的是同样的问题仍然存在。有没有最好的方法来处理这种情况,让它一直通过?
我认为在预期变量值上添加等待关键字成功会非常可怕,但很高兴被证明是错误的!
【问题讨论】:
-
您是否尝试过增加
Wait Until Page Contains Element关键字调用的超时时间? -
我认为这不会有帮助吗?它几乎立即通过了那个阶段,所以不会产生影响?我发现整个情况很奇怪,因为我得到的东西不受 Javascript 的影响,它从页面加载时就存在,但是因为页面上有活动,它必须搞砸
标签: python selenium robotframework