Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Webdriver测试-将事件/通知推送到测试_Python_Selenium Webdriver - Fatal编程技术网

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

Python Webdriver测试-将事件/通知推送到测试,python,selenium-webdriver,Python,Selenium Webdriver,情况如下: 我们运行webdriver测试(python)来测试胖客户端(Javascript)应用程序。当应用程序遇到错误时(通常是:后端不响应/响应wit故障),它会显示一个“我们有问题”UI 当前,发生这种情况时,webdriver测试将超时: a/测试进行一些交互 b/应用程序以所说的“我们有问题”UI作出响应 c/测试扫描DOM,寻找一些在交互成功时应该出现的元素 d/由于这些DOM元素不存在,测试将重复步骤c/直到超时 当然,我们可以在测试中显式地编写一些代码来查找错误通知UI。然而

情况如下:

我们运行webdriver测试(python)来测试胖客户端(Javascript)应用程序。当应用程序遇到错误时(通常是:后端不响应/响应wit故障),它会显示一个“我们有问题”UI

当前,发生这种情况时,webdriver测试将超时:

a/测试进行一些交互

b/应用程序以所说的“我们有问题”UI作出响应

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

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

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

我们所寻找的是以下几点:

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

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


webdriver提供这样的API吗?

不太可能。Webdriver有一个API用于忙等待(表示为)

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

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