{"id":2630,"date":"2024-03-20T09:56:03","date_gmt":"2024-03-20T08:56:03","guid":{"rendered":"https:\/\/ittester.sk\/non-classifiee\/tests-inter-navigateurs-testng\/"},"modified":"2024-10-22T14:06:05","modified_gmt":"2024-10-22T12:06:05","slug":"tests-inter-navigateurs-testng","status":"publish","type":"post","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/tests-inter-navigateurs-testng\/","title":{"rendered":"Tester dans plusieurs navigateurs avec TestNG"},"content":{"rendered":"\n<p>Dans ce tutoriel, nous allons aborder le test de plusieurs navigateurs dans Selenium ainsi que sa mise en \u0153uvre. Pour ce faire, nous allons int\u00e9grer Selenium \u00e0 TestNG et utiliser l&rsquo;annotation @Parameter de TestNG pour param\u00e9trer le script de test avec diff\u00e9rentes valeurs de navigateur.<\/p>\n\n<p>Notez \u00e9galement que les tests multi-navigateurs peuvent \u00e9galement \u00eatre effectu\u00e9s \u00e0 l&rsquo;aide de Selenium Grid. Cependant, nous utiliserons ici TestNG et Selenium WebDriver uniquement pour mettre en \u0153uvre les tests inter-navigateurs.<\/p>\n\n<h2 class=\"wp-block-heading\"><strong>Table des mati\u00e8res<\/strong><\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-co-je-to-testovanie-napriec-prehliadacmi-multi-cross-browser-testing\">\u010co je to testovanie naprie\u010d prehliada\u010dmi (multi-cross browser testing)?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-testovanie-medzi-prehliadacmi-v-selenium-a-testng\">Testovanie medzi prehliada\u010dmi v Selenium a\u00a0TestNG<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-co-je-to-testovanie-napriec-prehliadacmi-multi-cross-browser-testing\">Qu&rsquo;est-ce que les tests multi-navigateurs ?<\/h2>\n\n<p>Les tests inter-navigateurs sont un type de test dans lequel l&rsquo;application test\u00e9e est test\u00e9e avec plusieurs navigateurs pris en charge. La n\u00e9cessit\u00e9 de tests multi-navigateurs d\u00e9coule du fait que les diff\u00e9rents navigateurs ont des impl\u00e9mentations d&rsquo;interface utilisateur diff\u00e9rentes. Il n&rsquo;y a donc aucun moyen de s&rsquo;assurer que les applications qui fonctionnent dans Chrome fonctionnent \u00e9galement de mani\u00e8re transparente dans IE.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-testovanie-medzi-prehliadacmi-v-selenium-a-testng\">Tests inter-navigateurs avec Selenium et TestNG<\/h2>\n\n<p>Les tests inter-navigateurs dans Selenium peuvent \u00eatre effectu\u00e9s en utilisant des param\u00e8tres variables de navigateur. Nous pouvons utiliser l&rsquo;annotation @Parameter dans TestNG pour param\u00e9trer la variable du navigateur. En utilisant l&rsquo;annotation @Parameter, nous pouvons transmettre diverses valeurs de navigateur aux scripts de test \u00e0 partir du fichier testng.xml.<\/p>\n\n<p>La valeur du param\u00e8tre du navigateur peut alors \u00eatre utilis\u00e9e pour instancier la classe Selenium WebDriver appropri\u00e9e. Comme la valeur du navigateur est utilis\u00e9e dans toutes les m\u00e9thodes de test, il est pr\u00e9f\u00e9rable d&rsquo;utiliser la variable navigateur dans la m\u00e9thode @BeforeTest.<\/p>\n\n<p>La m\u00e9thode beforeTest avec le param\u00e8tre @Parameter TestNG se pr\u00e9sente comme suit :<\/p>\n\n<pre class=\"wp-block-code\"><code>@Parameters(\"browser\")\n\n@BeforeTest\n\npublic void setBrowser(String browser)\n\n{\n\n\u00a0\u00a0\u00a0if (browser.equalsIgnoreCase(\"Firefox\")) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0driver = new FirefoxDriver();\n\n\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0else if (browser.equalsIgnoreCase(\"Chrome\")) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0System.setProperty(\"webdriver.chrome.driver\",\u00a0\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+ pathToChromeDriverBinary + \"chromedriver.exe\");\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0driver = new ChromeDriver();\n\n\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0else {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0throw new IllegalArgumentException(\"Invalid browser value!!\");\n\n\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0driver.get(URL);\n\n\u00a0\u00a0\u00a0driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);\n\n\u00a0\u00a0\u00a0driver.manage().window().maximize();\n\n}<\/code><\/pre>\n\n<p>Comme indiqu\u00e9 ci-dessus, la valeur de la variable navigateur est transmise aux scripts de test via le fichier testng.xml. Ce fichier testng.xml contiendra une balise param\u00e8tre contenant la variable du navigateur et sa valeur.<\/p>\n\n<p>Ici, nous cr\u00e9ons deux tests, un pour Firefox et un pour Chrome avec des valeurs de navigateur diff\u00e9rentes. Consultez l&rsquo;extrait suivant du fichier testng.xml pour comprendre le concept de param\u00e9trage des tests.<\/p>\n\n<p>Notez \u00e9galement que le fait de sp\u00e9cifier parallel=\u00a0\u00bbtests\u00a0\u00bb dans la balise Suite entra\u00eenera l&rsquo;ex\u00e9cution des deux tests en parall\u00e8le.<\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;suite name=\"MultiBrowserSuite\" parallel=\"tests\" thread-count=\"2\">\n\n\u00a0\u00a0\u00a0&lt;test name=\"TestFirefox\">\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;parameter name=\"browser\" value=\"Firefox\"\/>\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;classes>\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;class name=\"sampleTestPackage.MultiBrowserTest\"\/>\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/classes>\n\n\u00a0\u00a0\u00a0&lt;\/test>\n\n\u00a0\u00a0\u00a0&lt;test name=\"TestChrome\">\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;parameter name=\"browser\" value=\"Chrome\"\/>\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;classes>\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;class name=\"sampleTestPackage.MultiBrowserTest\"\/>\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/classes>\n\n\u00a0\u00a0\u00a0&lt;\/test>\n\n&lt;\/suite><\/code><\/pre>\n\n<p>Lorsque vous ex\u00e9cutez le test \u00e0 l&rsquo;aide du fichier testng.xml, le test s&rsquo;ex\u00e9cute en parall\u00e8le pour tous les navigateurs sp\u00e9cifi\u00e9s (dans notre cas, Firefox et Chrome).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>tests multi-navigateurs : int\u00e9gration de Selenium avec TestNG avec des annotations pour param\u00e9trer le script de test avec diff\u00e9rentes valeurs de navigateur.<\/p>\n","protected":false},"author":8,"featured_media":2631,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[46],"tags":[],"class_list":["post-2630","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\/2630","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=2630"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2630\/revisions"}],"predecessor-version":[{"id":2634,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2630\/revisions\/2634"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media\/2631"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media?parent=2630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/categories?post=2630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/tags?post=2630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}