diff --git a/odoo/tests/common.py b/odoo/tests/common.py index 900bbc327a5..2050f25fc55 100644 --- a/odoo/tests/common.py +++ b/odoo/tests/common.py @@ -6,8 +6,6 @@ helpers and classes to write tests. """ import base64 import collections -import errno -import glob import importlib import itertools import json @@ -16,19 +14,15 @@ import operator import os import re import requests -import select import shutil -import socket import subprocess -import sys import tempfile import threading import time import unittest import werkzeug.urls from contextlib import contextmanager -from datetime import datetime, timedelta, date -from pprint import pformat +from datetime import datetime, date from decorator import decorator from lxml import etree, html @@ -538,13 +532,15 @@ class ChromeBrowser(): params = {'name': name, 'value': value, 'path': path, 'domain': domain} self._websocket_send('Network.setCookie', params=params) - def _wait_ready(self, ready_code, timeout=10): + def _wait_ready(self, ready_code, timeout=60): _logger.info('Evaluate ready code "%s"' % ready_code) awaited_result = {'result': {'type': 'boolean', 'value': True}} ready_id = self._websocket_send('Runtime.evaluate', params={'expression': ready_code}) last_bad_res = '' start_time = time.time() - while time.time() - start_time < timeout: + tdiff = time.time() - start_time + has_exceeded = False + while tdiff < timeout: try: res = json.loads(self.ws.recv()) except websocket.WebSocketTimeoutException: @@ -555,6 +551,11 @@ class ChromeBrowser(): else: last_bad_res = res ready_id = self._websocket_send('Runtime.evaluate', params={'expression': ready_code}) + tdiff = time.time() - start_time + if tdiff >= 2 and not has_exceeded: + has_exceeded = True + _logger.warning('The ready code takes too much time : %s' % tdiff) + self.take_screenshot(prefix='failed_ready') _logger.info('Ready code last try result: %s' % last_bad_res or res) return False