{"id":2602,"date":"2024-05-13T12:09:00","date_gmt":"2024-05-13T10:09:00","guid":{"rendered":"https:\/\/ittester.sk\/non-classifiee\/timeout-echec-du-test-en-cas-de-timeout-dans-testng\/"},"modified":"2024-10-22T14:05:53","modified_gmt":"2024-10-22T12:05:53","slug":"timeout-echec-du-test-en-cas-de-timeout-dans-testng","status":"publish","type":"post","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/timeout-echec-du-test-en-cas-de-timeout-dans-testng\/","title":{"rendered":"Timeout &#8211; \u00e9chec du test en cas de timeout dans TestNG"},"content":{"rendered":"\n<p>Les suites de tests automatis\u00e9s ont tendance \u00e0 prendre trop de temps si les \u00e9l\u00e9ments ne sont pas facilement accessibles pour interagir. De plus, pour certains tests, il se peut que nous devions attendre qu&rsquo;un \u00e9v\u00e9nement asynchrone se produise avant de pouvoir poursuivre l&rsquo;ex\u00e9cution du test.<\/p>\n\n<p>Dans ce cas, nous pouvons vouloir limiter la dur\u00e9e d&rsquo;ex\u00e9cution du test en sp\u00e9cifiant une limite sup\u00e9rieure \u00e0 la limite de temps au-del\u00e0 de laquelle la m\u00e9thode de test est marqu\u00e9e comme ayant \u00e9chou\u00e9. TestNG nous fournit des attributs timeOut pour g\u00e9rer ces demandes.<\/p>\n\n<h2 class=\"wp-block-heading\">Table des mati\u00e8res<\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-timeout-v-testng\">TimeOut v TestNG<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-uryvok-kodu\">\u00daryvok k\u00f3du<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vystup\">V\u00fdstup<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-timeout-v-testng\">TimeOut dans TestNG<\/h2>\n\n<p>L&rsquo;attribut TimeOut de la m\u00e9thode d&rsquo;annotation @Test se voit attribuer une valeur sp\u00e9cifiant le nombre de millisecondes. Si la m\u00e9thode de test d\u00e9passe la valeur du d\u00e9lai d&rsquo;attente, elle est signal\u00e9e comme ayant \u00e9chou\u00e9 par une exception ThreadTimeout.<\/p>\n\n<pre class=\"wp-block-code\"><code><strong>@Test(timeOut = 1000)<\/strong><\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-uryvok-kodu\">Extrait de code<\/h2>\n\n<p>Dans l&rsquo;extrait de code suivant, nous avons sp\u00e9cifi\u00e9 un d\u00e9lai d&rsquo;attente de 1000 ms. Dans les m\u00e9thodes de test, nous pouvons voir que la fonction Thread.sleep() est introduite avec une dur\u00e9e de 3 secondes. Lorsque le test est ex\u00e9cut\u00e9, nous pouvons remarquer dans la sortie que le test \u00e9choue avec une exception ThreadTimeout parce que le d\u00e9lai d&rsquo;attente est de 1 seconde et que le test prend un peu plus de 3 secondes pour s&rsquo;ex\u00e9cuter.<\/p>\n\n<pre class=\"wp-block-code\"><code>@Test(timeOut = 1000)\npublic void timeOutTest() throws InterruptedException {\n   Thread.sleep(3000);\n   \/\/Test logic\n}<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vystup\">R\u00e9cup\u00e9r\u00e9 de<\/h2>\n\n<pre class=\"wp-block-code\"><code>FAILED: timeOutTest\norg.testng.internal.thread.ThreadTimeoutException:&nbsp;\nMethod org.testng.internal.TestNGMethod.timeOutTest()&nbsp;\ndidn't finish within the time-out 1000<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;attribut timeOut est utilis\u00e9 pour limiter la dur\u00e9e d&rsquo;ex\u00e9cution du test en sp\u00e9cifiant une limite de temps sup\u00e9rieure, au-del\u00e0 de laquelle le test est marqu\u00e9 comme ayant \u00e9chou\u00e9.  <\/p>\n","protected":false},"author":8,"featured_media":2603,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[46],"tags":[],"class_list":["post-2602","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriel-testng"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/comments?post=2602"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2602\/revisions"}],"predecessor-version":[{"id":2604,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2602\/revisions\/2604"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media\/2603"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media?parent=2602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/categories?post=2602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/tags?post=2602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}