python - Webdriver 测试 - 将事件/通知推送到测试

标签 python selenium-webdriver

情况是这样的:

我们运行 webdriver tests (python) 测试胖客户端 (Javascript) 应用程序。当应用程序遇到错误(通常:后端不响应/响应失败)时,它会显示“我们遇到了问题”UI。

目前,当发生这种情况时,webdriver 测试只是超时:

a/测试进行一些交互

b/应用程序响应“我们有问题”UI

c/测试扫描 DOM,寻找交互成功时应该出现的一些元素

d/由于这些 DOM 元素不存在,测试重复步骤 c/直到超时

当然,我们可以在测试中显式编写一些代码来查找错误通知 UI。然而,我们将不得不在我们的测试中从多个地方调用它(而且我们可能会错过几个地方等)

我们正在寻找的是这些方面的东西:

当在 webdriver 下运行时,应用程序不会显示错误 UI,而是调用一些 API,这些 API 基本上会“通知”webdriver 测试发生了错误。在测试方面,我们将在此通知上注册一个监听器。触发时,监听器将立即使测试失败。

本质上,我们正在寻找一个从应用程序端到 webdriver 测试端的事件调度 API。

webdriver 是否提供这样的 API?

最佳答案

不是真的。 Webdriver 有一个用于忙等待的 API(表示为 Implicit Waits )。

一个可以稍微美化它的建议是在两侧使用迷你“sdk”,但我不确定 Webdriver 是否支持多线程(同时两个查询)即

  1. 客户端添加预定义元素以防出现错误。
  2. 测试端产生一个新线程并对预先确定的元素使用隐式等待(仅在出现错误时添加)。一旦他找到该元素(意味着存在错误,其中一个字段包含错误消息),就会中断带有错误的测试线程。

参见 similar example here .

关于python - Webdriver 测试 - 将事件/通知推送到测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380309/

相关文章:

python - 系列已导入但未使用错误Python

python - 在 MongoEngine 中查询嵌入的文档列表

javascript - Selenium TestNG 框架无法在多个测试中调用驱动程序对象

selenium-webdriver - 机器人框架-在运行关键字后执行多个关键字,如果

java - 如何使用 JAVA 在 Selenium WebDriver 中打开 Chrome 开发者控制台

selenium - 如何使用 Selenium WebDriver/RC 测试 UI 上显示的广告

python datetime fromtimestamp 产生值错误年份超出范围

python - 比较具有不同列名的两个 Pandas 数据框并找到匹配项

python - 使用 add_cookie 时 WebDrive 出现奇怪的异常

.net - 铁蟒: what are good uses for Iron Python