{"version":1,"pages":[{"id":"-M_xhm-_yijxKIGSmlWn","title":"Lời nói đầu","pathname":"/selenium-java","siteSpaceId":"sitesp_ykTCY","emoji":"1f3f9","description":""},{"id":"-Mb5PlB1zZ1NNdJj7dNg","title":"1.1. Các hoạt động trong 1 vòng kiểm thử","pathname":"/selenium-java/cac-hoat-dong-trong-1-vong-kiem-thu","siteSpaceId":"sitesp_ykTCY","emoji":"1f4a1","description":""},{"id":"-Ma6xn1kj9EHeblUVKPc","title":"1.2. Các cách tiếp cận khi viết automation test","pathname":"/selenium-java/approach-for-creating-test-automation-script","siteSpaceId":"sitesp_ykTCY","emoji":"1f4a1","description":""},{"id":"-Ma6tiA2athPx5rsV9wM","title":"1.3. Con đường phát triển của một kỹ sư kiểm thử phần mềm","pathname":"/selenium-java/qa-automation-roadmap","siteSpaceId":"sitesp_ykTCY","emoji":"1f52e","description":""},{"id":"-Ma6y6Rzob4yrrI2MM9V","title":"1.4. Quy trình của một dự án kiểm thử tự động","pathname":"/selenium-java/test-automation-process","siteSpaceId":"sitesp_ykTCY","emoji":"2705","description":""},{"id":"-Ma6yY-FPzteUH5D90yk","title":"1.5. \bCác Framework trong kiểm thử tự động","pathname":"/selenium-java/test-automation-framework-concept","siteSpaceId":"sitesp_ykTCY","emoji":"1f916","description":""},{"id":"-Ma6pNxkw_KZ-gxKlUqC","title":"1.6. Selenium Java Basic mindmap","pathname":"/selenium-java/selenium-java-basic-mindmap","siteSpaceId":"sitesp_ykTCY","emoji":"1f48e","description":""},{"id":"-Ma6qZHs7WquyonRFiGK","title":"1.7. Test cases","pathname":"/selenium-java/test-cases","siteSpaceId":"sitesp_ykTCY","emoji":"1f4dc","description":""},{"id":"-Ma6qrwEF64TRwFNfakF","title":"2.1. Install Java JDK","pathname":"/selenium-java/setup-new-maven-project/install-java-jdk","siteSpaceId":"sitesp_ykTCY","emoji":"2615","description":"","breadcrumbs":[{"label":"2. Setup new maven project"}]},{"id":"-Ma6r3N-L755-kfS0N9E","title":"2.2. Setup Maven","pathname":"/selenium-java/setup-new-maven-project/setup-maven","siteSpaceId":"sitesp_ykTCY","emoji":"2615","description":"","breadcrumbs":[{"label":"2. Setup new maven project"}]},{"id":"-M_y5lRh9UX-8JKtTJhZ","title":"2.3 Add Maven Dependencies","pathname":"/selenium-java/setup-new-maven-project/dependencies","siteSpaceId":"sitesp_ykTCY","emoji":"2615","description":"","breadcrumbs":[{"label":"2. Setup new maven project"}]},{"id":"u84nOo4cKfn0ZkoHMZDd","title":"2.4. Java practices","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices","siteSpaceId":"sitesp_ykTCY","emoji":"2615","breadcrumbs":[{"label":"2. Setup new maven project"}]},{"id":"6sqv58luUBpf6I1b4lif","title":"2.4. Java Coding Practice","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/2.4.-java-coding-practice","siteSpaceId":"sitesp_ykTCY","emoji":"2328","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"}]},{"id":"JOzZTiOY6DdPN7H2HVwb","title":"Java Stream","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream","siteSpaceId":"sitesp_ykTCY","emoji":"1f4d4","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"}]},{"id":"A5e7WmbgYGMmysyrUXjV","title":"Java 8 Stream - Xử lý Array, List nhanh gọn","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon","siteSpaceId":"sitesp_ykTCY","emoji":"1f340","description":"Trong rất nhiều trường hợp kiểm thử tự động, bạn phải xử lý raw data là dạng mảng hay chuỗi dữ liệu. Tiêu biểu là một Json Array như dưới đây.","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"}]},{"id":"RWX8q2wuCMl5B5j3HXmg","title":"1. find person that has mass >100","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100","siteSpaceId":"sitesp_ykTCY","emoji":"1f6f5","description":"Làm sao tìm được các đối tượng mà có `mass` lớn hơn 100","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"}]},{"id":"gheJN5ghuOgqUx03ssA8","title":"2. total mass of characters","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/2.-total-mass-of-characters","siteSpaceId":"sitesp_ykTCY","emoji":"1f69c","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"eW4RmLy2xkYqelZyfECb","title":"3. total height of characters","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/3.-total-height-of-characters","siteSpaceId":"sitesp_ykTCY","emoji":"1f68d","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"TskeVDjCuPRjvqBODNsT","title":"4. get list name of person","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/4.-get-list-name-of-person","siteSpaceId":"sitesp_ykTCY","emoji":"1f6b2","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"HEj6Nv4KD7P1RKQKoFd8","title":"5. find max mass person","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/5.-find-max-mass-person","siteSpaceId":"sitesp_ykTCY","emoji":"1f6f4","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"bSC90QtL0zuErG84Fx3p","title":"6. find smallest person","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/6.-find-smallest-person","siteSpaceId":"sitesp_ykTCY","emoji":"1f692","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"RpXljT97nnILE7Nl1cHK","title":"7. sort by name","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/7.-sort-by-name","siteSpaceId":"sitesp_ykTCY","emoji":"1f682","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"bIENs4M8fHEbJcYSeNzK","title":"8. sort by mass","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/java-stream/java-8-stream-xu-ly-array-list-nhanh-gon/1.-find-person-that-has-mass-greater-than-100/8.-sort-by-mass","siteSpaceId":"sitesp_ykTCY","emoji":"1f3ce","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Java Stream","emoji":"1f4d4"},{"label":"Java 8 Stream - Xử lý Array, List nhanh gọn","emoji":"1f340"},{"label":"1. find person that has mass >100","emoji":"1f6f5"}]},{"id":"DMYOY8NDrzVPzgLCmaUZ","title":"Logging","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/logging","siteSpaceId":"sitesp_ykTCY","emoji":"1f4c1","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"}]},{"id":"ghRciz0uADzOQUsIzKBY","title":"Log4j 2","pathname":"/selenium-java/setup-new-maven-project/2.4.-java-practices/logging/log4j-2","siteSpaceId":"sitesp_ykTCY","emoji":"1f34f","description":"","breadcrumbs":[{"label":"2. Setup new maven project"},{"label":"2.4. Java practices","emoji":"2615"},{"label":"Logging","emoji":"1f4c1"}]},{"id":"-MaRicRINF8OX3hxIp5u","title":"3.1. What is WebDriver?","pathname":"/selenium-java/browsers/what-is-webdriver","siteSpaceId":"sitesp_ykTCY","emoji":"1f69a","description":"","breadcrumbs":[{"label":"3. browsers"}]},{"id":"adRGnmeqwJekc1wxlbln","title":"3.2. Chrome Browser","pathname":"/selenium-java/browsers/3.2.-chrome-browser","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"}]},{"id":"-M_y5Xv0ad6xGKqFpgOt","title":"Open Chrome Browser","pathname":"/selenium-java/browsers/3.2.-chrome-browser/open-chrome-browser","siteSpaceId":"sitesp_ykTCY","emoji":"1f578","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"}]},{"id":"adKe7l1k3c7ONqWBwuKu","title":"Capture Performance metrics in chrome with selenium 4.0","pathname":"/selenium-java/browsers/3.2.-chrome-browser/open-chrome-browser/capture-performance-metrics-in-chrome-with-selenium-4.0","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"},{"label":"Open Chrome Browser","emoji":"1f578"}]},{"id":"-M_y7vXux0i5Vk0UYEPv","title":"Open Chrome Browser in Mobile mode","pathname":"/selenium-java/browsers/3.2.-chrome-browser/open-chrome-browser/open-chrome-browser-in-mobile-mode","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"},{"label":"Open Chrome Browser","emoji":"1f578"}]},{"id":"mEzanpMMbyzdmTdB07CX","title":"How to set specified chrome version to start","pathname":"/selenium-java/browsers/3.2.-chrome-browser/open-chrome-browser/how-to-set-specified-chrome-version-to-start","siteSpaceId":"sitesp_ykTCY","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"},{"label":"Open Chrome Browser","emoji":"1f578"}]},{"id":"z2TCXUcU5IBc8qBGPeEA","title":"Interception Network tab","pathname":"/selenium-java/browsers/3.2.-chrome-browser/open-chrome-browser/interception-network-tab","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"},{"label":"Open Chrome Browser","emoji":"1f578"}]},{"id":"-M_y7me0niBnojsVhoqw","title":"Open Chrome Browser - Headless mode","pathname":"/selenium-java/browsers/3.2.-chrome-browser/open-chrome-browser/open-chrome-browser-headless-mode","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"},{"label":"Open Chrome Browser","emoji":"1f578"}]},{"id":"1pHstyEH2SRUg15WQ9Ut","title":"Fake GeoLocation","pathname":"/selenium-java/browsers/3.2.-chrome-browser/fake-geolocation","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.2. Chrome Browser"}]},{"id":"-M_y7Tf0I7064L1VZe6c","title":"3.3. Open Firefox Browser","pathname":"/selenium-java/browsers/open-firefox-browser","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"}]},{"id":"-M_y81qS5jd57DBLwk6p","title":"Open Firefox Browser - Headless mode","pathname":"/selenium-java/browsers/open-firefox-browser/open-firefox-browser-headless-mode","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"},{"label":"3.3. Open Firefox Browser"}]},{"id":"-MaRk-cynujFHZ25Q-Zo","title":"3.4. Open Edge Browser (Chromium)","pathname":"/selenium-java/browsers/open-edge-browser-chromium","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"}]},{"id":"-MaRko0foFd2dA-jwA_w","title":"3.5. Open Safari browser","pathname":"/selenium-java/browsers/open-safari-browser","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"3. browsers"}]},{"id":"-M_y8uu4K7thfyG7j19c","title":"4.1. Understand HTML structure","pathname":"/selenium-java/understand-html-structure","siteSpaceId":"sitesp_ykTCY","description":""},{"id":"-M_xm2MmQIJVoFHrD5D-","title":"4.2. Locator Table","pathname":"/selenium-java/locator-table","siteSpaceId":"sitesp_ykTCY","description":"This table help to get locator from Web"},{"id":"UZIxCSX0GBooUfTi1QHj","title":"4.3. Standard Naming Convention for UI Elements to Use with Selenium Locators","pathname":"/selenium-java/4.3.-standard-naming-convention-for-ui-elements-to-use-with-selenium-locators","siteSpaceId":"sitesp_ykTCY","description":""},{"id":"-M_y9gzzejByTyy1HnuF","title":"4.4. FindElement","pathname":"/selenium-java/findelement","siteSpaceId":"sitesp_ykTCY","description":"Để tương tác với một đối tượng cụ thể trên 1 trang web ta sử dụng hàm"},{"id":"-M_yAI6WZEKAXp7bywgk","title":"4.5. Locating elements with XPath axis","pathname":"/selenium-java/locating-elements-with-xpath-axis","siteSpaceId":"sitesp_ykTCY","description":""},{"id":"-M_yC3O0jHqnJ_KEhsjE","title":"5.1. Form Authentication","pathname":"/selenium-java/examples/form-authentication","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yDNflG5CWEXKQQBQx","title":"5.2. Drop Down","pathname":"/selenium-java/examples/drop-down","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yC9hJ-4MY57u7r30p","title":"5.3. Checkboxes","pathname":"/selenium-java/examples/checkboxes","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yCNyxhW9JocUbFm1Q","title":"5.4. Hyperlink","pathname":"/selenium-java/examples/hyperlink","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yCZvjVtuOm6KMiLL3","title":"5.5. Web Table","pathname":"/selenium-java/examples/web-table","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yD-Swf6dgSjIEqzeQ","title":"5.6. JavaScript Alert","pathname":"/selenium-java/examples/javascript-alert","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yD67khWluWa9PIz7A","title":"5.7. Nest Frames","pathname":"/selenium-java/examples/nest-frames","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yDbLaMf4_QMmj4xoX","title":"5.8. Context menu","pathname":"/selenium-java/examples/context-menu","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yDoGJLrNcgOL3aIR6","title":"5.9. Hover","pathname":"/selenium-java/examples/hover","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yEnnFTVrT4o0EBpzs","title":"5.10. Broken Link","pathname":"/selenium-java/examples/broken-link","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yEx3VZsK2hDDzGdIA","title":"5.11. Click Element via JS","pathname":"/selenium-java/examples/click-element-via-js","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yF7kcV62PK-n-uaJR","title":"5.12. Wait for loading","pathname":"/selenium-java/examples/wait-for-loading","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yFfUwV5dK5c5X2gMe","title":"5.13. Pass params though XPath string","pathname":"/selenium-java/examples/pass-params-though-xpath-string","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-Ma2EidwL7NJbAayW1y-","title":"5.14. Date picker","pathname":"/selenium-java/examples/date-picker","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"xZ4QUhRaG5CHgpgXddsF","title":"5.15. Capture Screenshot","pathname":"/selenium-java/examples/5.15.-capture-screenshot","siteSpaceId":"sitesp_ykTCY","breadcrumbs":[{"label":"5. Test Cases","emoji":"1f34f"}]},{"id":"-M_yG1cHI7HiJ9663pv5","title":"Annotations","pathname":"/selenium-java/testng/annotations","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"6. TestNG"}]},{"id":"-M_yGWTx0RH3sILqiVIC","title":"testng.xml","pathname":"/selenium-java/testng/testng.xml","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"6. TestNG"}]},{"id":"-M_yGn0Lx_1DPdA-5GQI","title":"parameter","pathname":"/selenium-java/testng/testng.xml/parameter","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"6. TestNG"},{"label":"testng.xml"}]},{"id":"-M_yGvyPZs0x9q8avpSc","title":"Filter by group","pathname":"/selenium-java/testng/testng.xml/filter","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"6. TestNG"},{"label":"testng.xml"}]},{"id":"-M_yH2_q6aCYXo3Fen3H","title":"Listener","pathname":"/selenium-java/testng/testng.xml/listener","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"6. TestNG"},{"label":"testng.xml"}]},{"id":"-M_yHF4Idzi1-QQcl1vz","title":"Parallel","pathname":"/selenium-java/testng/testng.xml/parallel","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"6. TestNG"},{"label":"testng.xml"}]},{"id":"-Ma1kMXESAgitOSIlof0","title":"Capture screenshot when test failed","pathname":"/selenium-java/capture-screenshot-when-test-failed","siteSpaceId":"sitesp_ykTCY","description":""},{"id":"-M_yISghj7nodYdEGeBW","title":"What is?","pathname":"/selenium-java/page-object-model/what-is","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"}]},{"id":"-M_yIo7b0aon5gCBUzID","title":"Approach 1: Using String for exposing elements","pathname":"/selenium-java/page-object-model/approach-1-using-string-for-exposing-elements","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"}]},{"id":"-M_yJ804yezOFNkHebAe","title":"Approach 2: Using By for exposing elements","pathname":"/selenium-java/page-object-model/approach-2-using-by-for-exposing-elements","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"}]},{"id":"-M_yJKj6w_UrckUACtAg","title":"Approach 3: Using PageFactory for exposing elements","pathname":"/selenium-java/page-object-model/approach-3-using-pagefactory-for-exposing-elements","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"}]},{"id":"-Ma1n-iyvsA0yphWMl3l","title":"Todo MVC sample page","pathname":"/selenium-java/page-object-model/todo-mvc-sample-page","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"}]},{"id":"-Ma1nDoN7Ryvsg_85J5c","title":"page","pathname":"/selenium-java/page-object-model/todo-mvc-sample-page/page","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"},{"label":"Todo MVC sample page"}]},{"id":"-Ma1nND4SCcAJZJm3AIR","title":"supports","pathname":"/selenium-java/page-object-model/todo-mvc-sample-page/supports","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"},{"label":"Todo MVC sample page"}]},{"id":"-Ma1nVu__g7RleZiFGGd","title":"testcases","pathname":"/selenium-java/page-object-model/todo-mvc-sample-page/testcases","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"7. Page Object Model","emoji":"1f350"},{"label":"Todo MVC sample page"}]},{"id":"-M_yKn6_34cYPmcU9EGu","title":"Integrate Circle CI","pathname":"/selenium-java/circle-ci/integrate-circle-ci","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"8. Circle CI - Github Actions"}]},{"id":"-Ma1lNx4RblEM6nTH0HM","title":"Selenium owner methods","pathname":"/selenium-java/owner-methods/selenium-owner-methods","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"9. Owner methods","emoji":"1f95e"}]},{"id":"-Mb5JPEkGT7J3336wM9A","title":"How I interview tester","pathname":"/selenium-java/interview/how-i-interview-tester","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"Interview"}]},{"id":"5wExAduemV2I8bs014Xs","title":"35 Challenging Interview Questions for Testers","pathname":"/selenium-java/interview/how-i-interview-tester/35-challenging-interview-questions-for-testers","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"Interview"},{"label":"How I interview tester"}]},{"id":"-Mab0UMKz9ERgqNyAesm","title":"Git căn bản","pathname":"/selenium-java/interview/git-can-ban","siteSpaceId":"sitesp_ykTCY","description":"","breadcrumbs":[{"label":"Interview"}]},{"id":"-Mb4pid4AIwssXE0WwNb","title":"VSCODE","pathname":"/selenium-java/interview/vscode","siteSpaceId":"sitesp_ykTCY","description":"Sketch notes","breadcrumbs":[{"label":"Interview"}]}]}