{"id":145,"date":"2025-09-27T14:18:26","date_gmt":"2025-09-27T07:18:26","guid":{"rendered":"https:\/\/elitest.vn\/?p=145"},"modified":"2025-09-29T19:26:31","modified_gmt":"2025-09-29T12:26:31","slug":"khoa-hoc-selenium-testng","status":"publish","type":"post","link":"https:\/\/elitest.vn\/?p=145","title":{"rendered":"Kho\u00e1 h\u1ecdc Selenium+TestNG+RestAssured with Java"},"content":{"rendered":"\n<p><strong>Y\u00eau c\u1ea7u:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>H\u1ecdc vi\u00ean n\u1eafm \u0111\u01b0\u1ee3c \u00edt nh\u1ea5t c\u01a1 b\u1ea3n v\u1ec1 ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh Java, l\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng.<\/li>\n<\/ul>\n\n\n\n<p><strong>N\u1ed9i dung kh\u00f3a h\u1ecdc:<\/strong><\/p>\n\n\n\n<p><em>Automation test commons:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>H\u01b0\u1edbng d\u1eabn build t\u1eeb \u0111\u1ea7u cho 1 automation project s\u1eed d\u1ee5ng Selenium v\u00e0 TestNG v\u1edbi ng\u00f4n ng\u1eef Java<\/li>\n\n\n\n<li>H\u01b0\u1edbng d\u1eabn t\u1ed5 ch\u1ee9c 1 Maven project  t\u1eeb con s\u1ed1 0<\/li>\n\n\n\n<li>Qu\u1ea3n l\u00fd v\u00e0 c\u1ea5u h\u00ecnh <em>pom.xml<\/em> v\u00e0 <em>testng.xml<\/em> m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3<\/li>\n\n\n\n<li>T\u00edch h\u1ee3p report chuy\u00ean nghi\u1ec7p v\u1edbi Allure Report <\/li>\n\n\n\n<li>Ch\u1ea1y test v\u1edbi nh\u1eefng tr\u01b0\u1eddng h\u1ee3p hay g\u1eb7p nh\u1ea5t trong automated testing: ch\u1ea1y tr\u00ean nhi\u1ec1u m\u00f4i tr\u01b0\u1eddng, ch\u1ea1y headless, ch\u1ea1y t\u1eebng case, ch\u1ea1y test song song&#8230;<\/li>\n\n\n\n<li>T\u1ed5 ch\u1ee9c test suite khoa h\u1ecdc, ph\u00e2n lo\u1ea1i test h\u1ee3p l\u00fd t\u1ed1i \u01b0u cho m\u00f4 h\u00ecnh Agile Scrum<\/li>\n<\/ul>\n\n\n\n<p><em>UI Testing:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u1ed5 ch\u1ee9c project theo m\u00f4 h\u00ecnh Page Object Model m\u1ed9t c\u00e1ch tr\u1ef1c quan v\u00e0 t\u1ed1i \u01b0u<\/li>\n\n\n\n<li>B\u1eaft \u0111\u01b0\u1ee3c c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng tr\u00ean m\u00e0n h\u00ecnh s\u1eed d\u1ee5ng Xpath<\/li>\n\n\n\n<li>T\u01b0\u01a1ng t\u00e1c \u0111\u01b0\u1ee3c v\u1edbi t\u1ea5t c\u1ea3 c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng tr\u00ean m\u00e0n h\u00ecnh v\u1edbi Selenium API<\/li>\n\n\n\n<li>N\u1eafm \u0111\u01b0\u1ee3c b\u00ed quy\u1ebft vi\u1ebft Test Setup v\u00e0 Teardown m\u1ed9t c\u00e1ch c\u1eb7n k\u1ebd v\u00e0 khoa h\u1ecdc<\/li>\n\n\n\n<li>Qu\u1ea3n l\u00fd c\u00e1c common functions hi\u1ec7u qu\u1ea3, t\u00edch h\u1ee3p SeleniumWait t\u1ed1i \u01b0u code<\/li>\n\n\n\n<li>X\u1eed l\u00fd data l\u1edbn v\u1edbi TestDataDriven ( on-screen v\u00e0 in-files)<\/li>\n<\/ul>\n\n\n\n<p><em>API Testing:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u1eafm \u0111\u01b0\u1ee3c c\u00e1ch t\u1ea1o API request t\u1edbi server s\u1eed d\u1ee5ng th\u01b0 vi\u1ec7n RestAssured<\/li>\n\n\n\n<li>C\u00e1ch t\u1ed5 ch\u1ee9c v\u00e0 validate 1 API <\/li>\n\n\n\n<li>C\u00e1ch s\u1eed d\u1ee5ng Restful API \u0111\u1ec3 t\u1ea1o Test data ph\u1ee5c v\u1ee5 cho E2E testing<\/li>\n<\/ul>\n\n\n\n<p><strong>Quy\u1ec1n l\u1ee3i c\u1ee7a h\u1ecdc vi\u00ean:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>H\u1ecdc vi\u00ean \u0111\u01b0\u1ee3c t\u1ef1 m\u00ecnh ph\u00e1t tri\u1ec3n framework theo h\u01b0\u1edbng d\u1eabn t\u1eeb gi\u1ea3ng vi\u00ean <\/li>\n\n\n\n<li>\u0110\u1ed3ng h\u00e0nh 1-1 cho \u0111\u1ebfn khi h\u1ecdc vi\u00ean n\u1eafm \u0111\u01b0\u1ee3c c\u00e1ch gi\u1ea3i quy\u1ebft c\u00e1c b\u00e0i to\u00e1n g\u1eb7p ph\u1ea3i <\/li>\n\n\n\n<li>H\u01b0\u1edbng d\u1eabn tr\u1ef1c ti\u1ebfp v\u00e0 \u0111\u01b0a ra c\u00e1c l\u1eddi khuy\u00ean v\u1edbi d\u1ef1 \u00e1n th\u1ef1c t\u1ebf c\u1ee7a h\u1ecdc vi\u00ean <\/li>\n\n\n\n<li>H\u1ecdc vi\u00ean \u0111\u01b0\u1ee3c h\u1ecdc h\u1ecfi nh\u1eefng Best Practices trong Automation Test t\u1eeb gi\u1ea3ng vi\u00ean &gt;10 n\u0103m kinh nghi\u1ec7m<\/li>\n\n\n\n<li>H\u1ecdc vi\u00ean \u0111\u01b0\u1ee3c truy\u1ec1n \u0111\u1ea1t kinh nghi\u1ec7m khi \u0111i ph\u1ecfng v\u1ea5n \u1edf v\u1ecb tr\u00ed t\u01b0\u01a1ng \u0111\u01b0\u01a1ng<\/li>\n\n\n\n<li>Thay \u0111\u1ed5i mindset c\u1ee7a h\u1ecdc vi\u00ean \u0111\u1ec3 c\u00f3 th\u1ec3 th\u00e0nh c\u00f4ng tr\u00ean con \u0111\u01b0\u1eddng QA\/Tester<\/li>\n<\/ul>\n\n\n\n<p><strong>H\u1ecdc ph\u00ed:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<ul class=\"wp-block-list\">\n<li>Kh\u00f3a h\u1ecdc k\u00e9o d\u00e0i t\u1eeb 1-1.5 th\u00e1ng<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><s>4.600.000 VND<\/s> -> 2.700.000 VND<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u1eeb 1-3 h\u1ecdc vi\u00ean m\u1ed9t l\u1edbp<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>H\u00ecnh th\u1ee9c: Online qua Google Meet, h\u1ecdc vi\u00ean ch\u1ee7 \u0111\u1ed9ng th\u1eddi gian. Gi\u1ea3ng vi\u00ean giao c\u00e1c task nh\u1ecf \u0111\u1ec3 h\u1ecdc vi\u00ean ch\u1ee7 \u0111\u1ed9ng ho\u00e0n th\u00e0nh theo ti\u1ebfn \u0111\u1ed9.<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Y\u00eau c\u1ea7u: N\u1ed9i dung kh\u00f3a h\u1ecdc: Automation test commons: UI Testing: API Testing: Quy\u1ec1n l\u1ee3i c\u1ee7a h\u1ecdc vi\u00ean: H\u1ecdc ph\u00ed:<\/p>\n","protected":false},"author":1,"featured_media":155,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-khoa-hoc"],"_links":{"self":[{"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elitest.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=145"}],"version-history":[{"count":5,"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/posts\/145\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/posts\/145\/revisions\/181"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elitest.vn\/index.php?rest_route=\/wp\/v2\/media\/155"}],"wp:attachment":[{"href":"https:\/\/elitest.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elitest.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elitest.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}