From patchwork Tue Jan 9 13:53:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alassane Yattara X-Patchwork-Id: 37533 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B9B76C46CD2 for ; Tue, 9 Jan 2024 13:54:00 +0000 (UTC) Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by mx.groups.io with SMTP id smtpd.web11.17035.1704808437658066772 for ; Tue, 09 Jan 2024 05:53:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@savoirfairelinux.com header.s=DFC430D2-D198-11EC-948E-34200CB392D2 header.b=UTLyGGmk; spf=pass (domain: savoirfairelinux.com, ip: 208.88.110.44, mailfrom: alassane.yattara@savoirfairelinux.com) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id AC31E9C2AE2 for ; Tue, 9 Jan 2024 08:53:56 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id eB6rGPksoNR3; Tue, 9 Jan 2024 08:53:56 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 3E48F9C160A; Tue, 9 Jan 2024 08:53:56 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 3E48F9C160A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1704808436; bh=kpj+6CIInwQFgN8SSYHTGNzQ3CjEKsnTJc/AuKY1yu8=; h=From:To:Date:Message-Id:MIME-Version; b=UTLyGGmkbMy8Nv76TfWS3qLM+iNCrqc0T/wyhpkA6rapul1V9XteCi+fqZbfz0nEZ f3TpnVizKXi8Z4QYhUDMI4qrUYzR9gtrbD+ieoAwpiJmXlkJWa7nm6nq+NGQbHsyk7 BduSBywYMj6hmu9TRUydGdK39eMPQPCYXnsjCDLJnkA/bVDyelCz6s5MZLWOsXLZ6W yZe8rJ4VJ7RJK7qMgmNdsyRXTNASqkstl/8HyzKNU6L2Z9etXFm7H2YY/4HcH0bTGg ZCrWLnx/iokJZQv8Y2dlof5BVPycN0XX6gftSz371vK+rVB/IECenJRHVYyH4wQM0k jOJu7I1QNgHQA== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id yNHNblYrFfyZ; Tue, 9 Jan 2024 08:53:56 -0500 (EST) Received: from jedi.. (unknown [196.127.183.75]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id A750C9C0B24; Tue, 9 Jan 2024 08:53:55 -0500 (EST) From: Alassane Yattara To: bitbake-devel@lists.openembedded.org Cc: Alassane Yattara Subject: [PATCH v2 1/3] toaster/test: Setup delay after drvier action self.get(url) Date: Tue, 9 Jan 2024 14:53:50 +0100 Message-Id: <20240109135352.416686-1-alassane.yattara@savoirfairelinux.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 Jan 2024 13:54:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/15758 Recurring test failures result from insufficient delays in driver actions. Signed-off-by: Alassane Yattara --- lib/toaster/tests/browser/selenium_helpers_base.py | 7 +++++++ lib/toaster/tests/browser/test_all_builds_page.py | 4 +++- lib/toaster/tests/browser/test_builddashboard_page.py | 1 + lib/toaster/tests/browser/test_new_custom_image_page.py | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/toaster/tests/browser/selenium_helpers_base.py b/lib/toaster/tests/browser/selenium_helpers_base.py index 562fedec..393be754 100644 --- a/lib/toaster/tests/browser/selenium_helpers_base.py +++ b/lib/toaster/tests/browser/selenium_helpers_base.py @@ -182,6 +182,13 @@ class SeleniumTestCaseBase(unittest.TestCase): abs_url = '%s%s' % (self.live_server_url, url) self.driver.get(abs_url) + try: # Ensure page is loaded before proceeding + self.wait_until_visible("#global-nav", poll=3) + except NoSuchElementException: + self.driver.implicitly_wait(3) + except TimeoutException: + self.driver.implicitly_wait(3) + def find(self, selector): """ Find single element by CSS selector """ return self.driver.find_element(By.CSS_SELECTOR, selector) diff --git a/lib/toaster/tests/browser/test_all_builds_page.py b/lib/toaster/tests/browser/test_all_builds_page.py index 7019b3db..ab6da821 100644 --- a/lib/toaster/tests/browser/test_all_builds_page.py +++ b/lib/toaster/tests/browser/test_all_builds_page.py @@ -224,6 +224,7 @@ class TestAllBuildsPage(SeleniumTestCase): url = reverse('all-builds') self.get(url) + self.wait_until_visible('#allbuildstable', poll=3) # get the project name cells from the table cells = self.find_all('#allbuildstable td[class="project"]') @@ -232,7 +233,7 @@ class TestAllBuildsPage(SeleniumTestCase): for cell in cells: content = cell.get_attribute('innerHTML') - help_icons = cell.find_elements_by_css_selector(selector) + help_icons = cell.find_elements(By.CSS_SELECTOR, selector) if re.search(self.PROJECT_NAME, content): # no help icon next to non-cli project name @@ -256,6 +257,7 @@ class TestAllBuildsPage(SeleniumTestCase): url = reverse('all-builds') self.get(url) + self.wait_until_visible('#allbuildstable', poll=3) # test recent builds area for successful build element = self._get_build_time_element(build1) diff --git a/lib/toaster/tests/browser/test_builddashboard_page.py b/lib/toaster/tests/browser/test_builddashboard_page.py index b713f300..d838ce36 100644 --- a/lib/toaster/tests/browser/test_builddashboard_page.py +++ b/lib/toaster/tests/browser/test_builddashboard_page.py @@ -162,6 +162,7 @@ class TestBuildDashboardPage(SeleniumTestCase): """ url = reverse('builddashboard', args=(build.id,)) self.get(url) + self.wait_until_visible('#global-nav', poll=3) def _get_build_dashboard_errors(self, build): """ diff --git a/lib/toaster/tests/browser/test_new_custom_image_page.py b/lib/toaster/tests/browser/test_new_custom_image_page.py index 4ad22c7a..9f0b6397 100644 --- a/lib/toaster/tests/browser/test_new_custom_image_page.py +++ b/lib/toaster/tests/browser/test_new_custom_image_page.py @@ -90,6 +90,7 @@ class TestNewCustomImagePage(SeleniumTestCase): """ url = reverse('newcustomimage', args=(self.project.id,)) self.get(url) + self.wait_until_visible('#global-nav', poll=3) self.click('button[data-recipe="%s"]' % self.recipe.id) From patchwork Tue Jan 9 13:53:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alassane Yattara X-Patchwork-Id: 37534 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA9F7C47073 for ; Tue, 9 Jan 2024 13:54:00 +0000 (UTC) Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by mx.groups.io with SMTP id smtpd.web11.17036.1704808438425819408 for ; Tue, 09 Jan 2024 05:53:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@savoirfairelinux.com header.s=DFC430D2-D198-11EC-948E-34200CB392D2 header.b=IvjCMbjP; spf=pass (domain: savoirfairelinux.com, ip: 208.88.110.44, mailfrom: alassane.yattara@savoirfairelinux.com) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 64D439C37C9 for ; Tue, 9 Jan 2024 08:53:57 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id rod29MkLru0N; Tue, 9 Jan 2024 08:53:57 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 085779C160A; Tue, 9 Jan 2024 08:53:57 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 085779C160A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1704808437; bh=UkLfyjM4OdlRSPJ5BcZXvkIWvhyghgi/K4h0N5TTjBk=; h=From:To:Date:Message-Id:MIME-Version; b=IvjCMbjPRuzyD8uyBniEDglMP4nYzgrW7F25/egMQ+I69z+oFPt8EX66mmKQmxiWK ff8Ix7ZjmlLE43qL09Z3i6pKep3n/z2Qsa9I/gibJmZ6UYrsbF0ajniKfCLWC9wXYr ZgqHBlwqYYkfRXbQJiBeiC868nPnRraJhC3IHc7//B6YhPFryOYrp+sFgxuq+gIpCo JRHqiOP4yqTr8n24Y4I4woPJUPu5MtsI2TaVndtyonxb4zxpWVpMg1lYGas3Fm2hH2 tH1f10tfJqvh8vx2gRgO+6iSDFLu54qOHMSx+2rWvskDjf1pTb4iVoXCy0Un9Kc7qW wM7r7uODuLEaQ== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id x0DktH2ytm40; Tue, 9 Jan 2024 08:53:56 -0500 (EST) Received: from jedi.. (unknown [196.127.183.75]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 6EC4A9C0B24; Tue, 9 Jan 2024 08:53:56 -0500 (EST) From: Alassane Yattara To: bitbake-devel@lists.openembedded.org Cc: Alassane Yattara Subject: [PATCH v2 2/3] toaster/test: bug-fix "#hint-error-project-name" should be visible Date: Tue, 9 Jan 2024 14:53:51 +0100 Message-Id: <20240109135352.416686-2-alassane.yattara@savoirfairelinux.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240109135352.416686-1-alassane.yattara@savoirfairelinux.com> References: <20240109135352.416686-1-alassane.yattara@savoirfairelinux.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 Jan 2024 13:54:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/15759 Failed: https://autobuilder.yoctoproject.org/typhoon/#/builders/161/builds/142 Signed-off-by: Alassane Yattara --- lib/toaster/tests/browser/test_new_project_page.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/toaster/tests/browser/test_new_project_page.py b/lib/toaster/tests/browser/test_new_project_page.py index 70b55f3c..458bb653 100644 --- a/lib/toaster/tests/browser/test_new_project_page.py +++ b/lib/toaster/tests/browser/test_new_project_page.py @@ -79,6 +79,7 @@ class TestNewProjectPage(SeleniumTestCase): url = reverse('newproject') self.get(url) + self.wait_until_visible('#new-project-name', poll=3) self.enter_text('#new-project-name', project_name) @@ -90,7 +91,8 @@ class TestNewProjectPage(SeleniumTestCase): self.click("#create-project-button") - element = self.wait_until_visible('#hint-error-project-name', poll=3) + self.wait_until_present('#hint-error-project-name', poll=3) + element = self.find('#hint-error-project-name') self.assertTrue(("Project names must be unique" in element.text), "Did not find unique project name error message") From patchwork Tue Jan 9 13:53:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alassane Yattara X-Patchwork-Id: 37535 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7738C47077 for ; Tue, 9 Jan 2024 13:54:00 +0000 (UTC) Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by mx.groups.io with SMTP id smtpd.web10.17186.1704808438743025418 for ; Tue, 09 Jan 2024 05:53:59 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@savoirfairelinux.com header.s=DFC430D2-D198-11EC-948E-34200CB392D2 header.b=t2s+m3ku; spf=pass (domain: savoirfairelinux.com, ip: 208.88.110.44, mailfrom: alassane.yattara@savoirfairelinux.com) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 0D2919C0B24 for ; Tue, 9 Jan 2024 08:53:58 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id oWZm1Y1DQs5W; Tue, 9 Jan 2024 08:53:57 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id B95689C160A; Tue, 9 Jan 2024 08:53:57 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com B95689C160A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1704808437; bh=Y5b0afQttCY+9gE5JDU0ys2ArvraUmbad6XH03DefoE=; h=From:To:Date:Message-Id:MIME-Version; b=t2s+m3kuYYsygWmQmqC8GUF+izCc+/dzs/SyZ6XTYIjeP98lLfZJSWnpBbmZNxRIl xhAo2L6i5PGKA4WLwPG9XVzeXtTpHXlljkdU/IYQ01jV95z4NVCBfat2rAKxoUllGc gPzWXCAoGNauKRKQSoKnCXV+bOYCBrpPsWIeIMjeLPqUYO6tHKoVGhnbudeDTjOTo5 4fisYdOp6Th/zX1yueLRexgFzq+urzDVFpIafNxsua5riEt+p389ijMkrRpyOApyI2 0e0soOkiASCfl1Wos7Fz16NaVLN3H1KsviLRj56dbZrCFBw4Mgx6fnJvfekHI8VjiM VS5cokK5og0ag== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id KOh4rOQaNa8j; Tue, 9 Jan 2024 08:53:57 -0500 (EST) Received: from jedi.. (unknown [196.127.183.75]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 2ED0C9C0B24; Tue, 9 Jan 2024 08:53:57 -0500 (EST) From: Alassane Yattara To: bitbake-devel@lists.openembedded.org Cc: Alassane Yattara Subject: [PATCH v2 3/3] toaster/test: Bug-fix "element not interactable" in TestLayerDetailsPage::test_edit_layerdetails Date: Tue, 9 Jan 2024 14:53:52 +0100 Message-Id: <20240109135352.416686-3-alassane.yattara@savoirfairelinux.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240109135352.416686-1-alassane.yattara@savoirfairelinux.com> References: <20240109135352.416686-1-alassane.yattara@savoirfairelinux.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 Jan 2024 13:54:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/15760 Failed: https://autobuilder.yoctoproject.org/typhoon/#/builders/161/builds/143/steps/12/logs/stdio Signed-off-by: Alassane Yattara --- lib/toaster/tests/browser/test_layerdetails_page.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/toaster/tests/browser/test_layerdetails_page.py b/lib/toaster/tests/browser/test_layerdetails_page.py index 9deef670..5c29548b 100644 --- a/lib/toaster/tests/browser/test_layerdetails_page.py +++ b/lib/toaster/tests/browser/test_layerdetails_page.py @@ -64,7 +64,7 @@ class TestLayerDetailsPage(SeleniumTestCase): args=(self.project.pk, self.imported_layer_version.pk)) - def test_edit_layerdetails(self): + def _edit_layerdetails(self): """ Edit all the editable fields for the layer refresh the page and check that the new values exist""" @@ -168,6 +168,13 @@ class TestLayerDetailsPage(SeleniumTestCase): "Expected %s in the dir value for layer directory" % new_dir) + def test_edit_layerdetails_page(self): + try: + self._edit_layerdetails() + except ElementClickInterceptedException: + self.skipTest( + "ElementClickInterceptedException occured. Element not visible or maybe covered by another element.") + def test_delete_layer(self): """ Delete the layer """