SlideShare a Scribd company logo
AUTOMATED
TESTING
WITH ROBOT FRAMEWORK
Babel Coder
https://www.babelcoder.com
āđāļ™āļ°āļ™āļģāļ•āļąāļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
BABEL CODER
Nuttavut T
https://www.babelcoder.com
Babel Coder
https://www.babelcoder.com
āļ—āļ”āļŠāļ­āļšāļĢāļ°āļ”āļąāļš
Babel Coder
Babel Coder
https://www.babelcoder.com
QA / TESTER
Babel Coder
Babel Coder
https://www.babelcoder.com
AUTOMATED
TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
GIT
Babel Coder
Babel Coder
https://www.babelcoder.com
ROBOT
FRAMEWORD
Babel Coder
Babel Coder
https://www.babelcoder.com
CI / CD
Babel Coder
Babel Coder
https://www.babelcoder.com
DEVELOPER
Babel Coder
Babel Coder
https://www.babelcoder.com
WAI AREA
Babel Coder
Babel Coder
https://www.babelcoder.com
SOFTWARE
TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
MODERN SOFTWARE ARCHITECTURE
āđƒāļ™āļĒāļļāļ„āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ„āļ›āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļāļēāļĢāļ­āļ­āļāđāļšāļšāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļšāļ™āļŦāļĨāļēāļĒ
āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāļĄāļąāļāđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™ 3 āļŠāđˆāļ§āļ™āļŦāļĨāļąāļ āļ”āļąāļ‡āļ™āļĩāđ‰
Mobile Application
āļĨāļąāļāļĐāļ“āļ°: āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļ—āļĩāđˆ āđ€āļŠāđˆāļ™ āļŠāļĄāļēāļĢāđŒāļ—āđ‚āļŸāļ™āđāļĨāļ°āđāļ—āđ‡āļšāđ€āļĨāđ‡āļ•
āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ: āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđ€āļŠāđˆāļ™ Flutter, React Native, Swift (iOS), āđāļĨāļ° Kotlin (Android)
āļŦāļ™āđ‰āļēāļ—āļĩāđˆ: āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļœāļđāđ‰āđƒāļŠāđ‰āļœāđˆāļēāļ™āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāļŠāļģāļŦāļĢāļąāļšāļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļ—āļĩāđˆ
Web Application
āļĨāļąāļāļĐāļ“āļ°: āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™āđ€āļ§āđ‡āļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ
āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ: āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđ€āļŠāđˆāļ™ React, Angular, Vue.js (Frontend) āđāļĨāļ° Node.js, Django, Spring Boot (Backend)
āļŦāļ™āđ‰āļēāļ—āļĩāđˆ: āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļœāļđāđ‰āđƒāļŠāđ‰āļœāđˆāļēāļ™āđ€āļ§āđ‡āļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ āđ‚āļ”āļĒāļĄāļĩāļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­āļ‚āļ™āļēāļ”āļ•āđˆāļēāļ‡ āđ†
API Application
āļĨāļąāļāļĐāļ“āļ°: āļŠāđˆāļ§āļ™āļ—āļĩāđˆāđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āļˆāļēāļ Mobile Application āđāļĨāļ° Web Application
āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ: āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđ€āļŠāđˆāļ™ RESTful API, GraphQL, gRPC
āļŦāļ™āđ‰āļēāļ—āļĩāđˆ: āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđāļāđˆ Mobile Application āđāļĨāļ° Web Application
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
MODERN SOFTWARE ARCHITECTURE
āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāđ‚āļĒāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāđˆāļ§āļ™āļ•āđˆāļēāļ‡ āđ†
Mobile Application āđāļĨāļ° API
Mobile Application āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­
āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
API āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āđāļĨāļ°āļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ Mobile
Application
Web Application āđāļĨāļ° API
Web Application āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­
āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
API āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āđāļĨāļ°āļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ Web
Application
API āđāļĨāļ°āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ
API āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āļšāļąāļ™āļ—āļķāļāļ‚āđ‰āļ­āļĄāļđāļĨ
āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļŠāđˆāļ‡āļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ API
SOFTWARE TESTING
Software Testing āļ„āļ·āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ°āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ–āļđāļāļ•āđ‰āļ­āļ‡āļ•āļēāļĄāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđāļĨāļ°āļ›āļĢāļēāļĻāļˆāļēāļāļ‚āđ‰āļ­
āļœāļīāļ”āļžāļĨāļēāļ” (Bugs) āđ‚āļ”āļĒāđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļŠāļģāļ„āļąāļāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđ€āļžāļīāđˆāļĄāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āļĨāļ”āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡ āđāļĨāļ°āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āđƒāļŦāđ‰
āļ”āļĩāļĒāļīāđˆāļ‡āļ‚āļķāđ‰āļ™
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāļŦāļĨāļąāļāļ”āļąāļ‡āļ™āļĩāđ‰
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡ (Verification): āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
āļ•āļĢāļ§āļˆāļˆāļąāļšāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” (Bug Detection): āļ„āđ‰āļ™āļŦāļēāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļŦāļĢāļ·āļ­āļšāļąāđŠāļāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļžāļąāļ’āļ™āļē
āđ€āļžāļīāđˆāļĄāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ (Quality Assurance): āļ—āļģāđƒāļŦāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāļ„āļ§āļēāļĄāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļēāļšāļĢāļ·āđˆāļ™
āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ (User Experience Improvement): āļ—āļģāđƒāļŦāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āļ›āļĨāļ­āļ”āļ āļąāļĒ āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡ SOFTWARE TESTING
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĨāļąāļ āđ† āđ„āļ”āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰
Unit Testing Unit Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļ°āļ”āļąāļšāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ€āļŠāđˆāļ™ āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ āļŦāļĢāļ·āļ­āđ‚āļĄāļ”āļđāļĨāđ€āļ”āļĩāđˆāļĒāļ§ āđ‚āļ”āļĒāļ™āļąāļāļžāļąāļ’āļ™āļēāļĄāļąāļāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
āđ€āļŠāđˆāļ™ JUnit (āļŠāļģāļŦāļĢāļąāļš Java), PyTest (āļŠāļģāļŦāļĢāļąāļš Python) āļŦāļĢāļ·āļ­ Jest (āļŠāļģāļŦāļĢāļąāļš JavaScript) āđ€āļžāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļš Unit Testing āļĄāļąāļāļāļĢāļ°āļ—āļģāđ‚āļ”āļĒāļ™āļąāļāļžāļąāļ’āļ™āļē
Integration Testing āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ™āļĩāđ‰āđ€āļ™āđ‰āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒāļ•āđˆāļēāļ‡ āđ† āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡
End-to-End Testing (E2E Testing) āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļēāļāļ•āđ‰āļ™āļ—āļēāļ‡āļ–āļķāļ‡āļ›āļĨāļēāļĒāļ—āļēāļ‡ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ•āļēāļĄāļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰
āļ„āļēāļ”āļŦāļ§āļąāļ‡ āļ‹āļķāđˆāļ‡āļĄāļąāļāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ āđ€āļŠāđˆāļ™ Playwright, Cypress āļŦāļĢāļ·āļ­ Selenium
Performance Testing āļ„āļ·āļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆāļāļēāļĢāļ§āļąāļ”āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§ āļ„āļ§āļēāļĄāđ€āļŠāļ–āļĩāļĒāļĢ āđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļĢāļ°āļšāļš āđ‚āļ”āļĒāđāļšāđˆāļ‡
āļ­āļ­āļāđ€āļ›āđ‡āļ™:
Load Testing – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļ°āļšāļšāđ€āļĄāļ·āđˆāļ­āļĄāļĩāļœāļđāđ‰āđƒāļŠāđ‰āļˆāļģāļ™āļ§āļ™āļĄāļēāļ
Stress Testing – āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ āļēāļ§āļ°āđ‚āļŦāļĨāļ”āļŠāļđāļ‡āļŠāļļāļ”
Scalability Testing – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ‚āļĒāļēāļĒāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āļĢāļ°āļšāļš
Spike Testing – āļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļšāđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļžāļļāđˆāļ‡āļ‚āļķāđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§
Security Testing āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļĢāļ°āļšāļšāđ„āļĄāđˆāļĄāļĩāļŠāđˆāļ­āļ‡āđ‚āļŦāļ§āđˆāļ—āļĩāđˆāļ­āļēāļˆāļ–āļđāļāđ‚āļˆāļĄāļ•āļĩ āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļˆāļēāļ°āļĢāļ°āļšāļš (Penetration Testing)
Usability Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļˆāļēāļāļĄāļļāļĄāļĄāļ­āļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļˆāļĢāļīāļ‡ āđ€āļžāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ (UX/UI)
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
UNIT TESTING
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Unit Test āļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒ āđ‚āļ”āļĒ
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ™āļĩāđ‰āļĄāļąāļāļāļĢāļ°āļ—āļšāđ‚āļ”āļĒāļ™āļąāļāļžāļąāļ’āļ™āļēāļœāđˆāļēāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āđ€āļžāļ·āđˆāļ­
āļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ
āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āļ–āđ‰āļēāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ 2 āļĒāļđāļ™āļīāļ• (āļŦāļ™āđˆāļ§āļĒāļāļēāļĢ
āļ—āļģāļ‡āļēāļ™) āļ„āļ·āļ­
āļāļēāļĢāļ„āļģāļ™āļ§āļ“ (āļœāđˆāļēāļ™āļāļēāļĢāļāļ”āļ›āļļāđˆāļĄāļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚)
āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļœāđˆāļēāļ™āļˆāļ­āđāļŠāļ”āļ‡āļœāļĨ
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Unit Testing āļ™āļĩāđ‰āļˆāļ°āļ•āđ‰āļ­āļ‡āļ—āļ”āļŠāļ­āļšāđāļĒāļāļāļąāļ™ āļ”āļąāļ‡āļ™āļĩāđ‰
āļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāđ€āļĄāļ·āđˆāļ­āļāļ”āļ›āļļāđˆāļĄāļ•āđˆāļēāļ‡ āđ† āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚āđāļĨāđ‰āļ§āđƒāļŦāđ‰
āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ (āđ‚āļ”āļĒāļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļąāļ”āđ€āļāđ‡āļšāđƒāļ™
āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ)
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāļ–āđ‰āļēāļĄāļĩāļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļāđ‡āļšāļ­āļĒāļđāđˆāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāđ‰āļ§ āļˆāļ°
āļ™āļģāđ„āļ›āđāļŠāđ€āļ‡āļœāļĨāļœāđˆāļēāļ™āļˆāļ­āđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡
Unit 1: āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ
Unit 2: āļāļēāļĢāļ„āļģāļ™āļ§āļ“
Babel Coder
Babel Coder
https://www.babelcoder.com
INTEGRATION TESTING
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Integration Test āļˆāļ°āļĢāļ§āļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒ
āļŦāļ™āđˆāļ§āļĒāđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļāļąāļ™
āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚ āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļ”āļŠāļ­āļšāđāļšāļš
Integration Test āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļāļēāļĢāļĢāļ§āļĄāļŠāļ­āļ‡āļŦāļ™āđˆāļ§āļĒāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ‚āđ‰āļē
āļ”āđ‰āļ§āļĒāļāļąāļ™ āđ‚āļ”āļĒāđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļāļ”āļ›āļļāđˆāļĄāđ€āļžāļ·āđˆāļ­āļ„āļģāļ™āļ§āļ“āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļˆāļ°āļ•āđ‰āļ­āļ‡āđāļŠāļ”āļ‡
āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ­āļ­āļāđ„āļ›āļĒāļąāļ‡āļŦāļ™āđ‰āļēāļˆāļ­āđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡
Unit 1: āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ
Unit 2: āļāļēāļĢāļ„āļģāļ™āļ§āļ“
Babel Coder
Babel Coder
https://www.babelcoder.com
E2E TESTING
End-to-End Tests (E2E) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ§āđˆāļēāļĢāļ°āļšāļšāļ—āļģāļ‡āļēāļ™āļ–āļđāļāļ•āđ‰āļ­āļ‡āđ‚āļ”āļĒāļ—āļ”āļŠāļ­āļšāļœāđˆāļēāļ™ UI āļˆāļĢāļīāļ‡ āđ€āļŠāđˆāļ™ Selenium, Playwright āļ—āļĩāđˆāļ„āļ§āļšāļ„āļļāļĄ
āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļđāļ›āđāļšāļšāļ™āļĩāđ‰āļˆāļ°āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļšāļ„āļĢāļšāļ§āļ‡āļˆāļĢāđƒāļ™āļ—āļļāļāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ„āļ›āļĒāļąāļ‡āļāļēāļ™
āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ”āđ‰āļ§āļĒāđ€āļŠāđˆāļ™āļāļąāļ™ E2E āļĄāļąāļāļĄāļĩāļ›āļąāļāļŦāļē Flakiness (āļœāļĨāļĨāļąāļžāļ˜āđŒāđ„āļĄāđˆāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­) āļˆāļēāļāļ›āļąāļˆāļˆāļąāļĒ āđ€āļŠāđˆāļ™ āđ€āļ§āļĨāļēāđ‚āļŦāļĨāļ”, āđāļ­āļ™āļīāđ€āļĄāļŠāļąāļ™ āđāļĨāļ°āļ›āđŠāļ­āļ›āļ­āļąāļ›āļ—āļĩāđˆāļ„āļēāļ”
āđ„āļĄāđˆāļ–āļķāļ‡ āļ—āļģāđƒāļŦāđ‰āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ§āļĨāļēāđāļāđ‰āđ„āļ‚āđ€āļĒāļ­āļ° āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš E2E āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļŠāļģāļ„āļąāļāđ€āļžāļĢāļēāļ°āļĄāļĩāļ„āļ§āļēāļĄāđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡āļāļąāļšāļĢāļđāļ›āđāļšāļš
āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”
Babel Coder
Babel Coder
https://www.babelcoder.com
E2E TESTING
āļāļēāļĢāļ—āļ”āļŠāļ­āļš Web Application āļāļąāļš API
āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒ: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Web Application āļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāļĄāļēāđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡
āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļš:
āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļŠāđˆāļ™ Selenium, Cypress, āļŦāļĢāļ·āļ­ Browser Library āđƒāļ™ Robot Framework
āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ API
āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āļāļąāļš API
āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒ: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Mobile Application āļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāļĄāļēāđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡
āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļš:
āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļŠāđˆāļ™ Appium, Espresso (Android), āļŦāļĢāļ·āļ­ XCTest (iOS)
āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ API
SOFTWARE TESTING TECHNIQUES
āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđāļšāđˆāļ‡āđ„āļ”āđ‰āđ€āļ›āđ‡āļ™ 3 āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĨāļąāļ āđ† āļ”āļąāļ‡āļ™āļĩāđ‰
Black Box Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđ„āļĄāđˆāļ„āļģāļ™āļķāļ‡āļ–āļķāļ‡āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ āđāļ•āđˆāļˆāļ°āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āļ—āļĩāđˆāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļˆāļēāļāļĄāļļāļĄāļĄāļ­āļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ āđ‚āļ”āļĒāđƒāļŠāđ‰
āđ€āļ—āļ„āļ™āļīāļ„ āđ€āļŠāđˆāļ™
Equivalence Partitioning – āđāļšāđˆāļ‡āļ­āļīāļ™āļžāļļāļ•āļ­āļ­āļāđ€āļ›āđ‡āļ™āļāļĨāļļāđˆāļĄāļ—āļĩāđˆāļĄāļĩāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ„āļĨāđ‰āļēāļĒāļāļąāļ™
Boundary Value Analysis – āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļ­āļīāļ™āļžāļļāļ•
Decision Table Testing – āđƒāļŠāđ‰āļ•āļēāļĢāļēāļ‡āđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļ‚āļ­āļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđāļĨāļ°āļœāļĨāļĨāļąāļžāļ˜āđŒ
White Box Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļžāļīāļˆāļēāļĢāļ“āļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ āļēāļĒāđƒāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ‚āļ”āļĒāļĄāļąāļāđƒāļŠāđ‰āļāļąāļš Unit Testing āđāļĨāļ°āđƒāļŠāđ‰āđ€āļ—āļ„āļ™āļīāļ„
āđ€āļŠāđˆāļ™
Statement Coverage – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđāļ•āđˆāļĨāļ°āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āđ‚āļ„āđ‰āļ”āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
Branch Coverage – āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ
Path Coverage – āļ—āļ”āļŠāļ­āļšāļ—āļļāļāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”
Gray Box Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ Black Box āđāļĨāļ° White Box āđ‚āļ”āļĒāļœāļđāđ‰āļ—āļ”āļŠāļ­āļšāļ­āļēāļˆāļĄāļĩāļ„āļ§āļēāļĄāļĢāļđāđ‰āļšāļēāļ‡āļŠāđˆāļ§āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš
āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ āļēāļĒāđƒāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđāļ•āđˆāļĒāļąāļ‡āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļš
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
CHALLENGE
Q: āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāļŸāļ­āļĢāđŒāļĄāļšāļ™āđ€āļ§āđ‡āļšāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļēāļĒāļļ (age) āļ—āļĩāđˆāļĢāļąāļšāļœāđˆāļēāļ™
āļŸāļ­āļĢāđŒāļĄāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ”āļ„āļ§āļĢāđ€āļ›āđ‡āļ™āļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļ—āļĩāđˆāļŠāļļāļ”āļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ
āļĢāļ­āļāļ­āļēāļĒāļļāļœāđˆāļēāļ™āļŸāļ­āļĢāđŒāļĄ
A1: 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
A2: -10, -1, 0, 1, 50, 99, 100, 101, 120, -2.5, 10.7
Babel Coder
Babel Coder
https://www.babelcoder.com
BOUNDARY TESTING
Boundary Testing āđ€āļŦāļĄāļēāļ°āļāļąāļšāļĢāļ°āļšāļšāļ—āļĩāđˆāļĄāļĩāļŠāđˆāļ§āļ‡āļ„āđˆāļēāļŠāļąāļ”āđ€āļˆāļ™ āđ€āļŠāđˆāļ™ āļŸāļ­āļĢāđŒāļĄāļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ, āļĢāļ°āļšāļšāļˆāļ­āļ‡āļ•āļąāđ‹āļ§, āļĢāļ°āļšāļšāļ„āļģāļ™āļ§āļ“āđāļ•āđ‰āļĄ
āļŊāļĨāļŊ āļŦāļĨāļąāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ”āļĒāļžāļīāļˆāļēāļĢāļ“āļēāļˆāļēāļāļ„āđˆāļēāļ‚āļ­āļš āđ€āļ›āđ‡āļ™āļ”āļąāļ‡āļ™āļĩāđ‰
āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ•āđˆāļģāļŠāļļāļ” (Minimum Boundary): āļ„āđˆāļēāļ—āļĩāđˆāđ€āļĨāđ‡āļāļ—āļĩāđˆāļŠāļļāļ”āļ—āļĩāđˆāļĢāļ°āļšāļšāļĒāļ­āļĄāļĢāļąāļš
āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļĄāļēāļāļŠāļļāļ” (Maximum Boundary): āļ„āđˆāļēāļ—āļĩāđˆāļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”āļ—āļĩāđˆāļĢāļ°āļšāļšāļĒāļ­āļĄāļĢāļąāļš
āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ•āđˆāļģāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ• (Below Minimum): āļ„āđˆāļēāļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļĄāļēāļāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ• (Above Maximum): āļ„āđˆāļēāļ—āļĩāđˆāļĄāļēāļāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āđ€āļ‰āļĨāļĩāđˆāļĒ (Nominal Value): āļ„āđˆāļēāļāļĨāļēāļ‡āļŦāļĢāļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāđƒāļŠāđ‰āļšāđˆāļ­āļĒ
ðŸ”đāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ‚āļ­āļ‡ Boundary Testing
āļĨāļ”āļˆāļģāļ™āļ§āļ™ Test Cases āđāļ•āđˆāļĒāļąāļ‡āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļ„āļ§āļēāļĄāļœāļīāļ”āļžāļĨāļēāļ”
āļ„āđ‰āļ™āļŦāļēāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļšāļĢāļīāđ€āļ§āļ“āļ‚āļ­āļšāđ€āļ‚āļ•
āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāđāļĨāļ°āļŠāđˆāļ§āļĒāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ—āļ”āļŠāļ­āļš
Babel Coder
Babel Coder
https://www.babelcoder.com
TEST DATA SELECTION
āļ§āļīāļ˜āļĩāđ€āļĨāļ·āļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļŠāļĄāļ„āļ§āļĢāļ—āļ”āļŠāļ­āļš
āļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ‡āļ„āđˆāļēāļ—āļĩāđˆāļĢāļ°āļšāļšāļĢāļ­āļ‡āļĢāļąāļš: āđ€āļŠāđˆāļ™ āļ–āđ‰āļēāļĢāļ°āļšāļšāļĢāļąāļšāļ„āđˆāļēāļ­āļēāļĒāļļ 18-60 āļ›āļĩ
āđ€āļĨāļ·āļ­āļāļ„āđˆāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ Boundary: āļ—āļ”āļŠāļ­āļšāļ„āđˆāļē 18 (āļ•āđˆāļģāļŠāļļāļ”) āđāļĨāļ° 60 (āļŠāļđāļ‡āļŠāļļāļ”)
āđ€āļĨāļ·āļ­āļāļ„āđˆāļēāļ—āļĩāđˆāļœāļīāļ”āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (Invalid Data): āļ—āļ”āļŠāļ­āļšāļ„āđˆāļē 17 (āļ•āđˆāļģāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•) āđāļĨāļ° 61 (āđ€āļāļīāļ™āļ‚āļ­āļšāđ€āļ‚āļ•)
āđ€āļĨāļ·āļ­āļāļ„āđˆāļēāļ›āļāļ•āļīāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļŠāļĩāļ§āļīāļ•āļˆāļĢāļīāļ‡: āđ€āļŠāđˆāļ™ 25, 35, 50
Babel Coder
Babel Coder
https://www.babelcoder.com
TEST DATA SELECTION
āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰āļ­āļēāļĒāļļāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļšāļ§āļāđāļĨāļ°āļĻāļđāļ™āļĒāđŒ āđ‚āļ”āļĒāļ­āļēāļĒāļļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļāļīāļ™ 100 āđ„āļ”āđ‰
100
āļŠāđˆāļ§āļ‡āļ­āļēāļĒāļļ
āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļ”āļŠāļ­āļš
0
-5 -1 0 1 50 99 100 101 150
āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļīāļ”āļ­āļ·āđˆāļ™ -2.5 4.5
Babel Coder
Babel Coder
https://www.babelcoder.com
E2E
THE TEST PYRAMID
Testing Pyramid āļŦāļĢāļ·āļ­ "āļžāļĩāļĢāļ°āļĄāļīāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļš" āđ€āļ›āđ‡āļ™
āđāļ™āļ§āļ„āļīāļ”āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ—āļĩāļĄāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āļ§āļēāļ‡āđāļœāļ™
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāļāļģāļŦāļ™āļ”āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™
āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ›āđ‡āļ™āļĢāļđāļ›āļžāļĩāļĢāļ°āļĄāļīāļ”āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļ°āļ”āļąāļš
āļ•āđˆāļēāļ‡ āđ† āļ•āļąāđ‰āļ‡āđāļ•āđˆ Unit Testing, Integration Testing āđ„āļ›
āļˆāļ™āļ–āļķāļ‡ End-to-End (E2E) Testing āđāļ™āļ§āļ„āļīāļ”āļ™āļĩāđ‰āļ–āļđāļāļ™āļģ
āđ€āļŠāļ™āļ­āđ‚āļ”āļĒ Mike Cohn āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ§āļĒāļĨāļ”āđ€āļ§āļĨāļēāđāļĨāļ°āļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒāđƒāļ™
āļāļēāļĢāļ—āļ”āļŠāļ­āļš āļžāļĢāđ‰āļ­āļĄāđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡
āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ Integration
Unit
more integration
more isolation
slower
faster
Babel Coder
Babel Coder
https://www.babelcoder.com
CHALLENGE
Q: āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļąāļ™āļ•āļĩāļ§āđˆāļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ‚āļ­āļ‡āđ€āļĢāļēāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļŠāļģāļ„āļąāļāļ—āļĩāđˆāļŠāļļāļ”
āļˆāļķāļ‡āđ€āļ›āđ‡āļ™ Unit Testing āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒāļŦāļ™āđˆāļ§āļĒāļ•āđˆāļēāļ‡ āđ† āļˆāļķāļ‡
āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļĄāļēāļāļāļ§āđˆāļē
A1: āļāļĨāđˆāļēāļ§āļ–āļđāļ
A2: āļāļĨāđˆāļēāļ§āļœāļīāļ”
Babel Coder
Babel Coder
https://www.babelcoder.com
Kent C. Dodds āļ™āļģāđ€āļŠāļ™āļ­āđāļ™āļ§āļ„āļīāļ” "āļ–āđ‰āļ§āļĒāļĢāļēāļ‡āļ§āļąāļĨāļāļēāļĢāļ—āļ”āļŠāļ­āļš" (Testing
Trophy) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļˆāļēāļāđāļ™āļ§āļ„āļīāļ” "āļžāļĩāļĢāļ°āļĄāļīāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļš" (Testing
Pyramid) āđ€āļžāļ·āđˆāļ­āļŠāļ°āļ—āđ‰āļ­āļ™āļ–āļķāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāđ„āļ”āđ‰āļ”āļĩāļĒāļīāđˆāļ‡āļ‚āļķāđ‰āļ™
āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡ Testing Trophy
Static Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļšāļŠāļ–āļīāļ•): āļ­āļĒāļđāđˆāļ—āļĩāđˆāļāļēāļ™āļ‚āļ­āļ‡āļ–āđ‰āļ§āļĒāļĢāļēāļ‡āļ§āļąāļĨ āđ€āļ™āđ‰āļ™āļāļēāļĢ
āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ‚āļ„āđ‰āļ”āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļąāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āđ€āļŠāđˆāļ™ āļāļēāļĢāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš
āđ„āļ§āļĒāļēāļāļĢāļ“āđŒ (Linting) āđāļĨāļ°āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨ (Type Checking)
āđ€āļžāļ·āđˆāļ­āļˆāļąāļšāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ°āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļļāļ“āļ āļēāļžāđ‚āļ„āđ‰āļ”
Unit Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒ)
Integration Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļĢāļ§āļĄ)
End-to-End (E2E) Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļšāļ„āļĢāļšāļ§āļ‡āļˆāļĢ)
THE TESTING TROPHY
Kent C. Dodds
Babel Coder
Babel Coder
https://www.babelcoder.com
THE TESTING TROPHY
Kent C. Dodds āļāļĨāđˆāļēāļ§āļ§āđˆāļē "āļĒāļīāđˆāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āļ­āļ‡āļ„āļļāļ“āđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡āļāļąāļšāļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ–āļđāļāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āļĄāļēāļāđ€āļ—āđˆāļēāđ„āļĢ āļāđ‡āļĒāļīāđˆāļ‡āļ—āļģāđƒāļŦāđ‰āļ„āļļāļ“
āļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ™āļąāđ‰āļ™āļĄāļēāļāļ‚āļķāđ‰āļ™āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™"
Babel Coder
Babel Coder
https://www.babelcoder.com
ROBOT FRAMEWORK
Robot Framework āđ€āļ›āđ‡āļ™ Open-Source Test Automation
Framework āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš Automated Testing āđƒāļ™āļŦāļĨāļēāļĒ
āļ›āļĢāļ°āđ€āļ āļ— āđ€āļŠāđˆāļ™ Web, Mobile, API āđāļĨāļ° Desktop
Applications āđ‚āļ”āļĒāđƒāļŠāđ‰ Keyword-Driven Testing āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–
āļ­āđˆāļēāļ™-āđ€āļ‚āļĩāļĒāļ™ Test Cases āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ
✅āđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ: āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļ—āļąāđ‰āļ‡ QA Tester āđāļĨāļ° Developer
✅āļĨāļ”āđ€āļ§āļĨāļēāđāļĨāļ°āļ•āđ‰āļ™āļ—āļļāļ™: āļŠāđˆāļ§āļĒāļĨāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Manual
✅āļ­āđˆāļēāļ™āđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒ: Syntax āļ„āļĨāđ‰āļēāļĒāļ āļēāļĐāļēāļĄāļ™āļļāļĐāļĒāđŒ
✅āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ: āđƒāļŠāđ‰āļāļąāļš Web, Mobile, API,
Database
Babel Coder
Babel Coder
https://www.babelcoder.com
ROBOT FRAMEWORK
Robot Framework āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ āļ āļēāļĐāļē Python āđ€āļ›āđ‡āļ™āļŦāļĨāļąāļ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāļ°āđƒāļŠāđ‰āļ‡āļēāļ™
āļœāđˆāļēāļ™ Python Package āđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡ āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰āđ€āļĢāļēāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ āļēāļĐāļē Python āđ€āļžāļ·āđˆāļ­āļžāļąāļ’āļ™āļēāļ„āļ§āļēāļĄ
āļŠāļēāļĄāļēāļĢāļ–āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āđƒāļŦāđ‰āļāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļšāļ™ Robot Framework āđ„āļ”āđ‰āļ­āļĩāļāļ”āđ‰āļ§āļĒ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Python Libraries āļ—āļĩāđˆāļ™āļģāļĄāļēāđƒāļŠāđ‰āļ„āļ§āļšāļ„āļđāđˆāļāļąāļš Robot Framework
AppiumLibrary: āđƒāļŠāđ‰ Python āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš Appium āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāđ‚āļĄāļšāļēāļĒāļĨāđŒāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
RequestsLibrary: āđƒāļŠāđ‰ Python āļ—āļ”āļŠāļ­āļš REST API
DatabaseLibrary: āđƒāļŠāđ‰ Python āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ
BrowserLibrary: āđƒāļŠāđ‰ Python āļœāđˆāļēāļ™ Playwright āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļšāļ™āđ€āļ§āđ‡āļš
Babel Coder
Babel Coder
https://www.babelcoder.com
RPA Framework āđ€āļ›āđ‡āļ™āļŠāļļāļ” Libraries āļŠāļģāļŦāļĢāļąāļš Robot Framework āļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­
Robotic Process Automation (RPA)** āđ‚āļ”āļĒāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ—āļģ Automation āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡
Web, Desktop, API, File Handling, Database, OCR, āđāļĨāļ°āļ­āļ·āđˆāļ™āđ†
RPA Framework āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāļšāļ™ Robot Framework āđ‚āļ”āļĒāđ€āļžāļīāđˆāļĄāļ„āļģāļŠāļąāđˆāļ‡āđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļš RPA
āđ€āļŠāđˆāļ™
✅āļ„āļ§āļšāļ„āļļāļĄāđ€āļ§āđ‡āļš (Web Automation) āļœāđˆāļēāļ™ Playwright
✅āļˆāļąāļ”āļāļēāļĢāđ„āļŸāļĨāđŒ (File Handling, PDF, Excel)
✅āļ„āļ§āļšāļ„āļļāļĄ Windows Apps (Desktop Automation)
✅āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāļĢāļđāļ›āļ āļēāļž (OCR & Image Processing)
✅āļ„āļ§āļšāļ„āļļāļĄāđ€āļĄāļēāļŠāđŒāđāļĨāļ°āļ„āļĩāļĒāđŒāļšāļ­āļĢāđŒāļ” (Keyboard & Mouse Control)
** Robotic Process Automation (RPA) āļ„āļ·āļ­ āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ (āļŦāļĢāļ·āļ­āļšāļ­āļ—) āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļ—āļ™
āļĄāļ™āļļāļĐāļĒāđŒāđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ—āļĩāđˆāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™ āđ‚āļ”āļĒ āļˆāļģāļĨāļ­āļ‡āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āļĄāļ™āļļāļĐāļĒāđŒ āđ€āļŠāđˆāļ™ āļāļēāļĢāļ„āļĨāļīāļāđ€āļĄāļēāļŠāđŒ āļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ āļ„āļąāļ”āļĨāļ­āļāđ„āļŸāļĨāđŒ āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ API
āļŊāļĨāļŊ
RPA FRAMEWORK
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļ™āļĒāļļāļ„āļ—āļĩāđˆāļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāļ„āļ§āļēāļĄāļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡
āļāļēāļĢāļ™āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđāļĨāļ°āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļĄāļēāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢ
āļ—āļ”āļŠāļ­āļšāđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡
CI/CD āļĒāđˆāļ­āļĄāļēāļˆāļēāļ Continuous Integration (CI) āđāļĨāļ°
Continuous Delivery/Deployment (CD) āđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™
āļāļēāļĢāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ—āļĩāļĄāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩ
āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāļāļēāļĢāļĢāļ§āļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡
āđ‚āļ„āđ‰āļ”āļšāđˆāļ­āļĒāļ„āļĢāļąāđ‰āļ‡ āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡
CI / CD
Continuous Integration (CI) āđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļĩāđˆāļ™āļąāļāļžāļąāļ’āļ™āļēāļĢāļ§āļĄ
āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āļ•āļ™āđ€āļ­āļ‡āđ€āļ‚āđ‰āļēāļāļąāļšāđ‚āļ„āđ‰āļ”āļŦāļĨāļąāļāļšāđˆāļ­āļĒāļ„āļĢāļąāđ‰āļ‡ (āđ€āļŠāđˆāļ™ āļ—āļļāļāļ§āļąāļ™āļŦāļĢāļ·āļ­āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ
āļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡) āļˆāļēāļāļ™āļąāđ‰āļ™āļĢāļ°āļšāļšāļˆāļ°āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ€āļžāļ·āđˆāļ­
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ™āļąāđ‰āļ™āđ„āļĄāđˆāļ—āļģāđƒāļŦāđ‰āļĢāļ°āļšāļšāđ€āļŠāļĩāļĒāļŦāļēāļĒ CI āļŠāđˆāļ§āļĒāļĨāļ”
āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđāļāđ‰āđ„āļ‚āļ›āļąāļāļŦāļēāļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
1.
Continuous Delivery/Deployment (CD) āļŦāļĨāļąāļ‡āļˆāļēāļāļ—āļĩāđˆāđ‚āļ„āđ‰āļ”āļœāđˆāļēāļ™
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™ CI āđāļĨāđ‰āļ§ āļ‚āļąāđ‰āļ™āļ•āļ­āļ™ CD āļˆāļ°āļ—āļģāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰
āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ„āļ›āļĒāļąāļ‡āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ—āļĩāđˆāļāļģāļŦāļ™āļ” (āđ€āļŠāđˆāļ™ āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ
āļ—āļ”āļŠāļ­āļšāļŦāļĢāļ·āļ­āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļœāļĨāļīāļ•) āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī Continuous
Delivery āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđƒāļŦāđ‰āļžāļĢāđ‰āļ­āļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰
āļ•āļĨāļ­āļ”āđ€āļ§āļĨāļē āļŠāđˆāļ§āļ™ Continuous Deployment āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰
āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ—āļąāļ™āļ—āļĩāļ—āļĩāđˆāđ‚āļ„āđ‰āļ”āļœāđˆāļēāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš
2.
Babel Coder
Babel Coder
https://www.babelcoder.com
CI / CD
Monitoring and Logging
IaC
Code
push
Github
Test
Build
Register Image
Deploy
CI
CI
CI
CD
CD
CD
CaC
Babel Coder
Babel Coder
https://www.babelcoder.com
CI / CD
Developer QA Server Production
SETTING UP
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
PYTHON
Python āđ€āļ›āđ‡āļ™ āļ āļēāļĐāļēāđ‚āļ›āļĢāđāļāļĢāļĄāļĄāļīāđˆāļ‡āļĢāļ°āļ”āļąāļšāļŠāļđāļ‡ āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāļ­āđˆāļēāļ™āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē Web, Data
Science, AI, Automation, āđāļĨāļ° Testing Robot Framework āļ–āļđāļāđ€āļ‚āļĩāļĒāļ™āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ Python āļ—āļģāđƒāļŦāđ‰āļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Python āļāđˆāļ­āļ™āđƒāļŠāđ‰
āļ‡āļēāļ™ āđ‚āļ”āļĒāđƒāļ™āļ„āļ­āļĢāđŒāļŠāļ™āļĩāđ‰āļˆāļ°āđƒāļŠāđ‰ Python āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 3.10.5
POETRY
Babel Coder
Babel Coder
https://www.babelcoder.com
Python āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āđāļ•āđˆāđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™ āļ­āļēāļˆāļžāļšāļ›āļąāļāļŦāļēāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰
āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļĨāļģāļšāļēāļ â€“ āļŦāļēāļāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ„āļĨāļšāļĢāļēāļĢāļĩāđ€āļŠāļĢāļīāļĄ (āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āļŦāļĢāļ·āļ­āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨ) āļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆ
āļŦāļĨāļēāļĒāļ•āļąāļ§ āđāļĨāļ°āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āļĄāļĩāļ›āļąāļāļŦāļēāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļĄāđˆāđ„āļ”āđ‰
āļŠāļąāļšāļŠāļ™āļāļąāļšāļŦāļĨāļēāļĒāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ â€“ āļŦāļēāļāļĄāļĩāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļŦāļĨāļēāļĒāļ­āļąāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ•āđˆāļēāļ‡āļāļąāļ™ āļ­āļēāļˆāđ€āļāļīāļ”āļ›āļąāļāļŦāļēāļ—āļģāđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āļšāļēāļ‡āļ­āļąāļ™āļ—āļģāļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰
āļĒāđ‰āļēāļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđāļĨāđ‰āļ§āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰ – āļ–āđ‰āļēāļĒāđ‰āļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ„āļ›āļĒāļąāļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ­āļ·āđˆāļ™ āđ€āļŠāđˆāļ™ āļŠāđˆāļ‡āđƒāļŦāđ‰āđ€āļžāļ·āđˆāļ­āļ™āļĢāđˆāļ§āļĄāļ‡āļēāļ™āļŦāļĢāļ·āļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļšāļ™āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ āļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡
āđāļžāđ‡āļāđ€āļāļˆāđƒāļŦāļĄāđˆāļ—āļĩāļĨāļ°āļ•āļąāļ§ āļ‹āļķāđˆāļ‡āđ€āļŠāļĩāļĒāđ€āļ§āļĨāļēāđāļĨāļ°āļĄāļĩāđ‚āļ­āļāļēāļŠāđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”
POETRY
Babel Coder
Babel Coder
https://www.babelcoder.com
āđāļžāļāđ€āļāļˆ āļ„āļ·āļ­ āļŠāļļāļ”āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļģāđ€āļĢāļˆāļĢāļđāļ› āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļŦāđ‰āļāļąāļšāđ‚āļ›āļĢāđāļāļĢāļĄāđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āļ‚āļķāđ‰āļ™āļĄāļēāđƒāļŦāļĄāđˆāđ€āļ­āļ‡
āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ„āļīāļ”āļ§āđˆāļēāđāļžāđ‡āļāđ€āļāļˆāđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™ "āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™" āļšāļ™āļĄāļ·āļ­āļ–āļ·āļ­āđ„āļ”āđ‰ āđ€āļŠāđˆāļ™
āļ–āđ‰āļēāđ€āļĢāļēāļ­āļĒāļēāļāđāļ•āđˆāļ‡āļĢāļđāļ› â†’ āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļ­āļ›āđāļ•āđˆāļ‡āļĢāļđāļ›
āļ–āđ‰āļēāđ€āļĢāļēāļ­āļĒāļēāļāđ€āļŠāđ‡āļ„āļŠāļ āļēāļžāļ­āļēāļāļēāļĻ â†’ āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļ­āļ›āļžāļĒāļēāļāļĢāļ“āđŒāļ­āļēāļāļēāļĻ
āđƒāļ™ Python āđāļĨāļ° Poetry āļāđ‡āđ€āļŠāđˆāļ™āļāļąāļ™
āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļ™āđ‡āļ• â†’ āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ requests
āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ•āļąāļ§āđ€āļĨāļ‚ â†’ āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ numpy
āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļģāļāļĢāļēāļŸ â†’ āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ matplotlib
Babel Coder
Babel Coder
https://www.babelcoder.com
POETRY
Poetry āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡ Python āđƒāļŦāđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļĄāļąāļ™āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–
✅āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļąāļ‡āļ§āļĨāđ€āļĢāļ·āđˆāļ­āļ‡āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰
✅āļˆāļąāļ”āļāļēāļĢāļŦāļĨāļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ„āļ”āđ‰ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļĨāļąāļ§āļ§āđˆāļēāđāļžāđ‡āļāđ€āļāļˆāļˆāļ°āļŠāļ™āļāļąāļ™
✅āđāļŠāļĢāđŒāđāļĨāļ°āļĒāđ‰āļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒ Poetry āļˆāļ°āļŠāđˆāļ§āļĒāļˆāļ”āļˆāļģāļ§āđˆāļēāđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāļ­āļ°āđ„āļĢāļšāđ‰āļēāļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ POETRY
$ brew install pipx
$ pipx ensurepath
$ pipx install poetry
$ py -m pip install --user pipx
$ py -m pipx ensurepath
** āđƒāļŠāđ‰ py āļŦāļĢāļ·āļ­ python
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
$ poetry new my_project
$ cd my_project
āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ Python āđƒāļŦāļĄāđˆ āđƒāļŦāđ‰āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļˆāļ°āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļ”āļąāļ‡āļ™āļĩāđ‰
my_project/
│── pyproject.toml # āđ„āļŸāļĨāđŒāļŦāļĨāļąāļāļ‚āļ­āļ‡ Poetry āļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđāļžāđ‡āļāđ€āļāļˆ
│── poetry.lock # āđ„āļŸāļĨāđŒāļĨāđ‡āļ­āļāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđāļžāđ‡āļāđ€āļāļˆ
│── README.md # āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
│── my_project/ # āđ‚āļ„āđ‰āļ” Python āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
│ └── __init__.py
└── tests/ # āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆ
$ poetry add requests
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļ„āļ·āļ­āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™āđāļžāđ‡āļāđ€āļāļˆāļ”āļąāļ‡
āļāļĨāđˆāļēāļ§āđƒāļ™āļ—āļļāļāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āļ—āļąāđ‰āļ‡āļˆāļąāļ‡āļŦāļ§āļ°āļāļēāļĢāļžāļąāļ’āļ™āļēāđ‚āļ›āļĢāđāļāļĢāļĄ āļāļēāļĢ
āļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āļšāļ™ Production
Poetry āļˆāļ°āļ­āļąāļ›āđ€āļ”āļ•āđ„āļŸāļĨāđŒ pyproject.toml āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ
poetry.lock āđ€āļžāļ·āđˆāļ­āļšāļąāļ™āļ—āļķāļāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđāļžāđ‡āļāđ€āļāļˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆ
$ poetry add --dev pytest
āļŦāļēāļāđ€āļ›āđ‡āļ™āđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļ‰āļžāļēāļ°āļ•āļ­āļ™āļžāļąāļ’āļ™āļēāđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āđ€āļŠāđˆāļ™āļāļēāļĢāđƒāļŠāđ‰ pytest āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļĢāļ°āļšāļļ --dev
$ poetry install
āļ–āđ‰āļēāđ„āļ”āđ‰āļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļˆāļēāļāļœāļđāđ‰āļ­āļ·āđˆāļ™āđāļĨāļ°āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒāđāļĨāđ‰āļ§āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āđƒāļŦāđ‰āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļĨāļšāđāļžāđ‡āļāđ€āļāļˆ
$ poetry remove pytest
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļĨāļšāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāđ€āļ„āļĒāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āđāļĨāđ‰āļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
VIRTUAL ENVIRONMENT
āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ—āļĩāđˆāļˆāļ°āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰ Poetry āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆāļšāļ™ Python āđ€āļĄāļ·āđˆāļ­āđ€āļĢāļēāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Python āđāļĨāļ°āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āđ€āļĢāļēāļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”
āļ•āļąāđ‰āļ‡ āđāļžāđ‡āļāđ€āļāļˆ (Package) āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āđ€āļŠāđˆāļ™ requests āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āļŦāļĢāļ·āļ­ pandas āļŠāļģāļŦāļĢāļąāļšāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨ
āđ‚āļ”āļĒāļ›āļāļ•āļī āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļˆāļ°āļ—āļģāļœāđˆāļēāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰
$ pip install requests
āđāļ•āđˆāļ›āļąāļāļŦāļēāļ„āļ·āļ­ āđāļžāđ‡āļāđ€āļāļˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļ°āļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļĨāļ‡āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ (Global Environment) āļ‹āļķāđˆāļ‡āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ›āļąāļāļŦāļēāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™
❌āđāļžāđ‡āļāđ€āļāļˆāļŠāļ™āļāļąāļ™ â€“ āļ–āđ‰āļēāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļŦāļ™āļķāđˆāļ‡āđƒāļŠāđ‰ requests āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.25.0 āđāļ•āđˆāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ­āļ·āđˆāļ™āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.31.0 āļāđ‡āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”
āļšāļēāļ‡āļ•āļąāļ§āđƒāļŠāđ‰āđ„āļĄāđˆāđ„āļ”āđ‰
❌āļ­āļąāļ›āđ€āļ”āļ•āđāļžāđ‡āļāđ€āļāļˆāđāļĨāđ‰āļ§āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ€āļāđˆāļēāļžāļąāļ‡ â€“ āļŦāļēāļāļ­āļąāļ›āđ€āļ”āļ•āđāļžāđ‡āļāđ€āļāļˆāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ€āļāđˆāļēāļ—āļģāļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰
❌āđāļŠāļĢāđŒāđ‚āļ„āđ‰āļ”āļāļąāļšāļ„āļ™āļ­āļ·āđˆāļ™āļĒāļēāļ â€“ āđ€āļĄāļ·āđˆāļ­āļŠāđˆāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđƒāļŦāđ‰āđ€āļžāļ·āđˆāļ­āļ™ āļžāļ§āļāđ€āļ‚āļēāļ­āļēāļˆāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāđ„āļĄāđˆāļ„āļĢāļš āļŦāļĢāļ·āļ­āđƒāļŠāđ‰āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ—āļĩāđˆāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļ™
āļ§āļīāļ˜āļĩāđāļāđ‰āļ›āļąāļāļŦāļēāļ™āļĩāđ‰āļ„āļ·āļ­āļāļēāļĢāđƒāļŠāđ‰ Virtual Environment
Babel Coder
Babel Coder
https://www.babelcoder.com
VIRTUAL ENVIRONMENT
Virtual Environment (Venv) āđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™ āļžāļ·āđ‰āļ™āļ—āļĩāđˆāđāļĒāļāđ€āļ‰āļžāļēāļ° āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āļ—āļģāđƒāļŦāđ‰āđāļ•āđˆāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļĄāļĩāđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡āđ‚āļ”āļĒ
āđ„āļĄāđˆāļāļĢāļ°āļ—āļšāļāļąāļšāļĢāļ°āļšāļšāļŦāļĨāļąāļ
āļ–āđ‰āļēāđ„āļĄāđˆāļĄāļĩ Virtual Environment āļ—āļļāļāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđāļŠāļĢāđŒāđāļžāđ‡āļāđ€āļāļˆāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļŦāļĄāļ·āļ­āļ™āļ—āļļāļāļ„āļ™āđƒāļ™āļšāđ‰āļēāļ™āđƒāļŠāđ‰āļĢāļ­āļ‡āđ€āļ—āđ‰āļēāļ„āļđāđˆāđ€āļ”āļĩāļĒāļ§āļāļąāļ™
āļ–āđ‰āļēāđƒāļŠāđ‰ Virtual Environment āđāļ•āđˆāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļĄāļĩāđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡ āđ€āļŦāļĄāļ·āļ­āļ™āļ—āļļāļāļ„āļ™āļĄāļĩāļĢāļ­āļ‡āđ€āļ—āđ‰āļēāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļĒāđˆāļ‡āļāļąāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
VIRTUAL ENVIRONMENT
Poetry āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļˆāļąāļ”āļāļēāļĢ Virtual Environment āđāļĨāļ°
āđāļžāđ‡āļāđ€āļāļˆāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒāđ€āļŠāļĢāđ‡āļˆ
āļŠāļīāđ‰āļ™ Poetry āļˆāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļšāđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒāļœāđˆāļēāļ™ Virtual Environment
āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļŦāļĢāļ·āļ­āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļœāđˆāļēāļ™
Poetry āļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļāļąāļš Virtual Environment āđƒāļŦāđ‰āđ€āļ­āļ‡
āļ—āļļāļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļˆāļ°āļ–āļđāļāļˆāļąāļ”āļāļēāļĢāđ€āļ‰āļžāļēāļ°āđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ™āļĩāđ‰ (āļœāđˆāļēāļ™
Virtual Environment) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
$ poetry add requests
āļ„āļģāļŠāļąāđˆāļ‡ poetry run āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļē Python āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāļˆāļēāļ
Virtual Environment āđ€āļžāļ·āđˆāļ­āļĢāļąāļ™āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ Virtual
Environment
$ poetry run python script.py
Babel Coder
Babel Coder
https://www.babelcoder.com
VIRTUAL ENVIRONMENT
āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ Poetry āļˆāļąāļ”āđ€āļāđ‡āļšāđāļžāđ‡āļāđ€āļāļˆāđ„āļ§āđ‰āļ āļēāļĒāđƒāļ•āđ‰ .venv āļ āļēāļĒāđƒāļ•āđ‰āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ
āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒ āđ€āļĢāļēāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰
āļ—āļļāļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļˆāļ°āļ–āļđāļāļˆāļąāļ”āļāļēāļĢāđ€āļ‰āļžāļēāļ°āđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ™āļĩāđ‰ (āļœāđˆāļēāļ™
Virtual Environment) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
$ poetry add requests
āļ„āļģāļŠāļąāđˆāļ‡ poetry run āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļē Python āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāļˆāļēāļ
Virtual Environment āđ€āļžāļ·āđˆāļ­āļĢāļąāļ™āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ Virtual
Environment
$ poetry run python script.py
$ poetry config virtualenvs.in-project true --local
āđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ poetry config --list --local
āļˆāļ°āļžāļšāļ§āđˆāļēāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ”āļąāļ‡āļāļĨāđˆāļēāļ§āđ„āļ”āđ‰āļ–āļđāļāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™
virtualenvs.in-project = true
Babel Coder
Babel Coder
https://www.babelcoder.com
PYPROJECT.YOML
pyproject.toml āđ€āļ›āđ‡āļ™āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļāļģāļŦāļ™āļ”āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđāļĨāļ°āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ Python āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ Poetry āļŦāļĢāļ·āļ­
āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆāļ­āļ·āđˆāļ™āđ† āđ„āļŸāļĨāđŒāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ, āđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰, āđāļĨāļ° āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ­āļ·āđˆāļ™āđ† āđ„āļ”āđ‰āđƒāļ™āļ—āļĩāđˆāđ€āļ”āļĩāļĒāļ§
āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ pyproject.toml
[project] – āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
[tool.poetry.group.dev.dependencies] – āđāļžāđ‡āļāđ€āļāļˆāļŠāļģāļŦāļĢāļąāļšāļžāļąāļ’āļ™āļē
[project.scripts] – āļ„āļģāļŠāļąāđˆāļ‡āļĢāļąāļ™āļŠāļ„āļĢāļīāļ›āļ•āđŒ
[build-system] – āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļšāļšāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
[PROJECT]
āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āđƒāļŠāđ‰āļĢāļ°āļšāļļāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āđ€āļŠāđˆāļ™ āļŠāļ·āđˆāļ­, āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ āđāļĨāļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
[tool.poetry]
name = "my_project" # āļŠāļ·āđˆāļ­āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
version = "0.1.0" # āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
description = "My Python app" # āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
authors = ["John Doe <john@example.com>"] # āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āļŠāļĢāđ‰āļēāļ‡
license = "MIT" # āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļĨāļīāļ‚āļŠāļīāļ—āļ˜āļīāđŒ
requires-python = ">=3.13, <4.0" # āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ Python
dependencies = [ # āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āđƒāļŠāđ‰āļĢāļ°āļšāļļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ
"robotframework (>=7.2.2,<8.0.0)",
"robotframework-databaselibrary (>=2.1.0,<3.0.0)"
]
Babel Coder
Babel Coder
https://www.babelcoder.com
[TOOL.POETRY.GROUP.DEV.DEPENDENCIES]
āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļĢāļ°āļšāļļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļ‰āļžāļēāļ°āļŠāđˆāļ§āļ‡āļžāļąāļ’āļ™āļēāđāļĨāļ°āļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ pytest āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš
[tool.poetry.group.dev.dependencies]
pytest = "^7.2.0"
black = "^22.12.0" # āđƒāļŠāđ‰ Black āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ§āļĒāļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđ‚āļ„āđ‰āļ”
📌āđāļžāđ‡āļāđ€āļāļˆāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļˆāļ°āđ„āļĄāđˆāļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđƒāļ™ production
📌āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļĨāļļāđˆāļĄāđāļžāđ‡āļāđ€āļāļˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™ [tool.poetry.group.test.dependencies] āļāđ‡āđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
[PROJECT.SCRIPTS]
āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļĢāļąāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
[project.scripts]
start = "my_project.main:run"
📌āļ„āļģāļŠāļąāđˆāļ‡ poetry run start āļˆāļ°āļĢāļąāļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ run() āļˆāļēāļāđ„āļŸāļĨāđŒ main.py
Babel Coder
Babel Coder
https://www.babelcoder.com
[BUILD-SYSTEM]
āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļšāļ­āļāđƒāļŦāđ‰ Python āļ—āļĢāļēāļšāļ§āđˆāļēāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ™āļĩāđ‰āđƒāļŠāđ‰ Poetry āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļˆāļąāļ”āļāļēāļĢ
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
Babel Coder
Babel Coder
https://www.babelcoder.com
CHALLENGE
Q: āļŠāļĄāļĄāļ•āļīāđƒāļŦāđ‰ Robot Framework āļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļœāđˆāļēāļ™āļ„āļģāļŠāļąāđˆāļ‡ poetry add robot-
framework āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ„āļģāļŠāļąāđˆāļ‡āļŠāļ·āđˆāļ­ robot āļ‚āļķāđ‰āļ™āļĄāļēāđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļ„ āļāļēāļĢāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™
āļ‚āđ‰āļ­āđƒāļ”āļ–āļđāļāļ•āđ‰āļ­āļ‡āđ€āļžāļ·āđˆāļ­āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ robot āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāđ„āļŸāļĨāđŒāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ tests
A1: robot tests
A2: poetry run robot tests
ROBOT
FRAMEWORK
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
✅1. Test Cases
Test Case āļ„āļ·āļ­ āļŠāļļāļ”āļ‚āļ­āļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļš āđ€āļžāļ·āđˆāļ­āļ”āļđāļ§āđˆāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļģāļ‡āļēāļ™āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āđ€āļŠāđˆāļ™ āļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāļĨāđ‡āļ­āļāļ­āļīāļ™āļŠāļģāđ€āļĢāđ‡āļˆ
āđ„āļŦāļĄ āļŦāļĢāļ·āļ­āļĢāļ°āļšāļšāļ„āļģāļ™āļ§āļ“āļĢāļēāļ„āļēāļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
ðŸ’ĄTest Case āļ™āļĩāđ‰āđ€āļŠāđ‡āļ„āļ§āđˆāļē "āļĨāđ‡āļ­āļāļ­āļīāļ™āļŠāļģāđ€āļĢāđ‡āļˆāđāļĨāđ‰āļ§āļ‚āļķāđ‰āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ Welcome āđ„āļŦāļĄ?"
📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: Test Case āđ€āļŦāļĄāļ·āļ­āļ™ "āļĢāļēāļĒāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš" āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ—āļģāļ•āļēāļĄ
āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
✅2. Test Suite
Test Suite āļ„āļ·āļ­ āļāļĨāļļāđˆāļĄāļ‚āļ­āļ‡ Test Cases āļ—āļĩāđˆāļ™āļģāļĄāļēāļĢāļ§āļĄāļāļąāļ™āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāđ† āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡āļĢāļ°āļšāļš
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™
login_tests.robot: āļĢāļ§āļĄ Test Cases āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļĨāđ‡āļ­āļāļ­āļīāļ™
checkout_tests.robot: āļĢāļ§āļĄ Test Cases āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļŠāļīāļ™āļ„āđ‰āļē
payment_tests.robot: āļĢāļ§āļĄ Test Cases āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™
ðŸ’ĄāļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™ Test Suite āđ€āļ”āļĩāļĒāļ§ āļŦāļĢāļ·āļ­āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđ„āļ”āđ‰
📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: Test Suite āđ€āļŦāļĄāļ·āļ­āļ™ "āđāļŸāđ‰āļĄāđ€āļ­āļāļŠāļēāļĢ" āļ—āļĩāđˆāļĢāļ§āļĄ Test Cases āļŦāļĨāļēāļĒāđ† āļ­āļąāļ™
āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
✅3. Variables (āļ•āļąāļ§āđāļ›āļĢ)
āļ•āļąāļ§āđāļ›āļĢ āļ„āļ·āļ­ āļ„āđˆāļēāļ—āļĩāđˆāļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ‹āđ‰āļģāđƒāļ™āļŦāļĨāļēāļĒāļˆāļļāļ”āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ āļ•āļąāđ‰āļ‡āļ„āđˆāļē āļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰, āļĢāļŦāļąāļŠāļœāđˆāļēāļ™, URL āļ‚āļ­āļ‡
āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™
ðŸ’Ąāđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļžāļīāļĄāļžāđŒ "user123" āļ‹āđ‰āļģāđ† āļ—āļļāļāļ—āļĩāđˆ āļāđ‡āđƒāļŠāđ‰ ${USERNAME} āđāļ—āļ™
📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: āļ•āļąāļ§āđāļ›āļĢāđ€āļŦāļĄāļ·āļ­āļ™ "āļāļĨāđˆāļ­āļ‡āđ€āļāđ‡āļšāļ‚āļ­āļ‡" āļ—āļĩāđˆāđ€āļāđ‡āļšāļ„āđˆāļēāļ•āđˆāļēāļ‡āđ† āđ„āļ§āđ‰āđƒāļŠāđ‰āļ‹āđ‰āļģ
āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
✅4. Keywords
āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” āļ„āļ·āļ­ āļāļĨāļļāđˆāļĄāļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļģāļ‡āļēāļ™āļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡ āđ€āļŠāđˆāļ™ "āļĨāđ‡āļ­āļāļ­āļīāļ™", "āļāļ”āļ›āļļāđˆāļĄ", "āļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ" āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđ„āļ”āđ‰āļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡
āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāļāļĢāļ°āļŠāļąāļšāļ‚āļķāđ‰āļ™
ðŸ’Ąāđ€āļ§āļĨāļēāļˆāļ°āļĨāđ‡āļ­āļāļ­āļīāļ™āļāđ‡āđ€āļĢāļĩāļĒāļ Login To Website āđ„āļ”āđ‰āđ€āļĨāļĒ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āļ‹āđ‰āļģ
📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āđ€āļŦāļĄāļ·āļ­āļ™ "āļŠāļđāļ•āļĢāļŠāļģāđ€āļĢāđ‡āļˆ" āļ—āļĩāđˆāļšāļ­āļāđƒāļŦāđ‰ Robot āļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
✅5. Test Data (āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļ”āļŠāļ­āļš)
Test Data āļ„āļ·āļ­ āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļš āđ€āļŠāđˆāļ™ āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰, āļĢāļēāļĒāļāļēāļĢāļŠāļīāļ™āļ„āđ‰āļē, āļŦāļĢāļ·āļ­āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļŠāđ‡āļ„āļāļēāļĢāļ„āļģāļ™āļ§āļ“
ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ CSV āļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™ Test Data:
📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: Test Data āđ€āļŦāļĄāļ·āļ­āļ™ "āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡" āļ—āļĩāđˆāđƒāļŠāđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļ°āļšāļš
āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
CHALLENGE
Q: āļ‚āđ‰āļ­āđƒāļ”āļ„āļ·āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ‚āļ­āļ‡āļŠāļļāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļĢāļ§āļĄāļŦāļĨāļēāļĒ āđ† āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļāļąāļ™
A1: Test Suite
A2: Test Case
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„
āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Test Cases
āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Resource (Keywords & Variables)
āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļš (Test Data)
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„
📂1. tests/ → āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Test Cases
✅āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļš āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāļŦāļĨāļąāļ āļ—āļĩāđˆāđ€āļ‚āļĩāļĒāļ™āļ”āđ‰āļ§āļĒ Robot Framework
✅āļĄāļąāļāļĄāļĩāđ„āļŸāļĨāđŒ .robot āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Test Suites āđāļĨāļ° Test Cases
✅āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŠāļēāļĄāļēāļĢāļ–āđāļšāđˆāļ‡āđ€āļ›āđ‡āļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāļĒāđˆāļ­āļĒāļ•āļēāļĄāđ‚āļĄāļ”āļđāļĨāļŦāļĢāļ·āļ­āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ:
login_tests.robot → āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļĨāđ‡āļ­āļāļ­āļīāļ™
checkout_tests.robot → āļ—āļ”āļŠāļ­āļšāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļŠāļīāļ™āļ„āđ‰āļē
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„
📂2. resources/ → āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Resource (Keywords & Variables)
✅āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļš Custom Keywords, Variables āđāļĨāļ° Settings
✅āđāļĒāļ Reusable Code āļ­āļ­āļāļˆāļēāļāđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāļŦāļĨāļąāļ āđ€āļžāļ·āđˆāļ­āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™
✅āļŠāļēāļĄāļēāļĢāļ–āļĄāļĩ āđ„āļŸāļĨāđŒ .robot āļŦāļĢāļ·āļ­ .py āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āļĩāļĒāļ™ Custom Libraries
ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ:
keywords.robot → āđ€āļāđ‡āļš Custom Keywords
variables.robot → āđ€āļāđ‡āļš āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđ€āļŠāđˆāļ™ URL, Credentials
selenium_keywords.py → Python Script āļŠāļģāļŦāļĢāļąāļš Custom Selenium Keywords
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„
📂3. data/ → āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļš (Test Data)
✅āđƒāļŠāđ‰āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒ āđ€āļŠāđˆāļ™ CSV, JSON, Excel
✅āđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļ­āļāļˆāļēāļāđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļāđ‰āđ„āļ‚āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ
✅āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš Data-Driven Testing
ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ:
test_users.csv → āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļš
product_data.json → āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļīāļ™āļ„āđ‰āļēāđƒāļ™āļĢāļ°āļšāļš
test_cases.xlsx → āļĢāļēāļĒāļāļēāļĢāđ€āļ—āļŠāļ•āđŒāđƒāļ™āļĢāļđāļ›āđāļšāļšāļŠāđ€āļ›āļĢāļ”āļŠāļĩāļ•
Babel Coder
Babel Coder
https://www.babelcoder.com
āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāđƒāļ™ Robot Framework āđƒāļŠāđ‰āļ™āļēāļĄāļŠāļāļļāļĨ .robot āđ‚āļ”āļĒāļ„āļ§āļĢāļ§āļēāļ‡āđ„āļ§āđ‰āđƒāļ™
āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ tests āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļŠāđˆāļ§āļ™āļŦāļĨāļąāļ āđ† āļ”āļąāļ‡āļ™āļĩāđ‰
Settings Section (āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē)
Variables Section (āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āđ€āļ—āļŠāļ•āđŒ)
Test Cases Section (āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļāļĢāļ“āļĩāļ—āļ”āļŠāļ­āļš)
Keywords Section (āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āļ‹āđ‰āļģāđ„āļ”āđ‰)
āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ TEST SUITES
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļģāļŦāļ™āļ” Libraries, Resource Files āđāļĨāļ° Variables āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™ Test Cases
ðŸ”đLibrary → āđ‚āļŦāļĨāļ”āđ„āļĨāļšāļĢāļēāļĢāļĩ āđ€āļŠāđˆāļ™ Browser āļŠāļģāļŦāļĢāļąāļš Web Testing
ðŸ”đResource → āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĄāļĩ Keywords āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļ‡āļˆāļēāļāđ„āļŸāļĨāđŒāļ­āļ·āđˆāļ™
ðŸ”đVariables → āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļ•āļąāļ§āđāļ›āļĢ āđ€āļŠāđˆāļ™ āļ„āđˆāļē URL āļŦāļĢāļ·āļ­ Credentials āļˆāļēāļāļ—āļĩāđˆāļ­āļ·āđˆāļ™
SETTINGS SECTION
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļ‹āđ‰āļģ āđ€āļŠāđˆāļ™ URL, Username, Password āđ‚āļ”āļĒāđƒāļŠāđ‰ ${} āļ„āļĢāļ­āļš
āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđ€āļžāļ·āđˆāļ­āļ™āļģāđ„āļ›āđƒāļŠāđ‰āđƒāļ™ Test Cases
VARIABLES SECTION
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŠāđˆāļ§āļ™āļŦāļĨāļąāļāļ—āļĩāđˆāļāļģāļŦāļ™āļ” Test Cases āļžāļĢāđ‰āļ­āļĄāļĨāļģāļ”āļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™ āđ‚āļ”āļĒāđƒāļ™
Test Suite āļ•āđ‰āļ­āļ‡āļĄāļĩāļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļ‡ 1 Test Case āļ āļēāļĒāđƒāļ•āđ‰ Test Case āđƒāļ”
āđ† āļˆāļ°āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļš
TEST CASES SECTION
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļģāļŦāļ™āļ” Keywords (āļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡) āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™ Test Cases āļŠāļģāļŦāļĢāļąāļšāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ Keyword āļ”āļąāļ‡āļāļĨāđˆāļēāļ§āļŠāđˆāļ§āļĒāļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™ āđ‚āļ”āļĒāđƒāļŠāđ‰
Login To Website āđƒāļ™ Test Cases
KEYWORDS SECTION
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ TEST SUITE
Babel Coder
Babel Coder
https://www.babelcoder.com
CHALLENGE
Q: āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļžāļīāđ€āļĻāļĐāđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļĢāļĩāļĒāļāļ‹āđ‰āļģāļāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡āđ€āļ›āđ‡āļ™āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ‚āļ­āļ‡āļŠāļīāđˆāļ‡āđƒāļ”
A1: Test Case
A2: Keyword
Babel Coder
Babel Coder
https://www.babelcoder.com
LOG
Log āđƒāļŠāđ‰āļšāļąāļ™āļ—āļķāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĨāļ‡āđƒāļ™āđ„āļŸāļĨāđŒ log.html āļ‹āļķāđˆāļ‡
āļˆāļ°āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļŦāļĨāļąāļ‡āļˆāļēāļāļĢāļąāļ™ Robot
Framework
1.
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "This is a log message" āļˆāļ°āđ„āļĄāđˆāđāļŠāļ”āļ‡āđƒāļ™
Console āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āļ”āļđāđ„āļ”āđ‰āđƒāļ™āđ„āļŸāļĨāđŒ log.html
2. Log To Console āđƒāļŠāđ‰āđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ­āļ­āļāļĄāļēāļ—āļĩāđˆ
Console āđ‚āļ”āļĒāļ•āļĢāļ‡ āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "This
will appear in the terminal" āļˆāļ°āđāļŠāļ”āļ‡āļ—āļĩāđˆ
Console āļ—āļąāļ™āļ—āļĩ
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļ™ Robot Framework āļĄāļĩāđāļ™āļ§āļ„āļīāļ”āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš Setup
āđāļĨāļ° Teardown āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļāļĨāđ„āļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļāļģāļŦāļ™āļ” āļāļēāļĢāđ€āļ•
āļĢāļĩāļĒāļĄāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš (Setup)
āđāļĨāļ° āļāļēāļĢāļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļŦāļĢāļ·āļ­āļ„āļ·āļ™āļ„āđˆāļēāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļŦāļĨāļąāļ‡
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™ (Teardown)
Setup → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ Test Case
Teardown → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļŦāļĨāļąāļ‡āļˆāļēāļ Test
Case āļˆāļšāļĨāļ‡
SETUP / TEARDOWN
ðŸ”đāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāđ€āļ—āļŠāļ•āđŒ → Open Browser āļˆāļ°āļ—āļģāļ‡āļēāļ™āđ€āļžāļ·āđˆāļ­āđ€āļ›āļīāļ”āđ€āļ§āđ‡āļš
ðŸ”đāļŦāļĨāļąāļ‡āļˆāļšāđ€āļ—āļŠāļ•āđŒ → Close Browser āļˆāļ°āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
Suite Setup → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ Test
Cases āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™ Test Suite
Suite Teardown → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļŦāļĨāļąāļ‡āļˆāļēāļ
Test Cases āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™ Test Suite āļˆāļšāļĨāļ‡
SUITE SETUP / SUITE TEARDOWN
ðŸ”đSuite Setup → āđ€āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđ€āļžāļĩāļĒāļ‡āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§ āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ—āļļāļ Test Case
ðŸ”đSuite Teardown → āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļŦāļĨāļąāļ‡āļˆāļēāļāļ—āļļāļ Test Case āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ›āļĢāļ°āđ€āļ āļ— āļĢāļ°āļ”āļąāļš āļ—āļģāļ‡āļēāļ™āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ
Setup Test Case āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ āđāļ•āđˆāļĨāļ° Test Case
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āđ€āļ•āļĢāļĩāļĒāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āđ€āļ›āļīāļ”āđ€āļ§āđ‡āļšāļāđˆāļ­āļ™
āđ€āļ—āļŠāļ•āđŒāđāļ•āđˆāļĨāļ°āļ­āļąāļ™
Teardown Test Case āļŦāļĨāļąāļ‡āļˆāļš āđāļ•āđˆāļĨāļ° Test Case
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļ„āļ·āļ™āļ„āđˆāļēāļŦāļĢāļ·āļ­āļ›āļīāļ”āļ—āļĢāļąāļžāļĒāļēāļāļĢāļŦāļĨāļąāļ‡āļˆāļēāļ
āđ€āļ—āļŠāļ•āđŒāđ€āļŠāļĢāđ‡āļˆ
Suite Setup Test Suite āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ Test Suite āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ—āļļāļ Test
Case āđƒāļ™āļŠāļļāļ”
Suite Teardown Test Suite āļŦāļĨāļąāļ‡āļˆāļēāļ Test Suite āļˆāļšāļĨāļ‡āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļ—āļļāļ Test Case āđāļĨāļ°
āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļ·āļ™āļ„āđˆāļē
SUITE SETUP / SUITE TEARDOWN
Babel Coder
Babel Coder
https://www.babelcoder.com
CHALLENGE
Q: āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡ āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļīāđ‰āļ‡āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆ
āđƒāļŦāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļˆāļēāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĢāļ­āļšāļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ•āļāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļ—āļģāđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ—āļ”āļŠāļ­āļš
āđƒāļ™āļĢāļ­āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļœāļīāļ”āđ€āļžāļĩāđ‰āļĒāļ™ āļ‚āđ‰āļ­āđƒāļ”āļāļĨāđˆāļēāļ§āļ–āļđāļāļ•āđ‰āļ­āļ‡
A1: āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļīāđ‰āļ‡āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļ—āļ”āļŠāļ­āļšāđ€āļŠāļĢāđ‡āļˆāļœāđˆāļēāļ™ Teardown
A2: āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāđˆāļ­āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļœāđˆāļēāļ™ Setup
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ—āļ”āļŠāļ­āļš TEST CASES
1. āļāļēāļĢāļĢāļąāļ™āļ—āļļāļ Test Suites
āļŦāļēāļāļĄāļĩāļŦāļĨāļēāļĒāđ„āļŸāļĨāđŒ .robot āļ āļēāļĒāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļŠāđˆāļ™
tests/ āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™āļ—āļļāļāđ„āļŸāļĨāđŒāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ‹āļķāđˆāļ‡āļˆāļ°āļĢāļąāļ™
āļ—āļļāļāđ„āļŸāļĨāđŒ .robot āļ āļēāļĒāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ tests/
$ poetry run robot tests/
2. āļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļąāļ™āđ€āļ‰āļžāļēāļ°āļšāļēāļ‡ Test Cases
āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļ™āđ€āļ‰āļžāļēāļ° Test Case āđƒāļ” Test Case āļŦāļ™āļķāđˆāļ‡āļŦāļĢāļ·āļ­
āđ€āļ‰āļžāļēāļ°āļšāļēāļ‡āļŠāđˆāļ§āļ™ āđƒāļŠāđ‰ --test āļ•āļēāļĄāļ”āđ‰āļ§āļĒāļŠāļ·āđˆāļ­ Test Case āđ€āļŠāđˆāļ™āļ„āļģāļŠāļąāđˆāļ‡
āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ—āļĩāđˆāļˆāļ°āļĢāļąāļ™āđ€āļ‰āļžāļēāļ° Test Case āļ—āļĩāđˆāļŠāļ·āđˆāļ­āļ§āđˆāļē "Login Test"
$ poetry run robot --test "Login Test" tests/
āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļ™āļŦāļĨāļēāļĒ Test Cases āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āđƒāļŠāđ‰ --test āļ‹āđ‰āļģāđ„āļ”āđ‰
$ poetry run robot --test "Login Test" --test "Checkout Test" tests/
āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļ™āđ€āļ‰āļžāļēāļ° Test Suite (āđ„āļŸāļĨāđŒ .robot āļŦāļ™āļķāđˆāļ‡āđ„āļŸāļĨāđŒ) āđƒāļŦāđ‰āđƒāļŠāđ‰āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ
$ poetry run robot tests/login_tests.robot
VARIABLES &
DATA TYPES
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
VARIABLES
āđƒāļ™ Robot Framework āļāļēāļĢāđƒāļŠāđ‰ āļ•āļąāļ§āđāļ›āļĢ (Variables) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢ Test Cases āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–
āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‹āđ‰āļģāļŦāļĢāļ·āļ­āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ„āļ”āđ‰āļŠāļ°āļ”āļ§āļ āļ•āļąāļ§āđāļ›āļĢāđƒāļ™ Robot Framework āđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™ 3 āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĨāļąāļ
āđ„āļ”āđ‰āđāļāđˆ Scalar Variables, List Variables āđāļĨāļ° Dictionary Variables
Scalar Variables: āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ„āđˆāļēāđ€āļ”āļĩāļĒāļ§ āđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ ${}​
List Variables: āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļēāļĒāļ„āđˆāļēāđƒāļ™āļĢāļđāļ›āđāļšāļšāļĢāļēāļĒāļāļēāļĢ āđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ @{}​
Dictionary Variables: āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™āļ„āļđāđˆāļ„āļĩāļĒāđŒāđāļĨāļ°āļ„āđˆāļē āđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ &{}​
āļāļēāļĢāđƒāļŠāđ‰āļ•āļąāļ§āđāļ›āļĢāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Test Cases āđƒāļ™ Robot Framework āļĄāļĩāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āđāļĨāļ°āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļĄāļēāļ
āļ‚āļķāđ‰āļ™
** āļ•āļąāļ§āđāļ›āļĢāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļāļēāļĻāđƒāļ™ Variables Section āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ āđāļ•āđˆāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļāļēāļĻāđƒāļ™ Test Cases āļŦāļĢāļ·āļ­
Leywords āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
SCALAR VARIABLES
Scalar Variables āļ„āļ·āļ­ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļĩāļĒāļ‡āļ„āđˆāļēāđ€āļ”āļĩāļĒāļ§ āđ€āļŠāđˆāļ™ āļ„āļ°āđāļ™āļ™āļŠāļ­āļš āļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļŦāļąāļŠāļœāđˆāļēāļ™ āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™
āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Scalar Variables
āļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļŠāđˆāļ§āļ™ *** Variables *** āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļš āđ‚āļ”āļĒāđƒāļŠāđ‰
āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ ${} āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ
āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Scalar Variables
āđƒāļ™ Test Cases āļŦāļĢāļ·āļ­ Keywords āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ•āļąāļ§āđāļ›āļĢāđ‚āļ”āļĒ
āđƒāļŠāđ‰ ${} āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ
Babel Coder
Babel Coder
https://www.babelcoder.com
LIST VARIABLES
List Variables āļ„āļ·āļ­ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļēāļĒāļ„āđˆāļēāđƒāļ™āļĢāļđāļ›āđāļšāļšāļĢāļēāļĒāļāļēāļĢ (List) āđ€āļŠāđˆāļ™ āđ€āļāļĢāļ”āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āļ™āļēāļĒāđ€āļ­ āļŦāļĢāļ·āļ­ āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļ§āđ‡āļš
āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ List Variables
āļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļŠāđˆāļ§āļ™ *** Variables *** āđ‚āļ”āļĒāđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ @{}
āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ
āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ List Variables
āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āđˆāļēāļ āļēāļĒāđƒāļ™ List āđ‚āļ”āļĒāđƒāļŠāđ‰āļ”āļąāļŠāļ™āļĩ (Index) āļ‹āļķāđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™
āļ—āļĩāđˆ 0
0
1
2
Babel Coder
Babel Coder
https://www.babelcoder.com
DICTIONARY VARIABLES
Dictionary Variables āļ„āļ·āļ­ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™āļ„āļđāđˆāļ‚āļ­āļ‡ āļ„āļĩāļĒāđŒ (Key) āđāļĨāļ° āļ„āđˆāļē (Value) āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļĩāļĒāđŒ
āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Dictionary Variables
āļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļŠāđˆāļ§āļ™ *** Variables *** āđ‚āļ”āļĒāđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ &{}
āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ
āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Dictionary Variables
āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āđˆāļēāļ āļēāļĒāđƒāļ™ Dictionary āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļĩāļĒāđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
VARIABLE KEYWORD
Robot Framework āļĄāļĩ Keywords āļŦāļĨāļēāļĒāļ•āļąāļ§āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– āļāļģāļŦāļ™āļ”āļ„āđˆāļē, āđāļāđ‰āđ„āļ‚, āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļ•āļąāļ§āđāļ›āļĢ āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒ
āđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (Automated Testing) āļĄāļĩāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļĄāļēāļāļ‚āļķāđ‰āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
VARIABLE KEYWORD
Set Variable – āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđƒāļŦāļĄāđˆ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Scalar
(${}), List (@{}) āđāļĨāļ° Dictionary (&{})
Get Variable Value – āļ”āļķāļ‡āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ (āļĄāļĩāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™)
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļ”āļķāļ‡āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļŦāļēāļ
āļ•āļąāļ§āđāļ›āļĢāđ„āļĄāđˆāļĄāļĩāļ„āđˆāļē
Babel Coder
Babel Coder
https://www.babelcoder.com
VARIABLE KEYWORD
Variable Should Exist – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļĄāļĩāļ­āļĒāļđāđˆ
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđƒāļŦāļĄāđˆ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Scalar
(${}), List (@{}) āđāļĨāļ° Dictionary (&{})
Variable Should Not Exist – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ•āđ‰āļ­āļ‡
āđ„āļĄāđˆāļĄāļĩāļ­āļĒāļđāđˆ
āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđ„āļĄāđˆāļĄāļĩāļ­āļĒāļđāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
VARIABLES
āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļ Scalar, List āđāļĨāļ° Dictionary āđāļĨāđ‰āļ§ Robot Framework āļĒāļąāļ‡āļĄāļĩāļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāļ­āļ·āđˆāļ™ āđ† āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āļ”āļąāļ‡āļ™āļĩāđ‰
String Variables: āđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ String Variables āđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļ•āļąāļ§āđāļ›āļĢāļ›āļĢāļ°āđ€āļ āļ— Scalar
Environment Variables: āļ„āļ·āļ­āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļŦāļĢāļ·āļ­āđƒāļ™āđ„āļŸāļĨāđŒāļ•āļąāđ‰āļ‡āļ„āđˆāļē (configuration files) āļ‚āļ­āļ‡ Robot
Framework
Special Variables: āļ„āļ·āļ­āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆ Robot Framework āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļ‰āļžāļēāļ° āđ€āļŠāđˆāļ™ āļ•āļąāļ§āđāļ›āļĢāļŠāļģāļŦāļĢāļąāļšāļˆāļąāļ”āļāļēāļĢāļāļąāļš space, āļāļēāļĢ
āđ€āļ§āđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”, āļŦāļĢāļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāļāļģāļŦāļ™āļ” (null)
Babel Coder
Babel Coder
https://www.babelcoder.com
EVALUATE
Evaluate āđ€āļ›āđ‡āļ™āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āđƒāļ™ Robot Framework āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš
āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ™āļīāļžāļˆāļ™āđŒ (Expression) āđƒāļ™āļ āļēāļĐāļē Python āđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļē
āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļĨāļąāļšāļĄāļē āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ„āļģāļ™āļ§āļ“āļ„āđˆāļēāļ•āđˆāļēāļ‡ āđ† āļŦāļĢāļ·āļ­āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰
āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ Python āđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡āļ āļēāļĒāđƒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
expression: āļ™āļīāļžāļˆāļ™āđŒāļŦāļĢāļ·āļ­āđ‚āļ„āđ‰āļ” Python āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™
modules: (Optional) āļĢāļēāļĒāļāļēāļĢāđ‚āļĄāļ”āļđāļĨ Python āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
āļ™āļģāđ€āļ‚āđ‰āļē (Import) āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđƒāļ™āļ™āļīāļžāļˆāļ™āđŒ
namespace: (Optional) Namespace āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āđƒāļ™
āļ™āļīāļžāļˆāļ™āđŒ (āđ€āļŠāđˆāļ™ āļ•āļąāļ§āđāļ›āļĢāļŦāļĢāļ·āļ­āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē)
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
STRING
​
āđƒāļ™ Robot Framework āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (String) āđ€āļ›āđ‡āļ™
āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ„āļ§āļšāļ„āļļāļĄ Test Cases āļ­āļĒāđˆāļēāļ‡āļĄāļĩ
āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒ Robot Framework āļĄāļĩāđ„āļĨāļšāļĢāļēāļĢāļĩāļĄāļēāļ•āļĢāļāļēāļ™āļŠāļ·āđˆāļ­āļ§āđˆāļē
String āļ—āļĩāđˆāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļĨāļ°
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļˆāļēāļāđ„āļĨāļšāļĢāļēāļĢāļĩ String āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ™āļģāđ€āļ‚āđ‰āļēāđ„āļĨāļšāļĢāļēāļĢāļĩ
āļ™āļĩāđ‰āđƒāļ™āļŠāđˆāļ§āļ™ Settings āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļš
Babel Coder
Babel Coder
https://www.babelcoder.com
STRING
āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ„āđˆāļēāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāđ€āļ›āđ‡āļ™ String āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ•āđˆāļ­āđƒāļ™āļāļēāļĢ
āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļ”āđ‰ āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ‚āļ”āļĒāļ„āļĢāļ­āļšāļ—āļąāļšāļ”āđ‰āļ§āļĒ
Quote
Babel Coder
Babel Coder
https://www.babelcoder.com
STRING KEYWORDS
Replace String: āđāļ—āļ™āļ—āļĩāđˆāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĢāļ°āļšāļļāļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļŦāļĄāđˆ
Split String: āđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ­āļ­āļāđ€āļ›āđ‡āļ™āļĢāļēāļĒāļāļēāļĢ (List) āđ‚āļ”āļĒāđƒāļŠāđ‰āļ•āļąāļ§āļ„āļąāđˆāļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Babel Coder
Babel Coder
https://www.babelcoder.com
STRING KEYWORDS
Fetch From Left / Fetch From Right: āļ”āļķāļ‡āļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļŦāļĢāļ·āļ­āļ‚āļ§āļē
Remove String: āļĨāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĢāļ°āļšāļļāļ­āļ­āļāļˆāļēāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĨāļąāļ
Babel Coder
Babel Coder
https://www.babelcoder.com
STRING KEYWORDS
Should Be String: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāļĢāļ°āļšāļļāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ
Catenate: āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĨāļēāļĒ āđ† āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
STRING KEYWORDS
Get Length: āļĢāļąāļšāļ„āļ§āļēāļĄāļĒāļēāļ§āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
Should (Not) Match: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āļĢāļ‡āļāļąāļšāļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
LIST KEYWORDS
āđƒāļ™ Robot Framework āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Collections
Library āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢ List āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāļĄāļĩ
āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļŦāļĨāļēāļĒāļ•āļąāļ§āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ– āļŠāļĢāđ‰āļēāļ‡, āđāļāđ‰āđ„āļ‚, āļ„āđ‰āļ™āļŦāļē, āļĨāļš,
āđāļĨāļ°āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļš List āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāđ€āļĢāļĩāļĒāļāđ„āļĨāļšāļĢāļēāļĢāļĩāđˆ
Collections āļāđˆāļ­āļ™āđƒāļ™ Settings Section
Babel Coder
Babel Coder
https://www.babelcoder.com
LIST KEYWORDS
Create List - āļŠāļĢāđ‰āļēāļ‡ List āđƒāļŦāļĄāđˆāļˆāļēāļāļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Append To List - āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāļ—āļĩāđˆāļ—āđ‰āļēāļĒ List
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Insert Into List - āđāļ—āļĢāļāļ„āđˆāļēāļĨāļ‡āđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Remove From List - āļĨāļšāļ„āđˆāļēāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļˆāļēāļ List
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Get From List - āļ”āļķāļ‡āļ„āđˆāļēāļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Get Index From List - āļŦāļēāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Sort List - āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ„āđˆāļēāđƒāļ™ List āļ•āļēāļĄāļ•āļąāļ§āļ­āļąāļāļĐāļĢ
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
List Should Contain Value - āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļ™ List āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
LIST KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
āļ–āđ‰āļē "Apple" āļ­āļĒāļđāđˆāđƒāļ™ List āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Create List āļŠāļĢāđ‰āļēāļ‡ List āđƒāļŦāļĄāđˆāļˆāļēāļāļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Append To List āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāļĨāļ‡āļ—āđ‰āļēāļĒ List
Insert Into List āđāļ—āļĢāļāļ„āđˆāļēāļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Remove From List āļĨāļšāļ„āđˆāļēāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļ­āļ­āļāļˆāļēāļ List
LIST KEYWORDS
Get From List āļ”āļķāļ‡āļ„āđˆāļēāļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
List Should Contain Value āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē List āļĄāļĩāļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
Get Index From List āļŦāļēāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Sort List āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ„āđˆāļēāļ āļēāļĒāđƒāļ™ List
Babel Coder
Babel Coder
https://www.babelcoder.com
DICTIONARY KEYWORDS
āđƒāļ™ Robot Framework āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢ Dictionary āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ
āļœāđˆāļēāļ™ Collections Library āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– āļŠāļĢāđ‰āļēāļ‡,
āđāļāđ‰āđ„āļ‚, āļĨāļš, āļ„āđ‰āļ™āļŦāļē, āļĢāļ§āļĄ, āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āđˆāļēāđƒāļ™ Dictionary āđ„āļ”āđ‰
āļ­āļĒāđˆāļēāļ‡āļŠāļ°āļ”āļ§āļ
Babel Coder
Babel Coder
https://www.babelcoder.com
Create Dictionary - āļŠāļĢāđ‰āļēāļ‡ Dictionary āļžāļĢāđ‰āļ­āļĄāļāļģāļŦāļ™āļ” Key-Value
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Set To Dictionary - āđ€āļžāļīāđˆāļĄāļŦāļĢāļ·āļ­āļ­āļąāļ›āđ€āļ”āļ•āļ„āđˆāļēāđƒāļ™ Dictionary
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
āļ–āđ‰āļē city āđ„āļĄāđˆāļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ Dictionary āļˆāļ°āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāđƒāļŦāļĄāđˆ āļ–āđ‰āļēāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§
āļˆāļ°āļ­āļąāļ›āđ€āļ”āļ•āđ€āļ›āđ‡āļ™āļ„āđˆāļēāļĨāđˆāļēāļŠāļļāļ”
Babel Coder
Babel Coder
https://www.babelcoder.com
Remove From Dictionary - āļĨāļšāļ„āđˆāļēāļ­āļ­āļāļˆāļēāļ Dictionary āļ•āļēāļĄ Key
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Get From Dictionary - āļ”āļķāļ‡āļ„āđˆāļēāļ•āļēāļĄ Key
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
30
Babel Coder
Babel Coder
https://www.babelcoder.com
Copy Dictionary - āļ„āļąāļ”āļĨāļ­āļ Dictionary
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Get Dictionary Keys - āļ”āļķāļ‡āļĢāļēāļĒāļāļēāļĢ Key āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Get Dictionary Values - āļ”āļķāļ‡āļĢāļēāļĒāļāļēāļĢāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
Dictionary Should Contain Key - āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Dictionary āļĄāļĩ Key
āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
DICTIONARY KEYWORDS
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
āļ–āđ‰āļē Key name āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ Dictionary āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐāđƒāļ™ Robot Framework āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļ–āļđāļāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļāļēāļĻāļŦāļĢāļ·āļ­
āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļ­āļ‡ āļšāļ—āđ€āļĢāļĩāļĒāļ™āļ™āļĩāđ‰āļˆāļ°āļāļĨāđˆāļēāļ§āļ–āļķāļ‡āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐ āļ„āļ·āļ­ CURDIR āđāļĨāļ° EXECDIR
CURDIR: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ
EXECDIR: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ (āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ robot)
āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡: CURDIR āļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ›āļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ EXECDIR āļˆāļ°āļ„āļ‡āļ—āļĩāđˆāļ•āļĨāļ­āļ”āļāļēāļĢāļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
BUILT-IN VARIABLES
Babel Coder
Babel Coder
https://www.babelcoder.com
CURDIR (Current Directory) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐāļ—āļĩāđˆāđ€āļāđ‡āļšāļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ
āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ
āļĨāļ”āļ„āļ§āļēāļĄāļĒāļļāđˆāļ‡āļĒāļēāļāđƒāļ™āļāļēāļĢāļĢāļ°āļšāļļāļžāļēāļ˜āđāļšāļšāļŠāļąāļĄāļšāļđāļĢāļ“āđŒ (Absolute Path)
CURDIR
Babel Coder
Babel Coder
https://www.babelcoder.com
EXECDIR (Execution Directory) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐāļ—āļĩāđˆāđ€āļāđ‡āļšāļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ (āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ robot)
āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāļ—āļĩāđˆāļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ
āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļŦāļĨāļąāļāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„
EXECDIR
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ•āļąāļ§āđāļ›āļĢ āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
CURDIR
āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
āļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ
āļŦāļēāļāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļ­āļĒāļđāđˆ
āđƒāļ™ /home/user/tests, ${CURDIR} āļˆāļ°
āđ€āļ›āđ‡āļ™ /home/user/tests
EXECDIR
āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
(āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ robot)
āļŦāļēāļāļĢāļąāļ™āļ„āļģ
āļŠāļąāđˆāļ‡ robot āļˆāļēāļ /home/user/project,
${EXECDIR} āļˆāļ°āđ€āļ›āđ‡āļ™ /home/user/project
āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ test_suite.robot
${CURDIR}/data/example.txt āļˆāļ°āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡ /home/user/project/tests/data/example.txt
${EXECDIR}/resources/config.json āļˆāļ°āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡ /home/user/project/resources/config.json
Babel Coder
Babel Coder
https://www.babelcoder.com
ENV VARIABLES
Environment Variables āļ„āļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāļ–āļđāļāđ€āļāđ‡āļšāđƒāļ™āļĢāļ°āļšāļš
āļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļŦāļĢāļ·āļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰āđ‚āļ”āļĒāļ—āļļāļāđ‚āļ›āļĢ
āđ€āļ‹āļŠāđƒāļ™āļĢāļ°āļšāļš āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļŦāļĢāļ·āļ­
āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļŦāļĨāļēāļĒ āđ† āļ—āļĩāđˆāđƒāļ™āļĢāļ°āļšāļš āđ€āļŠāđˆāļ™ API Keys,
Database URLs āļŦāļĢāļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļ™
āđ‚āļ›āļĢāđāļāļĢāļĄāļ•āđˆāļēāļ‡ āđ†
āđƒāļ™ Robot Framework āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Environment
Variables āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđƒāļ™āđ„āļŸāļĨāđŒ .robot āđ„āļ”āđ‰āđ€āļŠāđˆāļ™
āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ‚āļ”āļĒāļāļēāļĢāļ­āđ‰āļēāļ‡āļ–āļķāļ‡āļ•āļąāļ§āđāļ›āļĢāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļœāđˆāļēāļ™āļĢāļđāļ›āđāļšāļš %
{VAR_NAME}
āļŠāļĄāļĄāļ•āļīāļ§āđˆāļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ Environment Variable āđ€āļžāļ·āđˆāļ­
āđ€āļāđ‡āļšāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ—āļĩāđˆāđ€āļĢāļēāļāļģāļĨāļąāļ‡āļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™
ANDROID_PLATFORM_VERSION āļ‹āļķāđˆāļ‡āļĄāļĩāļ„āđˆāļēāđ€āļ›āđ‡āļ™ 9 āļ–āđ‰āļē
āđ„āļĄāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ‚āļ”āļĒāļ•āļĢāļ‡
āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰:
${ANDROID_PLATFORM_VERSION} āļˆāļ°āļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļˆāļēāļāļ„āđˆāļē
Environment Variable āļ—āļĩāđˆāļŠāļ·āđˆāļ­
ANDROID_PLATFORM_VERSION
āļŦāļēāļ Environment Variable āđ„āļĄāđˆāļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāđƒāļ™āļĢāļ°āļšāļš āļĢāļ°āļšāļš
āļˆāļ°āđƒāļŠāđ‰āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđ€āļ›āđ‡āļ™ 9
Babel Coder
Babel Coder
https://www.babelcoder.com
ENV VARIABLES
āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē Environment Variable āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ
āđ† āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢ āđ€āļŠāđˆāļ™
$ export ANDROID_PLATFORM_VERSION=12
$ set ANDROID_PLATFORM_VERSION=12
CONTROL
STRUCTURES
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
CONTROL STRUCTURES
Control Structures āļ„āļ·āļ­āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāđ„āļŦāļĨāļ‚āļ­āļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ āļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆ (Decision Making), āļāļē
āļĢāļ§āļ™āļĨāļđāļ› (Looping), āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” (Error Handling) āđƒāļ™ Robot Framework āļĄāļĩ Control Structures āļŦāļĨāļąāļ āđ†
āļ”āļąāļ‡āļ™āļĩāđ‰
IF/ELSE: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ•āļēāļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚
FOR LOOP: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›
WHILE LOOP: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļˆāļ™āļāļ§āđˆāļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļˆāļ°āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ
TRY/EXCEPT: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”
BREAK āđāļĨāļ° CONTINUE: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ§āļ™āļĨāļđāļ›
Nesting FOR Loops: āļāļēāļĢāļ‹āđ‰āļ­āļ™āļĨāļđāļ›
Babel Coder
Babel Coder
https://www.babelcoder.com
IF/ELSE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ•āļēāļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ āļŦāļēāļāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True)
āļˆāļ°āļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļ IF āđāļ•āđˆāļŦāļēāļāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ (False) āļˆāļ°āļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™
āļšāļĨāđ‡āļ­āļ ELSE
IF/ELSE
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļ™ Robot Framework āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (Condition) āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļ
āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Test Cases āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āđāļĨāļ°
āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŦāļĨāļēāļĒāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āļŦāļĢāļ·āļ­
āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ‚āļķāđ‰āļ™ āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļŠāļ·āđˆāļ­āļĄāđƒāļ™āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚
AND
OR
NOT
āļ•āļąāļ§āđ€āļŠāļ·āđˆāļ­āļĄ
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
AND
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļāđ‡āļ•āđˆāļ­āđ€āļĄāļ·āđˆāļ­ ${age} āļĄāļĩāļ„āđˆāļēāļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 18 āļ–āļķāļ‡ 60
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļĒāļŦāļ™āļķāđˆāļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True)
OR
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ ${fruit} āļĄāļĩāļ„āđˆāļēāđ€āļ›āđ‡āļ™ "Apple" āļŦāļĢāļ·āļ­
"Banana"
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļĨāļąāļšāļ„āđˆāļēāļ‚āļ­āļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (āļˆāļēāļ True āđ€āļ›āđ‡āļ™ False
āļŦāļĢāļ·āļ­āļˆāļēāļ False āđ€āļ›āđ‡āļ™ True)
NOT
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ ${status} āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļš "Success"
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ:
${age} āļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 18 āļ–āļķāļ‡ 60 āļŦāļĢāļ·āļ­
${fruit} āđ€āļ›āđ‡āļ™ "Apple"
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ:
${age} āļĄāļēāļāļāļ§āđˆāļēāļŦāļĢāļ·āļ­āđ€āļ—āđˆāļēāļāļąāļš 18 āđāļĨāļ°
${status} āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļš "Failed"
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ:
${age} āļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 18 āļ–āļķāļ‡ 60 āđāļĨāļ°
${status} āđ€āļ›āđ‡āļ™ "Active"
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ ${fruit} āđ„āļĄāđˆāđƒāļŠāđˆ "Apple" āļŦāļĢāļ·āļ­ "Banana"
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āļ„āļģāļŠāļąāđˆāļ‡ Run Keyword If āļˆāļ°āļ—āļģāļ‡āļēāļ™āļŦāļēāļāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āļ„āļģāļŠāļąāđˆāļ‡ Should Be True āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
FOR-IN āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļĢāļēāļĒāļāļēāļĢ (āļĨāļīāļŠāļ•āđŒ) āđ‚āļ”āļĒāļˆāļ°āļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļ
FOR āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļŦāļĢāļ·āļ­āđāļ•āđˆāļĨāļ°āļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
FOR-IN
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
FOR-IN-RANGE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
FOR-IN-RANGE
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
FOR-IN-ENUMERATE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļĨāļīāļŠāļ•āđŒāļžāļĢāđ‰āļ­āļĄāļāļąāļšāļ”āļąāļŠāļ™āļĩ
(index) āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢ
FOR-IN-ENUMERATE
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
FOR-IN-ZIP āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļŦāļĨāļēāļĒāļĨāļīāļŠāļ•āđŒāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āđ‚āļ”āļĒāļˆāļ°āļˆāļąāļšāļ„āļđāđˆ
āļĢāļēāļĒāļāļēāļĢāļˆāļēāļāđāļ•āđˆāļĨāļ°āļĨāļīāļŠāļ•āđŒāđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™
FOR-IN-ZIP
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™ Dictionary āđ‚āļ”āļĒāđƒāļŠāđ‰ FOR-IN āļˆāļ°āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ key āđāļĨāļ° value
āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļ„āļđāđˆāđƒāļ™ Dictionary
DICTIONARY ITERATION
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
WHILE LOOP āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļˆāļ™āļāļ§āđˆāļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļˆāļ°āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ (False) āđ‚āļ”āļĒ
āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļāđˆāļ­āļ™āļāļēāļĢāļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļ WHILE
WHILE LOOP
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļ™ Robot Framework āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĨāļđāļ› (Loop) āļŠāļēāļĄāļēāļĢāļ–
āļ—āļģāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰ Keywords BREAK āđāļĨāļ° CONTINUE āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–
āļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļ§āļ™āļĨāļđāļ›āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļĄāļēāļāļ‚āļķāđ‰āļ™
BREAK AND CONTINUE
Babel Coder
Babel Coder
https://www.babelcoder.com
BREAK āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŦāļĒāļļāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĨāļđāļ›āļ—āļąāļ™āļ—āļĩ āđāļĨāļ°āļ­āļ­āļāļˆāļēāļāļĨāļđāļ›āļ™āļąāđ‰āļ™
āđ† āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ™āđƒāļˆāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļāļēāļĢāļ§āļ™āļĨāļđāļ›āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­
BREAK AND CONTINUE
āļĨāļđāļ› FOR āļˆāļ°āļ§āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 9
āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 5 āļ„āļģāļŠāļąāđˆāļ‡ BREAK āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĨāļđāļ›āļˆāļ°
āļŦāļĒāļļāļ”āļ—āļģāļ‡āļēāļ™āļ—āļąāļ™āļ—āļĩ
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āđˆāļē 0 āļ–āļķāļ‡ 5 āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
CONTINUE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļēāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđƒāļ™āļĢāļ­āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ‚āļ­āļ‡āļĨāļđāļ› āđāļĨāļ°
āđ„āļ›āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĢāļ­āļšāđƒāļŦāļĄāđˆāļ—āļąāļ™āļ—āļĩ āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ™āđƒāļˆāļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āđƒāļ™āļĢāļ­āļšāļ™āļąāđ‰āļ™
BREAK AND CONTINUE
āļĨāļđāļ› FOR āļˆāļ°āļ§āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 4
āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 2 āļ„āļģāļŠāļąāđˆāļ‡ CONTINUE āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĢāļ­āļš
āļ™āļąāđ‰āļ™āļˆāļ°āļ–āļđāļāļ‚āđ‰āļēāļĄāđ„āļ›
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āđˆāļē 0, 1, 3, āđāļĨāļ° 4 (āļ„āđˆāļē 2 āļˆāļ°āđ„āļĄāđˆāļ–āļđāļ
āđāļŠāļ”āļ‡)
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āļĨāļđāļ› FOR āļˆāļ°āļ§āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 9
āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 2 āļ„āļģāļŠāļąāđˆāļ‡ CONTINUE āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĢāļ­āļš
āļ™āļąāđ‰āļ™āļˆāļ°āļ–āļđāļāļ‚āđ‰āļēāļĄāđ„āļ›
āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 7 āļ„āļģāļŠāļąāđˆāļ‡ BREAK āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĨāļđāļ›āļˆāļ°
āļŦāļĒāļļāļ”āļ—āļģāļ‡āļēāļ™āļ—āļąāļ™āļ—āļĩ
āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āđˆāļē 0, 1, 3, 4, 5, āđāļĨāļ° 6 (āļ„āđˆāļē 2 āđāļĨāļ° 7
āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™āđ„āļ›āļˆāļ°āđ„āļĄāđˆāļ–āļđāļāđāļŠāļ”āļ‡)
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ‹āđ‰āļ­āļ™āļĨāļđāļ› (Nesting FOR Loops) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļ āļēāļĒāđƒāļ™āļĨāļđāļ›āļ­āļĩāļāļŠāļąāđ‰āļ™
āļŦāļ™āļķāđˆāļ‡
NESTING FOR LOOPS
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
KEYWORDS
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
āļĢāļđāļ›āđāļšāļš Argument āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Positional Arguments āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļĢāļ°āļšāļļ
Default Values āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļē
Variable Number of Arguments āļĢāļąāļšāļ„āđˆāļēāļŦāļĨāļēāļĒāļ•āļąāļ§āđ‚āļ”āļĒāđ€āļāđ‡āļšāđ€āļ›āđ‡āļ™ List
Named Arguments
āđƒāļŠāđ‰ argument=value āđ€āļžāļ·āđˆāļ­āļ„āļ§āļēāļĄ
āļŠāļąāļ”āđ€āļˆāļ™
Free Named Arguments
āļĢāļ­āļ‡āļĢāļąāļšāļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļĢāļđāđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļŦāļĢāļ·āļ­āđ„āļĄāđˆāļˆāļģāļāļąāļ”āļŠāļ·āđˆāļ­
āļ‚āļ­āļ‡ Argument
Named-Only Arguments āļšāļąāļ‡āļ„āļąāļšāđƒāļŦāđ‰āđƒāļŠāđ‰ name=value āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
KEYWORDS
āđƒāļ™ Robot Framework Keywords āļ„āļ·āļ­āļŠāļļāļ”āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™
āļĢāđˆāļ§āļĄāļāļąāļ™āđ€āļžāļ·āđˆāļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āļ āļēāļĒāđƒāļ™ Test Case āđ‚āļ”āļĒāđ€āļĢāļē
āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡ Keywords āđ€āļ­āļ‡āđ„āļ”āđ‰āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ Test Case āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
āđāļĨāļ°āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™āļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”
Keywords āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļš Arguments (āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ) āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰
āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āļ‹āđ‰āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ‹āļķāđˆāļ‡āļĄāļĩāļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš āđ€āļŠāđˆāļ™ Positional
arguments, Default values, Variable number of
arguments, Named arguments āđāļĨāļ°āļ­āļ·āđˆāļ™ āđ†
Babel Coder
Babel Coder
https://www.babelcoder.com
POSITIONAL ARGUMENTS
āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđāļšāļšāļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡ āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļŠāļļāļ” āļœāļđāđ‰āđƒāļŠāđ‰
āļ•āđ‰āļ­āļ‡āļŠāđˆāļ‡āļ„āđˆāļēāļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Argument āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
DEFAULT VALUES
āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŦāđ‰āļāļąāļš Argument āđ„āļ”āđ‰ āļŦāļēāļāđ„āļĄāđˆāļĄāļĩ
āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļĄāļēāļˆāļ°āđƒāļŠāđ‰āļ„āđˆāļēāļžāļ·āđ‰āļ™āļāļēāļ™āđāļ—āļ™
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
VARIABLE NUMBER OF ARGUMENTS
VarArgs āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļŦāļĨāļēāļĒāļ•āļąāļ§āđ‚āļ”āļĒāđ„āļĄāđˆāļˆāļģāļāļąāļ”āļˆāļģāļ™āļ§āļ™ āđ‚āļ”āļĒāļˆāļ°
āļ–āļđāļāđ€āļāđ‡āļšāđ€āļ›āđ‡āļ™ List
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED ARGUMENTS
Named Arguments āđāļĨāļ° Positional Arguments āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ (Arguments) āđƒāļŦāđ‰āļāļąāļš Keywords āđƒāļ™ Robot
Framework āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āđ„āļ”āđ‰āđƒāļ™āļšāļēāļ‡āļāļĢāļ“āļĩ āđ‚āļ”āļĒ Keywords āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Arguments āđāļšāļšāļ—āļąāđˆāļ§āđ„āļ›āļŠāļēāļĄāļēāļĢāļ–āļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļĢāļđāļ›
āđāļšāļšāđ„āļ”āđ‰
āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ§āļīāļ˜āļĩāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāđ„āļ›āļĒāļąāļ‡ Keywords āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™
Keywords āļ—āļĩāđˆāđ„āļĄāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰āđƒāļŠāđ‰āđ€āļ‰āļžāļēāļ° Named-Only Arguments āļŠāļēāļĄāļēāļĢāļ–āļĢāļ­āļ‡āļĢāļąāļšāđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Positional Arguments āđāļĨāļ°
Named Arguments
āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāđƒāļ™ Test Cases āļĄāļĩāļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āđāļĨāļ°āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ•āļēāļĄāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED ARGUMENTS
✅āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđāļšāļš Positional Arguments
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđāļšāļš Named Arguments
📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
(āļ„āđˆāļēāļˆāļ°āļ–āļđāļāđāļĄāļ›āļ•āļēāļĄāļŠāļ·āđˆāļ­āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļš)
(āļ„āđˆāļēāļˆāļ°āļ–āļđāļāđāļĄāļ›āļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļĢāļ°āļšāļļāđ„āļ§āđ‰āđƒāļ™ [Arguments])
Babel Coder
Babel Coder
https://www.babelcoder.com
FREE NAMED ARGUMENTS (KWARGS)
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āļ‡āļĢāļąāļšāļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļĢāļđāđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļŦāļĢāļ·āļ­āđ„āļĄāđˆāļˆāļģāļāļąāļ”āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡
Argument
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED-ONLY ARGUMENTS
Named-Only Arguments āđ€āļ›āđ‡āļ™āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāđ€āļ‚āđ‰āļēāļĄāļēāļ•āļąāđ‰āļ‡āđāļ•āđˆ Robot Framework 3.1 āđ‚āļ”āļĒāđ„āļ”āđ‰āļĢāļąāļšāđāļĢāļ‡āļšāļąāļ™āļ”āļēāļĨāđƒāļˆāļˆāļēāļ
Keyword-Only Arguments āļ‚āļ­āļ‡ Python 3
āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āđāļĨāđ‰āļ§ Named-Only Arguments āđƒāļŠāđ‰āđƒāļ™āļāļĢāļ“āļĩāļ—āļĩāđˆ
āļĄāļĩ Variable-Length Positional Arguments (@{varargs}) āļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļāđˆāļ­āļ™
1.
āļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļģāļŦāļ™āļ”āļ§āđˆāļēāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļĩāđˆāļ•āļēāļĄāļĄāļēāļ•āđ‰āļ­āļ‡āļ–āļđāļāļŠāđˆāļ‡āļĄāļēāđāļšāļš Named Arguments āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
2.
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED-ONLY ARGUMENTS
1. āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš @{varargs}
āļ–āđ‰āļē User Keyword āļĄāļĩ Variable-Length Positional
Arguments (@{varargs}) āļāđˆāļ­āļ™āļŦāļ™āđ‰āļē āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”
Named-Only Arguments āđ„āļ§āđ‰āļŦāļĨāļąāļ‡āļˆāļēāļāļ™āļąāđ‰āļ™āđ„āļ”āđ‰
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
āļ„āđˆāļēāļ—āļĩāđˆāđƒāļŠāđˆāļāđˆāļ­āļ™ named=value āļˆāļ°āļ–āļđāļāđ€āļāđ‡āļšāđƒāļ™ @{varargs}
named āļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āđ‚āļ”āļĒāđƒāļŠāđ‰āļŠāļ·āđˆāļ­ (Named Argument) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED-ONLY ARGUMENTS
2. āđƒāļŠāđ‰ Named-Only Arguments āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩ @{varargs}
āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļ›āđ‡āļ™ Named-Only
Arguments āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ @{} (āđ€āļ§āđ‰āļ™āļ§āđˆāļēāļ‡āđ„āļ§āđ‰) āđ€āļžāļ·āđˆāļ­āļ™āļģāļŦāļ™āđ‰āļēāļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ
āļ—āļĩāđˆāļ•āļēāļĄāļĄāļē
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
first āđāļĨāļ° second āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāđ€āļŠāļĄāļ­ āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰
Positional Arguments āđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED-ONLY ARGUMENTS
3. āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš Positional Arguments
āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Named-Only Arguments āļĢāđˆāļ§āļĄāļāļąāļš Positional
Arguments āđ„āļ”āđ‰ āđ‚āļ”āļĒāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ @{} āļ„āļąāđˆāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡
āļāļĨāļļāđˆāļĄ
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
positional āļ•āđ‰āļ­āļ‡āđƒāļŠāđˆāļ„āđˆāļēāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­
named āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ Named Argument āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED-ONLY ARGUMENTS
4. āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš Free Named Arguments (&{free named})
āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļš Named Arguments āļŦāļĨāļēāļĒāļ„āđˆāļēāđāļšāļš Dynamic
āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ &{free named} āđ„āļ”āđ‰
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
named only āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ Named Argument āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
&{free named} āļĢāļąāļšāļ„āđˆāļē Named Arguments āļ­āļ·āđˆāļ™āđ† āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­
Babel Coder
Babel Coder
https://www.babelcoder.com
NAMED-ONLY ARGUMENTS
5. āđƒāļŠāđ‰ Default Values āļāļąāļš Named-Only Arguments
Named-Only Arguments āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™
āļāļąāļšāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļąāđˆāļ§āđ„āļ›
📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
āļ–āđ‰āļēāđ„āļĄāđˆāđ„āļ”āđ‰āļŠāđˆāļ‡āļ„āđˆāļēāđƒāļŦāđ‰ named āļˆāļ°āđƒāļŠāđ‰ "default" āđ€āļ›āđ‡āļ™āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™
āļ–āđ‰āļēāļŠāđˆāļ‡āļ„āđˆāļē named=custom value āļˆāļ°āđƒāļŠāđ‰ "custom value"
āđāļ—āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļŠāđˆāļ‡āļœāđˆāļēāļ™āļ•āļąāļ§āđāļ›āļĢ āđ„āļ›āļĒāļąāļ‡ KEYWORDS
Scalar Variable (${}) – āļ•āļąāļ§āđāļ›āļĢāđ€āļ”āļĩāđˆāļĒāļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļŠāđˆāļ‡āļœāđˆāļēāļ™āļ•āļąāļ§āđāļ›āļĢ āđ„āļ›āļĒāļąāļ‡ KEYWORDS
List Variable (@{}) – āļ•āļąāļ§āđāļ›āļĢāđāļšāļš List 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļŠāđˆāļ‡āļœāđˆāļēāļ™āļ•āļąāļ§āđāļ›āļĢ āđ„āļ›āļĒāļąāļ‡ KEYWORDS
Dictionary Variable (&{}) – āļ•āļąāļ§āđāļ›āļĢāđāļšāļš Dictionary 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
RETURN
Robot Framework āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ RETURN āļ āļēāļĒāđƒāļ™
User Keywords āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ‡āļ„āđˆāļēāļāļĨāļąāļš
📌āļ­āļ˜āļīāļšāļēāļĒ
āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” Add Numbers āļĢāļąāļšāļ„āđˆāļēāļ•āļąāļ§āđ€āļĨāļ‚ 2 āļ„āđˆāļē (a, b) āļˆāļēāļāļ™āļąāđ‰āļ™
āļ„āļģāļ™āļ§āļ“āļœāļĨāļĢāļ§āļĄāđāļĨāļ°āļŠāđˆāļ‡āļ„āđˆāļēāļāļĨāļąāļšāļ”āđ‰āļ§āļĒ RETURN
Babel Coder
Babel Coder
https://www.babelcoder.com
RETURN
āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļāļĨāļąāļšāļĄāļēāļāļāļ§āđˆāļēāļŦāļ™āļķāđˆāļ‡āļ„āđˆāļē āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ RETURN
āđāļĨāļ°āļ„āļąāđˆāļ™āļ„āđˆāļēāļ”āđ‰āļ§āļĒ SPACE
📌āļ­āļ˜āļīāļšāļēāļĒ
āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” Get Name And Age āļ„āļ·āļ™āļ„āđˆāļēāļ—āļąāđ‰āļ‡ name āđāļĨāļ° age
āđ‚āļ”āļĒ Test Case āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ„āļ”āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
āđƒāļ™ Robot Framework āļĄāļĩāļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒ "Should"
āļŦāļĨāļēāļĒāļ•āļąāļ§āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (Assertions) āļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆ
āđ„āļ”āđ‰āļĢāļąāļšāļ•āļĢāļ‡āļāļąāļšāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļāļēāļĢ āļ•āļĢāļ§āļˆ
āļŠāļ­āļšāļœāļĨāļĨāļąāļžāļ˜āđŒ āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļš
āļ„āļģāļŠāļąāđˆāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļšāļĢāļĢāļˆāļļāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ•āđ‰āđ„āļĨāļšāļĢāļēāļĢāļĩāđˆāļŠāļ·āđˆāļ­ Builtin āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāđˆ
āļĄāļēāļ•āļĢāļāļēāļ™āļ—āļĩāđˆāļĢāļ§āļĄ Keyword āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļšāđˆāļ­āļĒ āđ† āđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļāļąāļ™ āđ‚āļ”āļĒ
Builtin āļˆāļ°āļ–āļđāļāļĢāļ§āļĄāđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡
āļ—āļģāļāļēāļĢāļ™āļģāđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļŠāđ‰āļœāđˆāļēāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļ§āđˆāļē Library Builtin
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be Equal – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ€āļ—āđˆāļēāļāļąāļ™ āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡ (Hello āđāļĨāļ° Hello) āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ„āļĄāđˆāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Not Be Equal – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡ (Hello āđāļĨāļ° World) āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be True – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ True
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ False
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be False – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ False
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ True
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Contain – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĄāļĩāļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "Hello World" āļĄāļĩāļ„āļģāļ§āđˆāļē "World"
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļē "World" āđ„āļĄāđˆāļ­āļĒāļđāđˆāđƒāļ™ "Hello World"
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Not Contain – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļĄāļĩāļ„āļģāļ—āļĩāđˆ
āļāļģāļŦāļ™āļ”
āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "Hello World" āđ„āļĄāđˆāļĄāļĩ "Python"
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļē "Python" āļ­āļĒāļđāđˆāđƒāļ™ "Hello World"
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should End With – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒ
āļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "Hello World" āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒ "World"
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļĄāđˆāļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒ "World"
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be Empty – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ§āđˆāļēāļ‡ ("")
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļĄāļĩāļ„āđˆāļēāļ­āļĒāļđāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Not Be Empty – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļ§āđˆāļēāļ‡
āđ€āļ›āļĨāđˆāļē
āļœāļĨāļĨāļąāļžāļ˜āđŒ
✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļĄāđˆāļ§āđˆāļēāļ‡
❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ§āđˆāļēāļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be Equal As Integers - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļē
āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ (Integers) āļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļāļąāđˆ āļ‡
āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļĄāđˆāđƒāļŠāđˆāļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡
āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļāđˆāļ­āļ™āđ€āļŠāļĄāļ­
āļœāļĨāļĨāļąāļžāļ˜āđŒ
āļŦāļēāļ ${result} āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 30 āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™
āļŦāļēāļāđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be Equal As Numbers - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļē
āļ•āļąāļ§āđ€āļĨāļ‚ (Numbers) āļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āđ‚āļ”āļĒāļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡
āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāđāļĨāļ°āļ—āļĻāļ™āļīāļĒāļĄ āļ–āđ‰āļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļāļąāđˆ āļ‡āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļĄāđˆāđƒāļŠāđˆ
āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļĨāļ‚āļāđˆāļ­āļ™āđ€āļŠāļĄāļ­
āļœāļĨāļĨāļąāļžāļ˜āđŒ
āļŦāļēāļ ${result} āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 31.0 āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™
āļŦāļēāļāđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
SHOULD KEYWORDS
Should Be Equal As Strings - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļē
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (Strings) āļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļāļąāđˆ āļ‡āļ‚āļ­āļ‡āļāļēāļĢ
āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļĄāđˆāđƒāļŠāđˆāļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļāđˆāļ­āļ™āđ€āļŠāļĄāļ­
āļœāļĨāļĨāļąāļžāļ˜āđŒ
āļŦāļēāļ ${text} āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš Hello, World! āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°
āļœāđˆāļēāļ™
āļŦāļēāļāđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Should Be Equal āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ€āļ—āđˆāļēāļāļąāļ™
Should Not Be Equal āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™
Should Be True āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True)
Should Be False
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ
(False)
SHOULD KEYWORDS
Should Contain āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĄāļĩāļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Should Not Contain āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļĄāļĩāļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Should Start With
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļ„āļģāļ—āļĩāđˆ
āļāļģāļŦāļ™āļ”
Should End With
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒāļ„āļģāļ—āļĩāđˆ
āļāļģāļŦāļ™āļ”
Should Be Empty āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē
Should Not Be Empty āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē
Babel Coder
Babel Coder
https://www.babelcoder.com
RUN KEYWORDS
RUN KEYWORDS āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™ Robot Framework āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™āļŦāļĨāļēāļĒāļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” (Keywords) āđƒāļ™āļšāļĢāļĢāļ—āļąāļ”āđ€āļ”āļĩāļĒāļ§āļāļąāļ™
āđ„āļ”āđ‰ āđ‚āļ”āļĒāļ„āļąāđˆāļ™āđāļ•āđˆāļĨāļ°āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ AND āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļĄāļĩāļ„āļ§āļēāļĄāļāļĢāļ°āļŠāļąāļšāđāļĨāļ°āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
Keyword 1, Keyword 2, Keyword 3 āļ„āļ·āļ­āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļ—āļĩāđˆāļ•āļ­āļ‡āļāļēāļĢāļĢāļąāļ™
AND āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ„āļąāđˆāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”
Babel Coder
Babel Coder
https://www.babelcoder.com
RUN KEYWORDS
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
DATA-DRIVEN
TESTS
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
Data-Driven Tests āđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ
(Test Data) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ‚āļąāļšāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ‚āļ”āļĒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ–āļđāļāļĢāļąāļ™āļ‹āđ‰āļģ āđ† āļāļąāļšāļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–
āļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđƒāļŦāļĄāđˆāļ—āļļāļ
āļ„āļĢāļąāđ‰āļ‡
āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ‚āļ­āļ‡ Data-Driven Tests
āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™: āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāļŠāļļāļ”
āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™
āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļē: āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆ
āļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļāđ‰āđ„āļ‚āđ‚āļ„āđ‰āļ”āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļš: āļŠāļēāļĄāļēāļĢāļ–āļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒ
āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§
DATA-DRIVEN TESTS
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
$ poetry add robotframework-datadriver
$ poetry add robotframework-datadriver[xls]
Babel Coder
Babel Coder
https://www.babelcoder.com
Test Template āđ€āļ›āđ‡āļ™āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡ Robot Framework āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰
āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ” Keyword āļ—āļĩāđˆāļˆāļ°āļ–āļđāļāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āđ€āļ—āļĄāđ€āļžāļĨāļ•āļŠāļģāļŦāļĢāļąāļšāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ
āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™ Test Suite āđ„āļ”āđ‰
TEST TEMPLATE
āļœāļĨāļĨāļąāļžāļ˜āđŒ:
āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ All Positive Numbers āļˆāļ°āļĢāļąāļ™ Keyword Add
āļ”āđ‰āļ§āļĒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ 1, 2, āđāļĨāļ° 3
āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ All Negative Numbers āļˆāļ°āļĢāļąāļ™ Keyword Add
āļ”āđ‰āļ§āļĒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ -1, -2, āđāļĨāļ° -3
āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ Positive and Negative Numbers āļˆāļ°āļĢāļąāļ™
Keyword Add āļ”āđ‰āļ§āļĒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ -1, 2, āđāļĨāļ° 1
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļ”āļŠāļ­āļšāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āđ€āļāđ‡āļšāđƒāļ™āđ„āļŸāļĨāđŒ Excel āđ„āļ”āđ‰ āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āđāļ–āļ§āđƒāļ™
Worksheet āļˆāļ°āđāļ—āļ™āļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āļķāđˆāļ‡āļŠāļļāļ”
āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ Excel āļ—āļĩāđˆāļ§āļēāļ‡āđ„āļŸāļĨāđŒāđ„āļ§āđ‰āļ—āļĩāđˆ
${EXECDIR}/data/demo/math.xlsx āđāļĨāļ°āļĄāļĩ Worksheet āļŠāļ·āđˆāļ­
add
āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļš TEST DATA āđƒāļ™āđ„āļŸāļĨāđŒ EXCEL
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ DataDriver
āļœāļĨāļĨāļąāļžāļ˜āđŒ
Robot Framework āļˆāļ°āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđ„āļŸāļĨāđŒ Excel āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āļŠāļ•āđŒ
āđ€āļ„āļŠāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āđāļ–āļ§āđƒāļ™ Worksheet add
āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļˆāļ°āļĢāļąāļ™ Keyword Add āļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđāļ•āđˆāļĨāļ°āđāļ–āļ§
BROWSER
TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
Browser Library āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡
āļ‡āđˆāļēāļĒāļ”āļēāļĒ āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļ—āļĩāđˆāđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒāđāļĨāļ°āđ€āļ›āđ‡āļ™āļ˜āļĢāļĢāļĄāļŠāļēāļ•āļīāļāļąāļšāļ āļēāļĐāļē Robot Framework āđ‚āļ”āļĒāđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āļāļēāļĢ
āļ—āļģāļ‡āļēāļ™āļˆāļ°āđƒāļŠāđ‰ Playwright āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļāļąāļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ Chrome, Firefox,
WebKit āđāļĨāļ° Edge
BROWSER LIBRARY
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
$ poetry add robotframework-browser
$ poetry run rfbrowser init
Babel Coder
Babel Coder
https://www.babelcoder.com
BROWSER KEYWORDS
New Browser - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđƒāļŦāļĄāđˆ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Arguments
browser: āļĢāļ°āļšāļļāļ›āļĢāļ°āđ€āļ āļ—āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ āđ€āļŠāđˆāļ™
chromium, firefox, webkit
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: chromium
headless: āļĢāļ°āļšāļļāļ§āđˆāļēāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļˆāļ°āļ—āļģāļ‡āļēāļ™āđƒāļ™āđ‚āļŦāļĄāļ”
Headless (āđ„āļĄāđˆāļĄāļĩ UI) āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
āļ„āđˆāļēāđ€āļ›āđ‡āļ™ True āļŦāļĢāļ·āļ­ False
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: True
Babel Coder
Babel Coder
https://www.babelcoder.com
BROWSER KEYWORDS
New Context - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡ Context āđƒāļŦāļĄāđˆ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļŠāļ āļēāļž
āđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļāđƒāļ™āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Arguments
viewport: āļĢāļ°āļšāļļāļ‚āļ™āļēāļ”āļŦāļ™āđ‰āļēāļˆāļ­ (Width x Height) āļŠāļģāļŦāļĢāļąāļš
Context āđƒāļŦāļĄāđˆ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: {'width': 1280, 'height': 720}
Babel Coder
Babel Coder
https://www.babelcoder.com
BROWSER KEYWORDS
New Page - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļīāļ”āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđƒāļŦāļĄāđˆ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Arguments
url: URL āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ›āļīāļ”
*** āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ New Browser āļŦāļĢāļ·āļ­ New
Context āļāđˆāļ­āļ™āļŦāļ™āđ‰āļē New Page āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđāļĨāļ°
Context āđƒāļŦāļĄāđˆāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
Babel Coder
Babel Coder
https://www.babelcoder.com
BROWSER KEYWORDS
Close Browser - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
BROWSER KEYWORDS
Get Title - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡ Title āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
BROWSER KEYWORDS
Get Url - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡ URL āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Arguments
assertion_operator: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš URL āļ—āļĩāđˆāđ„āļ”āđ‰
āļāļąāļšāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡
^=: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē URL āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡
$=: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē URL āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡
*=: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē URL āļĄāļĩāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡āļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™
expected: āļ„āđˆāļē URL āļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
Title
URL
Babel Coder
Babel Coder
https://www.babelcoder.com
ELEMENTS KEYWORDS
āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš (Element) āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ”āđ‰āļ§āļĒ Robot Framework āđ‚āļ”āļĒāđƒāļŠāđ‰
Browser Library āđ€āļĢāļēāļˆāļ°āļŠāļģāļĢāļ§āļˆāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Keywords āļ•āđˆāļēāļ‡ āđ† āđ€āļžāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļš Elements āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ„āļ”āđ‰āđāļāđˆ
Get Element
Get Element
Get Element By
Get Element By Role
Get Text
Get Attribute
Babel Coder
Babel Coder
https://www.babelcoder.com
CSS SELECTORS
āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ‡āđˆāļēāļĒāđāļĨāļ°āļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļēāļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Elements āļšāļ™
āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ„āļ·āļ­āļāļēāļĢāđƒāļŠāđ‰ CSS Selectors āļœāđˆāļēāļ™ Keywords Get
Element āđāļĨāļ° Get Elements
Get Element: āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļē Element āđāļĢāļāļ—āļĩāđˆ
āļ•āļĢāļ‡āļāļąāļš Selector āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Get Elements: āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļē Elements
āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļš Selector āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™ Get Element āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļē Element āđāļĢāļāļ—āļĩāđˆāļĄāļĩ
āļ„āļĨāļēāļŠ submit-btn āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ Get Elements āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļē
āļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ Elements āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļĄāļĩāļ„āļĨāļēāļŠ submit-btn
Babel Coder
Babel Coder
https://www.babelcoder.com
CSS SELECTORS
āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Element āļ—āļĩāđˆāļĄāļĩ attribute āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļš
āđ„āļ”āđ‰āļœāđˆāļēāļ™ [attr-name=value]
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
CSS SELECTORS
āđāļĄāđ‰āļ§āđˆāļē CSS Selectors āļˆāļ°āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒ āđāļ•āđˆāļāđ‡āļĄāļĩāļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļšāļēāļ‡
āļ›āļĢāļ°āļāļēāļĢ āđ€āļŠāđˆāļ™
āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Elements āļ•āļēāļĄāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰
āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ
āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Elements āļ•āļēāļĄāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­
Attribute āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”
āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Parent Element (<div id="parent">)
āļˆāļēāļ Child Element (<span class="child">) āļ”āđ‰āļ§āļĒ CSS āļˆāļ°
āļ—āļģāđ„āļ”āđ‰āļĒāļēāļ
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH SELECTORS
XPath (XML Path Language) āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āđ‰āļ™āļŦāļē
āđāļĨāļ°āđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđƒāļ™āđ€āļ­āļāļŠāļēāļĢ XML āļŦāļĢāļ·āļ­ HTML āđ‚āļ”āļĒ
āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
// āđāļŠāļ”āļ‡āļ–āļķāļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ element āļ›āļĨāļēāļĒāļ—āļēāļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ™āđƒāļˆāļ§āđˆāļēāļ­āļĒāļđāđˆ
āļĢāļ°āļ”āļąāļšāļĨāļķāļāđ€āļžāļĩāļĒāļ‡āđƒāļ”
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH SELECTORS
āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ [text()=āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ] āđ€āļžāļ·āđˆāļ­āļāļĢāļ­āļ‡āđ€āļ‰āļžāļēāļ° Element āļ—āļĩāđˆ
āļĄāļĩāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ”āļąāļ‡āļāļĨāđˆāļēāļ§āđ„āļ”āđ‰
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ āđ€āļĢāļēāđƒāļŠāđ‰ XPath āđ€āļžāļ·āđˆāļ­āđ€āļĨāļ·āļ­āļ <button> āļ—āļĩāđˆāļĄāļĩāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
āļ§āđˆāļē "Submit"
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH SELECTORS
āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ [@attr=value] āđ€āļžāļ·āđˆāļ­āļāļĢāļ­āļ‡āđ€āļ‰āļžāļēāļ° Element āļ—āļĩāđˆāļĄāļĩ
attr āļ•āļēāļĄāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ”āđ‰
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH SELECTORS
XPath āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Elements āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰ āđ€āļŠāđˆāļ™
Elements āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ Elements āļ­āļ·āđˆāļ™ āļŦāļĢāļ·āļ­āļāļēāļĢāđ€āļĨāļ·āļ­āļ Parent
Element
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđāļĢāļ āđ€āļĢāļēāđ€āļĨāļ·āļ­āļ <input> āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ <div> āļ—āļĩāđˆāļĄāļĩ id
āđ€āļ›āđ‡āļ™ container āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆāļŠāļ­āļ‡ āđ€āļĢāļēāđ€āļĨāļ·āļ­āļ Parent
Element āļ‚āļ­āļ‡ <input> āđ‚āļ”āļĒāđƒāļŠāđ‰ ..
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH SELECTORS
āļŦāļēāļ XPath āļ—āļĩāđˆāđ€āļĢāļēāđƒāļŠāđ‰āļ•āļĢāļ‡āļāļąāļšāļŦāļĨāļēāļĒ Elements āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰
Get Elements āđ€āļžāļ·āđˆāļ­āļĢāļąāļšāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ Elements āđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ Get Elements āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļēāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ <li> āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļ—āļĩāđˆāļĄāļĩāļ„āļĨāļēāļŠ item
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH SELECTORS
āļāļēāļĢāđƒāļŠāđ‰ XPath āļ­āļēāļˆāļĄāļĩāļ›āļąāļāļŦāļēāđ€āļĄāļ·āđˆāļ­āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ āļŦāļēāļāļ™āļąāļāļžāļąāļ’āļ™āļēāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļĢāļ·āļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡
Elements āļˆāļ°āļ—āļģāđƒāļŦāđ‰ XPath āļ—āļĩāđˆāđ€āļĢāļēāđƒāļŠāđ‰āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ āļŠāđˆāļ‡āļœāļĨāđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđāļĨāļ°āļ•āđ‰āļ­āļ‡āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡ XPath āđƒāļŦāļĄāđˆ
āđ€āļ›āļĢāļēāļ°āļšāļēāļ‡āļ•āđˆāļ­āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡: āļŦāļēāļāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ HTML āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ XPath āļ­āļēāļˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰
āļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđāļĨāļ°āļ­āđˆāļēāļ™āļĒāļēāļ: XPath āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āļ­āđˆāļēāļ™āļĒāļēāļāđāļĨāļ°āļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāļĒāļēāļ
Babel Coder
Babel Coder
https://www.babelcoder.com
TEST-ID SELECTORS
Test ID āđ€āļ›āđ‡āļ™āđāļ™āļ§āļ—āļēāļ‡āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Elements āļĄāļĩāļ„āļ§āļēāļĄ
āđ€āļŠāļ–āļĩāļĒāļĢāļĄāļēāļāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāđƒāļŠāđ‰ Attribute data-testid āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāļĨāļ”āļœāļĨāļ
āļĢāļ°āļ—āļšāļˆāļēāļāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ DOM āđ€āļžāļĢāļēāļ° Test
ID āļĄāļąāļāļˆāļ°āđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļšāđˆāļ­āļĒ
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āļāļĢāļ“āļĩāļ—āļĩāđˆ Elements āļĄāļĩāļĄāļēāļāļāļ§āđˆāļē 1 āļ•āļąāļ§ āđƒāļŦāđ‰āđ€āļ•āļīāļĄ
all_elements=True āđ€āļŠāđˆāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
ROLE SELECTORS
āļāļēāļĢāđƒāļŠāđ‰ Role āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āđ€āļžāļĢāļēāļ°
āļŠāļ™āļąāļšāļŠāļ™āļļāļ™ Accessibility: Role āļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļš WAI-
ARIA Roles āļ—āļģāđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāđ„āļ”āđ‰āļ§āđˆāļēāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰
āļ‡āļēāļ™āđ„āļ”āđ‰āđ‚āļ”āļĒāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļļāļāļāļĨāļļāđˆāļĄ
āļĨāļ”āļ„āļ§āļēāļĄāđ€āļ›āļĢāļēāļ°āļšāļēāļ‡: Role āļĄāļąāļāļˆāļ°āđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļšāđˆāļ­āļĒāđāļĄāđ‰
āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ HTML āļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡
Robot Framework
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđāļ—āđ‡āļ button āļˆāļ°āļĄāļĩ Role āđ€āļ›āđ‡āļ™ button
Babel Coder
Babel Coder
https://www.babelcoder.com
WAI-AREA ROLES
Role āđƒāļ™ WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰
āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļŠāđˆāļ§āļĒāđ€āļŦāļĨāļ·āļ­ āđ€āļŠāđˆāļ™ Screen Readers āđ€āļ‚āđ‰āļēāđƒāļˆāđāļĨāļ°āđ‚āļ•āđ‰āļ•āļ­āļšāļāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ„āļ”āđ‰āļ”āļĩāļ‚āļķāđ‰āļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡ Roles āļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ
āđ€āļŠāđˆāļ™
BUTTON: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āļļāđˆāļĄ
TEXTBOX: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ­āļ‡āļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
LINK: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĨāļīāļ‡āļāđŒ
HEADING: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŦāļąāļ§āļ‚āđ‰āļ­ (āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļĢāļ°āļ”āļąāļšāđ„āļ”āđ‰)
PARAGRAPH: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĒāđˆāļ­āļŦāļ™āđ‰āļē
ARTICLE: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļšāļ—āļ„āļ§āļēāļĄ
Babel Coder
Babel Coder
https://www.babelcoder.com
BUTTON ROLE
Role button āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļļāđˆāļĄ āļ‹āļķāđˆāļ‡
āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāđ„āļ”āđ‰āđ€āļžāļ·āđˆāļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰
<button>
<input type="button">
<input type="submit">
<input type="reset">
<div role="button">
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
TEXTBOX ROLE
Role textbox āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļŠāđˆāļ­āļ‡āļ›āđ‰āļ­āļ™
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰
<input type="text">
<textarea>
<div role="textbox">
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
LINK ROLE
Role link āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļĨāļīāļ‡āļāđŒ āļ‹āļķāđˆāļ‡
āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāđ€āļžāļ·āđˆāļ­āļ™āļģāļœāļđāđ‰āđƒāļŠāđ‰āđ„āļ›āļĒāļąāļ‡āļŦāļ™āđ‰āļēāļ­āļ·āđˆāļ™āļŦāļĢāļ·āļ­āļŠāđˆāļ§āļ™āļ­āļ·āđˆāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰
<a>
<div role="link">
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
HEADING ROLE
Role heading āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļŦāļąāļ§āļ‚āđ‰āļ­ āļ‹āļķāđˆāļ‡
āļĄāļąāļāđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰
<h1> āļ–āļķāļ‡ <h6>
<div role="heading" aria-level="1"> āļ–āļķāļ‡ <div
role="heading" aria-level="6">
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
PARAGRAPH ROLE
Role paragraph āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™
āļĒāđˆāļ­āļŦāļ™āđ‰āļē āļ‹āļķāđˆāļ‡āļĄāļąāļāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĒāļēāļ§
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰
<p>
<div role="paragraph">
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
ARTICLE ROLE
Role article āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļšāļ—āļ„āļ§āļēāļĄ
āļŦāļĢāļ·āļ­āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ­āļīāļŠāļĢāļ°
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰
<article>
<div role="article">
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
GET TEXT
Get Text āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (Text) āļˆāļēāļ Element āļ—āļĩāđˆāļĢāļ°āļšāļļ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
GET ATTRIBUTE
Get Attribute āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ„āđˆāļēāļ‚āļ­āļ‡ Attribute āļˆāļēāļ
Element āļ—āļĩāđˆāļĢāļ°āļšāļļ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āļœāļĨāļĨāļąāļžāļ˜āđŒ
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
selector: Selector āļ‚āļ­āļ‡ Element āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļķāļ‡
Attribute
attribute: āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡ Attribute āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļķāļ‡āļ„āđˆāļē
${attribute}: āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ„āđˆāļēāļ‚āļ­āļ‡ Attribute āļ—āļĩāđˆāļ”āļķāļ‡āļĄāļē
Babel Coder
Babel Coder
https://www.babelcoder.com
CLICK
Click āđ€āļ›āđ‡āļ™ Keyword āđƒāļ™ Browser Library āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āļĨāļīāļ
Element āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ€āļŠāđˆāļ™ Button, Link, āļŦāļĢāļ·āļ­ Checkbox
āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ Element āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļĨāļīāļāđ„āļ”āđ‰āļœāđˆāļēāļ™ Selector
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
DIALOG
āļāļēāļĢāļ—āļ”āļŠāļ­āļš Alert āđāļĨāļ° Confirm āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļĩāļāļēāļĢāđ‚āļ•āđ‰āļ•āļ­āļšāļāļąāļšāļœāļđāđ‰
āđƒāļŠāđ‰āļœāđˆāļēāļ™āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ āļŦāļąāļ§āļ‚āđ‰āļ­āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļš Alert āđāļĨāļ° Confirm āļ”āđ‰āļ§āļĒ Browser Library āđƒāļ™ Robot Framework
āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ” HTML āđāļĨāļ°āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™ Robot Framework āđ‚āļ”āļĒāđƒāļŠāđ‰ Wait For Alert āļ„āļ§āļšāļ„āļđāđˆāļāļąāļš Promise To
Wait For Alert: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļš Alert āļŦāļĢāļ·āļ­ Confirm āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļ„āļĨāļīāļāļ›āļļāđˆāļĄ "accept" (OK) āļŦāļĢāļ·āļ­ "dismiss"
(Cancel) āđ„āļ”āđ‰
Promise To: āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļĢāļ­āđƒāļŦāđ‰āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Wait For Alert āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ•āđˆāļ­āđ„āļ›
āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ: āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļ™ Alert āļŦāļĢāļ·āļ­ Confirm āđ„āļ”āđ‰āđ‚āļ”āļĒāļĢāļ°āļšāļļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļ™āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ text
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ—āļ”āļŠāļ­āļš ALERT
Alert āđ€āļ›āđ‡āļ™āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđāļĨāļ°āļĄāļĩāļ›āļļāđˆāļĄ
"OK" āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļ„āļĨāļīāļ āļāļēāļĢāļ—āļ”āļŠāļ­āļš Alert āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆ
āđāļŠāļ”āļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāļ›āļļāđˆāļĄ "OK" āđ„āļ”āđ‰
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ—āļ”āļŠāļ­āļš CONFIRM
Confirm āđ€āļ›āđ‡āļ™āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĒāļ·āļ™āļĒāļąāļ™āđāļĨāļ°āļĄāļĩāļ›āļļāđˆāļĄ
"OK" āđāļĨāļ° "Cancel" āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āđ€āļĨāļ·āļ­āļ āļāļēāļĢāļ—āļ”āļŠāļ­āļš Confirm āļˆāļ°
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāļ›āļļāđˆāļĄ
"OK" āļŦāļĢāļ·āļ­ "Cancel" āđ„āļ”āđ‰
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
FILE DOWNLOAD
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļĩāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”
āđ„āļŸāļĨāđŒ
Promise To Wait For Download: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ„āļēāļ”āļ§āđˆāļēāļˆāļ°āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™
Wait For: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđƒāļŦāđ‰ Promise āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļēāļœāļĨāļĨāļąāļžāļ˜āđŒāļ‚āļ­āļ‡āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”
āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ Wait For āļāļąāļš Promise To Wait For Download āļˆāļ°āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļ›āđ‡āļ™ Object āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļē DownloadInfo āļ‹āļķāđˆāļ‡āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ
saveAs: path āļ—āļĩāđˆāđ„āļŸāļĨāđŒāļ–āļđāļāļšāļąāļ™āļ—āļķāļāđ„āļ§āđ‰āđƒāļ™āļĢāļ°āļšāļš
suggestedFilename: āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđāļ™āļ°āļ™āļģāđƒāļŦāđ‰āđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” (āļŠāļąāļ‡āđ€āļāļ•āļˆāļēāļāđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒ download āļ‚āļ­āļ‡āđāļ—āđ‡āļ a)
Babel Coder
Babel Coder
https://www.babelcoder.com
FILE DOWNLOAD
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ STATES
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļąāļāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļĢāļ­āđƒāļŦāđ‰āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆāļŠāļĄāļšāļđāļĢāļ“āđŒāļŦāļĢāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡ Element āļšāļ™
āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āļˆāļ°āđƒāļŠāđ‰ Keywords āļŠāļ­āļ‡āļ•āļąāļ§ āļ”āļąāļ‡āļ™āļĩāđ‰
Wait For Load State: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđƒāļŦāđ‰āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆāļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
Get Element States: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡ Element āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš
Babel Coder
Babel Coder
https://www.babelcoder.com
WAIT FOR LOAD STATE
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Wait For Load State āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđƒāļŦāđ‰āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆ
āļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļāļģāļŦāļ™āļ” āđ€āļŠāđˆāļ™ load,
domcontentloaded, āļŦāļĢāļ·āļ­ networkidle
āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš
load: āļĢāļ­āļˆāļ™āļāļ§āđˆāļēāļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļˆāļ°āđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆāļŠāļĄāļšāļđāļĢāļ“āđŒ (āļĢāļ§āļĄāļ–āļķāļ‡
āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ€āļŠāđˆāļ™ āļ āļēāļžāđāļĨāļ°āļŠāļ„āļĢāļīāļ›āļ•āđŒ)
domcontentloaded: āļĢāļ­āļˆāļ™āļāļ§āđˆāļē DOM āļˆāļ°āđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆ
āļŠāļĄāļšāļđāļĢāļ“āđŒ (āđ„āļĄāđˆāļĢāļ§āļĄāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ­āļ·āđˆāļ™ āđ†)
networkidle: āļĢāļ­āļˆāļ™āļāļ§āđˆāļēāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļˆāļ°āļ§āđˆāļēāļ‡ (āđ„āļĄāđˆāļĄāļĩāļ„āļģāļ‚āļ­āđ€āļ„āļĢāļ·āļ­
āļ‚āđˆāļēāļĒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ)
Babel Coder
Babel Coder
https://www.babelcoder.com
GET ELEMENT STATES
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Get Element States āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡
Element āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ€āļŠāđˆāļ™ visible, hidden, enabled, āļŦāļĢāļ·āļ­
disabled
āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš
visible: Element āļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš
hidden: Element āđ„āļĄāđˆāļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš
enabled: Element āļŠāļēāļĄāļēāļĢāļ–āđ‚āļ•āđ‰āļ•āļ­āļšāđ„āļ”āđ‰
disabled: Element āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ‚āļ•āđ‰āļ•āļ­āļšāđ„āļ”āđ‰
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
Babel Coder
Babel Coder
https://www.babelcoder.com
FORM
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļš
āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļŦāļąāļ§āļ‚āđ‰āļ­āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄāļ”āđ‰āļ§āļĒ
Browser Library āđƒāļ™ Robot Framework āđ‚āļ”āļĒāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ
Keywords āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ Fill Text, Check Checkbox,
Select Options By, āđāļĨāļ° Upload File By Selector
āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ” HTML āđāļĨāļ°āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™ Robot
Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
FILL TEXT
Fill Text āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĨāļ‡āđƒāļ™āļŠāđˆāļ­āļ‡āļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļĄāļđāļĨ (Text
Input) āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
CHECK CHECKBOX
Check Checkbox āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļĨāļ·āļ­āļ Checkbox āļŦāļĢāļ·āļ­ Radio
Button āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
SELECT OPTIONS BY
Select Options By āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļĨāļ·āļ­āļāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļˆāļēāļ
Dropdown āļŦāļĢāļ·āļ­ List Box āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
UPLOAD FILE BY SELECTOR
Upload File By Selector āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļœāđˆāļēāļ™ Input
āļ›āļĢāļ°āđ€āļ āļ— File āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
API TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
JSON
CLIENT / SERVER
/products
Babel Coder
Babel Coder
https://www.babelcoder.com
RESTFUL API
C 1 C 2 C 2 C 2
RESTful API āļ„āļ·āļ­āđ€āļ§āđ‡āļšāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠāļĢāļđāļ›āđāļšāļšāļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđƒāļŦāđ‰ API āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆ Client āļŠāļēāļĄāļēāļĢāļ–āļĢāđ‰āļ­āļ‡āļ‚āļ­āđ€āļžāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰ āđ‚āļ”āļĒ
Client āļˆāļ°āļ—āļģāļāļēāļĢāļĢāļ°āļšāļļāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļœāđˆāļēāļ™ URL āđāļĨāļ°āļĢāļ°āļšāļļāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļœāđˆāļēāļ™ HTTP Method
/products
Product
Order
User
Comment
URL
Method GET
āđ€āļĄāļ·āđˆāļ­ API āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļˆāļ°āļ„āļ·āļ™āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļĨāļąāļšāļĄāļēāđƒāļ™āļŸāļ­āļĢāđŒāđāļĄāļ•āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ JSON āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ Client āļ—āļĢāļēāļšāļ§āđˆāļēāļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ›āđ‡āļ™āđ€āļŠāđˆāļ™
āđ„āļĢ API āļ•āđ‰āļ­āļ‡āļŠāđˆāļ‡ HTTP Status Code āļāļĨāļąāļšāļ”āđ‰āļ§āļĒ āļžāļĢāđ‰āļ­āļĄāļĢāļ°āļšāļļ MIME Type āđ€āļžāļ·āđˆāļ­āļšāļ­āļāļŠāļ™āļīāļ”āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļŠāđˆāļ‡āļāļĨāļąāļš
MIME Type
Status
Response
application/json
200 OK
Babel Coder
Babel Coder
https://www.babelcoder.com
HTTP
Method
URL āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ Status āđ€āļĄāļ·āđˆāļ­āļŠāļģāđ€āļĢāđ‡āļˆ Status āđ€āļĄāļ·āđˆāļ­āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ
GET /products āļĢāđ‰āļ­āļ‡āļ‚āļ­āļ‚āđ‰āļ­āļĄāļđāļĨ Products āļ—āļąāđ‰āļ‡āļŦāļĄāļ” 200 OK
GET /products/1 āļĢāđ‰āļ­āļ‡āļ‚āļ­āļ‚āđ‰āļ­āļĄāļđāļĨ Product āļ—āļĩāđˆāļĄāļĩ ID āđ€āļ›āđ‡āļ™ 1 200 OK 404 NOT FOUND
POST /products āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ Product āļ•āļąāļ§āđƒāļŦāļĄāđˆ 201 CREATED
400 BAD REQUEST
422 UNPROCESSIBLE ENTITY
PATCH /products/1 āļ­āļąāļžāđ€āļ”āļ—āļ‚āđ‰āļ­āļĄāļđāļĨāļšāļēāļ‡āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡ Product āļ—āļĩāđˆāļĄāļĩ ID āđ€āļ›āđ‡āļ™ 1 200 OK
400 BAD REQUEST
422 UNPROCESSIBLE ENTITY
DELETE /products/1 āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡ Product āļ—āļĩāđˆāļĄāļĩ ID āđ€āļ›āđ‡āļ™ 1
200 OK
204 NO CONTENT
404 NOT FOUND
RESTFUL API
Babel Coder
Babel Coder
https://www.babelcoder.com
PAYLOAD
/products
Product
Order
User
Comment
URL
Method POST
MIME Type application/json
Validate
400
BAD
REQUEST
422
UNPROCESSIBLE
ENTITY
Babel Coder
Babel Coder
https://www.babelcoder.com
Request Library āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāđƒāļ™ Robot Framework āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ‡
āļ„āļģāļ‚āļ­ HTTP āđ„āļ›āļĒāļąāļ‡ API āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļš Response āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš āđ‚āļ”āļĒāļĢāļ­āļ‡āļĢāļąāļš
āļ§āļīāļ˜āļĩāļāļēāļĢāļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ GET, POST, PUT, DELETE āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļš
Response āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡āđƒāļ™āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡ Body āđāļĨāļ° Status Code
REQUEST LIBRARY
Babel Coder
Babel Coder
https://www.babelcoder.com
GET
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ API
Babel Coder
Babel Coder
https://www.babelcoder.com
POST
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ›āļĒāļąāļ‡ API āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
PUT
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļšāļ™ API
Babel Coder
Babel Coder
https://www.babelcoder.com
DELETE
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļšāļ™ API
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ•āļĢāļ§āļˆāļŠāļ­āļš RESPONSE BODY āđāļšāļš JSON
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Response
Response Body āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļˆāļēāļ API āļĄāļąāļāļ­āļĒāļđāđˆāđƒāļ™āļĢāļđāļ›āđāļšāļš JSON āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āđˆāļēāđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
Babel Coder
Babel Coder
https://www.babelcoder.com
GET FILE FOR STREAMING UPLOAD
Get File For Streaming Upload āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāđ„āļ›āļĒāļąāļ‡ API āđ‚āļ”āļĒāļŠāđˆāļ‡āđ„āļŸāļĨāđŒāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡
āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
DATABASE
TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŠāļīāļ‡āļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ (RDBMS) āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?
RDBMS (Relational Database Management System) āļ„āļ·āļ­āļĢāļ°āļšāļšāļˆāļąāļ”āļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļđāļ›āđāļšāļšāļ‚āļ­āļ‡ āļ•āļēāļĢāļēāļ‡ (Table) āļ‹āļķāđˆāļ‡āļĄāļĩ
āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ RDBMS āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄ āđ„āļ”āđ‰āđāļāđˆ:
PostgreSQL: āđ€āļ›āđ‡āļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ­āđ€āļžāđˆāļ™āļ‹āļ­āļĢāđŒāļŠāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡ āđ€āļŠāđˆāļ™ JSON, Full-text search āđāļĨāļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļš ACID
MySQL: āđ€āļ›āđ‡āļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒāđāļĨāļ°āđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄāđƒāļ™āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
SQL āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?
SQL (Structured Query Language) āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ RDBMS āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡ āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āļāļēāļĢāļ”āļķāļ‡
āļ‚āđ‰āļ­āļĄāļđāļĨ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļēāļāļ•āļēāļĢāļēāļ‡ users
RDBMS āđāļĨāļ° SQL
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ•āļēāļĢāļēāļ‡āđƒāļ™ RDBMS āļĄāļĩ āļ„āļ­āļĨāļąāļĄāļ™āđŒ (Columns) āđāļĨāļ° āđāļ–āļ§ (Rows)
āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āļ„āļ­āļĨāļąāļĄāļ™āđŒāļĄāļĩāļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ (Data Type) āļ—āļĩāđˆ
āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰ āđ€āļŠāđˆāļ™
INTEGER: āđƒāļŠāđ‰āđ€āļāđ‡āļšāļ•āļąāļ§āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ
VARCHAR(255): āđƒāļŠāđ‰āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļĄāđˆāđ€āļāļīāļ™ 255 āļ•āļąāļ§āļ­āļąāļāļĐāļĢ
DATE: āđƒāļŠāđ‰āđ€āļāđ‡āļšāļ§āļąāļ™āļ—āļĩāđˆ
āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡ (TABLE)
āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”
id SERIAL PRIMARY KEY: āļŠāļĢāđ‰āļēāļ‡āļ„āļ­āļĨāļąāļĄāļ™āđŒ id āđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ—āļĩāđˆ
āđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļĨāļ°āđ€āļ›āđ‡āļ™ Primary Key (āļ„āđˆāļēāļŦāļĨāļąāļ)
email VARCHAR(255) UNIQUE NOT NULL:
āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰ email āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ‹āđ‰āļģāļāļąāļ™āđ„āļ”āđ‰
** āđƒāļŠāđ‰ CREATE TABLE IF NOT EXISTS users āļāļĢāļ“āļĩāļ—āļĩāđˆ
āļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āļŠāļĢāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡āđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđ„āļĄāđˆāļĄāļĩāļ•āļēāļĢāļēāļ‡ users āļĄāļēāļāđˆāļ­āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
id name email created_at
1 Alice alice@example.com 2024-02-24 12:00:00
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ INSERT INTO āđ€āļžāļ·āđˆāļ­āđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļĨāļ‡āđƒāļ™āļ•āļēāļĢāļēāļ‡
āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨ (INSERT)
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļœāļđāđ‰āđƒāļŠāđ‰āđƒāļŦāļĄāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ SELECT āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ•āļēāļĢāļēāļ‡
āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ (SELECT)
āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļĩāđˆāļĄāļĩ ID = 1
āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđāļ„āđˆāļŸāļīāļĨāļ”āđŒ name āđāļĨāļ° email āđƒāļŠāđ‰ SELECT name, email FROM users
Babel Coder
Babel Coder
https://www.babelcoder.com
ORDER BY āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™ SQL āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆ
āđ„āļ”āđ‰āļˆāļēāļāļ„āļģāļŠāļąāđˆāļ‡ SELECT āļ•āļēāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļ‡
āļĨāļģāļ”āļąāļšāļˆāļēāļāļ™āđ‰āļ­āļĒāđ„āļ›āļĄāļēāļ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™) āļŦāļĢāļ·āļ­āļˆāļēāļāļĄāļēāļāđ„āļ›āļ™āđ‰āļ­āļĒāļāđ‡āđ„āļ”āđ‰
ORDER BY
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
column1, column2, ...: āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļš
ASC: āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļˆāļēāļāļ™āđ‰āļ­āļĒāđ„āļ›āļĄāļēāļ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™)
DESC: āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļˆāļēāļāļĄāļēāļāđ„āļ›āļ™āđ‰āļ­āļĒ
āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļēāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒ salary āļˆāļēāļāļ™āđ‰āļ­āļĒāđ„āļ›āļĄāļēāļ
āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļēāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒ salary āļˆāļēāļāļĄāļēāļāđ„āļ›āļ™āđ‰āļ­āļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ UPDATE āđ€āļžāļ·āđˆāļ­āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļ•āļēāļĢāļēāļ‡
āļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨ (UPDATE)
id name email created_at
1 Alice alice.new@example.com 2024-02-24 12:00:00
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ DELETE āđ€āļžāļ·āđˆāļ­āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļšāļēāļ‡āđāļ–āļ§āļ­āļ­āļāļˆāļēāļāļ•āļēāļĢāļēāļ‡
āļāļēāļĢāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨ (DELETE)
āļāļĢāļ“āļĩāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļēāļāļ•āļēāļĢāļēāļ‡ orders āđƒāļŦāđ‰āđƒāļŠāđ‰āļ„āļģ
āļŠāļąāđˆāļ‡ DELETE FROM orders
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ TRUNCATE āđ€āļžāļ·āđˆāļ­āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™āļ•āļēāļĢāļēāļ‡ āđāļĨāļ°āļĢāļĩāđ€āļ‹āđ‡āļ•āļ„āđˆāļē Primary Key āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļˆāļ°āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđāļĨāļ°āļĢāļĩāđ€āļ‹āđ‡āļ•āļ„āđˆāļē
id āđƒāļŦāđ‰āđ€āļĢāļīāđˆāļĄāļ—āļĩāđˆ 1 āđƒāļŦāļĄāđˆ
āļāļēāļĢāļĨāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡ (TRUNCATE)
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš E2E Testing āđ€āļŠāđˆāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļĄāļĩ
āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš API āđ‚āļ”āļĒāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ„āļ›āļĒāļąāļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļĩāļāļ—āļĩāļ™āļąāđ‰āļ™ āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢ
āļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āļšāļ™āđ€āļ§āđ‡āļš āđ€āļŠāđˆāļ™ āļ—āļģāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ€āļĢāļē
āļ•āđ‰āļ­āļ‡āļĄāļĩāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļ›āļĒāļąāļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āđˆāļēāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āļšāļ™āđ€āļ§āđ‡āļšāļ™āļąāđ‰āļ™āļ—āļģāđƒāļŦāđ‰
āđ€āļāļīāļ”āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆāļšāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
āđ€āļĢāļēāđƒāļŠāđ‰ Database Library āđƒāļ™āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļˆāļēāļ Robot Framework
āđ„āļ›āļĒāļąāļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĨāļēāļĒāļ—āļēāļ‡
DATABASE TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
DATABASE LIBRARY
Database Library āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāđƒāļ™ Robot Framework āļ—āļĩāđˆ
āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ
āļšāļ—āđ€āļĢāļĩāļĒāļ™āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Keywords āļ•āđˆāļēāļ‡ āđ† āđƒāļ™
Database Library āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ
PostgreSQL, MySQL, āđāļĨāļ° SQLite āļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ
āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ āļāļēāļĢāļĢāļąāļ™ SQL Script, āļāļēāļĢāļĢāļąāļ™ SQL String, āđāļĨāļ°
āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ”āđ‰āļ§āļĒ Query
$ poetry add robotframework-databaselibrary
$ poetry add psycopg2 # āļāļĢāļ“āļĩāļ‚āļ­āļ‡ PostgreSQL
$ poetry add pymysql# āļāļĢāļ“āļĩāļ‚āļ­āļ‡ MySQL
$ poetry add pysqlite # āļāļĢāļ“āļĩāļ‚āļ­āļ‡ SQLite
Babel Coder
Babel Coder
https://www.babelcoder.com
CONNECT TO DATABASE
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđ‚āļ”āļĒāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄ
āļ•āđˆāļ­ āđ€āļŠāđˆāļ™ āļŠāļ·āđˆāļ­āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ, āļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰, āļĢāļŦāļąāļŠāļœāđˆāļēāļ™, āđāļĨāļ°āđ‚āļŪāļŠāļ•āđŒ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ MySQL
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ PostgreSQL
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ SQLite
Babel Coder
Babel Coder
https://www.babelcoder.com
DISCONNECT FROM DATABASE
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āļīāļ”āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ
Babel Coder
Babel Coder
https://www.babelcoder.com
EXECUTE SQL SCRIPT
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļąāļ™ SQL Script āļˆāļēāļāđ„āļŸāļĨāđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āđ„āļŸāļĨāđŒ create_tables.sql
Babel Coder
Babel Coder
https://www.babelcoder.com
id name email
1 Alice alice@example.com
2 Bob bob@example.com
EXECUTE SQL STRING
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļąāļ™ SQL Command āđ‚āļ”āļĒāļ•āļĢāļ‡
āļœāļĨāļĨāļąāļžāļ˜āđŒ (āļ•āļēāļĢāļēāļ‡ users)
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
QUERY
āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ
return_dict=True āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļ›āđ‡āļ™ Dictionary
āļœāļĨāļĨāļąāļžāļ˜āđŒ: ${records} āļˆāļ°āļĄāļĩāļ„āđˆāļēāļ”āļąāļ‡āļ™āļĩāđ‰
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
APPIUM
MOBILE TESTING
Babel Coder
Babel Coder
https://www.babelcoder.com
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš Android āļ™āļąāđ‰āļ™āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ—āļģāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ„āļ·āļ­
Android Studio
Android Studio āđ€āļ›āđ‡āļ™ Integrated Development Environment
(IDE) āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Android āđ„āļ”āđ‰
āļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ Google āđāļĨāļ°āļ­āļīāļ‡āļˆāļēāļ IntelliJ IDEA
ANDROID STUDIO
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Android Studio āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļĩāđˆāļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļĄāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļš Android Studio
āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰ āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē Environment Variables āļ”āļąāļ‡āļ™āļĩāđ‰
ANDROID STUDIO
[System.Environment]::SetEnvironmentVariable("ANDROID_HOME", "C:Users$env:USERNAMEAppDataLocalAndroidSdk", [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable("ANDROID_SDK_ROOT", "C:Users$env:USERNAMEAppDataLocalAndroidSdk", [System.EnvironmentVariableTarget]::Machine)
$envPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
$androidSdkPath = "C:Users$env:USERNAMEAppDataLocalAndroidSdk"
$newPaths = @(
"$androidSdkPathplatform-tools",
"$androidSdkPathemulator",
"$androidSdkPathcmdline-toolslatestbin",
"$androidSdkPathtools",
"$androidSdkPathtoolsbin",
"$androidSdkPathbuild-tools"
)
foreach ($path in $newPaths) {
if ($envPath -notlike "*$path*") {
$envPath += ";$path"
}
}
[System.Environment]::SetEnvironmentVariable("Path", $envPath, [System.EnvironmentVariableTarget]::Machine)
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŠāļģāļŦāļĢāļąāļš MacOS āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđƒāļ™ ~/.zshrc āļŦāļĢāļ·āļ­ ~/.bash_profile
ANDROID STUDIO
export ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/build-tools
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āđƒāļŦāđ‰āđ€āļ›āļīāļ”āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Android Studio āļ‚āļķāđ‰āļ™āļĄāļē
āļ”āļąāļ‡āļ āļēāļž
āļˆāļēāļāļ™āļąāđ‰āļ™āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļ More Actions -> Virtual Device Manager
VIRTUAL DEVICE MANAGER
Babel Coder
Babel Coder
https://www.babelcoder.com
Virtual Device Manager (VDM) āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļ™ Android Studio āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°
āļˆāļąāļ”āļāļēāļĢ Android Emulator āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ– āļ—āļ”āļŠāļ­āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡
āđƒāļŠāđ‰ āļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļĢāļīāļ‡ (Physical Device)
📌āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļāļ‚āļ­āļ‡ Virtual Device Manager
✅āļŠāļĢāđ‰āļēāļ‡ Emulator āđ„āļ”āđ‰āļŦāļĨāļēāļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡: āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāļĢāļļāđˆāļ™ āļŦāļĨāļēāļĒāļ‚āļ™āļēāļ”āļŦāļ™āđ‰āļēāļˆāļ­
✅āļ—āļ”āļŠāļ­āļšāđāļ­āļ›āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ•āđˆāļēāļ‡ āđ†: āļ›āļĢāļąāļš Android Version, RAM, CPU āļŊāļĨāļŊ
✅āļĢāļ­āļ‡āļĢāļąāļš Google Play Services: āđƒāļŠāđ‰āļ‡āļēāļ™āđāļ­āļ›āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ Google APIs āđ„āļ”āđ‰
✅āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš ADB (Android Debug Bridge): āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ adb āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāđāļĨāļ°āļ”āļĩāļšāļąāļ
VIRTUAL DEVICE MANAGER
Babel Coder
Babel Coder
https://www.babelcoder.com
āļˆāļēāļāļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡ Devise Manager āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļ„āļĨāļīāļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ + āļˆāļēāļāļ™āļąāđ‰āļ™āļˆāļķāļ‡āđ€āļĨāļ·āļ­āļāļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļŠāļĄāļ·āļ­āļ™
āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
VIRTUAL DEVICE MANAGER
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Device āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļāđƒāļŠāđ‰āļ‡āļēāļ™ Device āļ—āļĩāđˆāļžāļķāđˆāļ‡āļŠāļĢāđ‰āļēāļ‡
VIRTUAL DEVICE MANAGER
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļšāļ™ iOS āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ“āđŒ MacOS āđāļĨāļ°āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ iOS āļ”āđ‰āļ§āļĒ
iOS Simulator
āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē macOS āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™ iOS Simulator āđ„āļ”āđ‰āļ™āļąāđ‰āļ™ āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Xcode āđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļĩāđˆ
āđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰ Homebrew āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđ‚āļ”āļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”
IOS SIMULATOR
Babel Coder
Babel Coder
https://www.babelcoder.com
Xcode āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŦāļĨāļąāļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āļšāļ™ iOS āđāļĨāļ° macOS āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡ iOS Simulator āļ”āđ‰āļ§āļĒ
āđ€āļ›āļīāļ” App Store āļšāļ™ Mac āļ‚āļ­āļ‡āļ„āļļāļ“
1.
āļ„āđ‰āļ™āļŦāļē Xcode āđāļĨāļ°āļ„āļĨāļīāļ Get āđ€āļžāļ·āđˆāļ­āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡
2.
āļŦāļĨāļąāļ‡āļˆāļēāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™ āđ€āļ›āļīāļ” Xcode āđāļĨāļ°āļĒāļ­āļĄāļĢāļąāļšāļ‚āđ‰āļ­
āļ•āļāļĨāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ (License Agreement)
3.
XCODE
Babel Coder
Babel Coder
https://www.babelcoder.com
Command Line Tools āđ€āļ›āđ‡āļ™āļŠāļļāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļ·āđˆāļ™ āđ†
āđ€āļ›āļīāļ” Terminal
1.
āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Command Line Tools āđāļĨāļ°āļ—āļģāļ•āļēāļĄāļ„āļģāđāļ™āļ°āļ™āļģāļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­āđ€āļžāļ·āđˆāļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
2.
COMMAND LINE TOOLS
Babel Coder
Babel Coder
https://www.babelcoder.com
Homebrew āđ€āļ›āđ‡āļ™ package manager āļŠāļģāļŦāļĢāļąāļš macOS āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
āđ€āļ›āļīāļ” Terminal
1.
āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Homebrew āđāļĨāļ°āļ—āļģāļ•āļēāļĄāļ„āļģāđāļ™āļ°āļ™āļģāļ•āđˆāļ­āđ„āļ›
2.
HOMEBREW
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Babel Coder
Babel Coder
https://www.babelcoder.com
āļˆāļēāļāļ™āļąāđ‰āļ™āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē iOS āļœāđˆāļēāļ™ Homebrew āđ„āļ”āđ‰
āļ•āļīāļ”āļ•āļąāđ‰āļ‡ CocoaPods āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™ dependency manager āļŠāļģāļŦāļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļ„ iOS
āļ•āļīāļ”āļ•āļąāđ‰āļ‡ fastlane āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļģāļŦāļĢāļąāļšāļ­āļ­āđ‚āļ•āđ€āļĄāļŠāļąāļ™āļāļēāļĢ deploy āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ› iOS
HOMEBREW
$ brew install cocoapods
$ brew install fastlane
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđ€āļžāļīāđˆāļĄ Runtime āļ‚āļ­āļ‡ Simulator
āđ€āļ›āļīāļ” Xcode āļˆāļēāļāļ™āļąāđ‰āļ™āđ„āļ›āļ—āļĩāđˆāđāļ–āļšāđ€āļĄāļ™āļđāļ”āđ‰āļēāļ™āļšāļ™āļ‚āļ­āļ‡ Xcode āđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļ
Xcode > Settingsâ€Ķ (āļŦāļĢāļ·āļ­ Xcode > Preferencesâ€Ķ āļšāļēāļ‡
āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™)
1.
āđ„āļ›āļ—āļĩāđˆāđāļ—āđ‡āļš Platforms
2.
āđƒāļ™āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡ Settings āđƒāļŦāđ‰āļ„āļĨāļīāļāļ—āļĩāđˆāđāļ—āđ‡āļš Platforms āđ€āļžāļ·āđˆāļ­āļ”āļđāļĢāļēāļĒāļāļēāļĢ
Platform āđāļĨāļ° Runtime āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ
3.
āđ€āļžāļīāđˆāļĄ Runtime āđƒāļŦāļĄāđˆ āđ‚āļ”āļĒāļ„āļĨāļīāļāļ›āļļāđˆāļĄ Get
4.
āļŦāļĨāļąāļ‡āļˆāļēāļāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™ āđ€āļĢāļēāļˆāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰
Simulator āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ™āļąāđ‰āļ™ āđ† āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩ
IOS SIMULATOR
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŦāļĨāļąāļ‡āļˆāļēāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Xcode āđāļĨāđ‰āļ§ āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ iOS Simulator āđ„āļ”āđ‰
āđ‚āļ”āļĒāļ•āļĢāļ‡āļœāđˆāļēāļ™ Xcode āļŦāļĢāļ·āļ­āļœāđˆāļēāļ™ Terminal
āđ€āļ›āļīāļ” Xcode
1.
āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļ„āđƒāļŦāļĄāđˆāļŦāļĢāļ·āļ­āđ€āļ›āļīāļ”āđ‚āļ›āļĢāđ€āļˆāļ„āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ
2.
āđ€āļĨāļ·āļ­āļāļ­āļļāļ›āļāļĢāļ“āđŒ Simulator āļˆāļēāļāđ€āļĄāļ™āļđāļ”āđ‰āļēāļ™āļšāļ™ (āđƒāļāļĨāđ‰āļāļąāļšāļ›āļļāđˆāļĄ Run) āđāļĨāļ°āļ„āļĨāļīāļ
Run āđ€āļžāļ·āđˆāļ­āđ€āļ›āļīāļ” Simulator
3.
āļŦāļĢāļ·āļ­āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļīāļ” Simulator āđ‚āļ”āļĒāļ•āļĢāļ‡āļˆāļēāļ Terminal āđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡
IOS SIMULATOR
$ open -a Simulator
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļˆāļ°āđāļŠāļ”āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļ›āđ‡āļ™āļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ iOS Simulators āļ—āļĩāđˆāļ•āļīāļ”
āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆ āđāļĨāļ°āļˆāļ°āđāļŠāļ”āļ‡āļŠāļ–āļēāļ™āļ° (Booted) āļ–āđ‰āļēāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ™āļąāđ‰āļ™āļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™
āļ­āļĒāļđāđˆ
IOS SIMULATOR
$ xcrun simctl list devices
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:
-- iOS 16.2 --
iPhone 14 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Booted)
iPhone 13 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Shutdown)
-- iOS 15.0 --
iPhone 12 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Shutdown)
** āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰, deviceName āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāļ„āļ·āļ­ iPhone 14 āļ‹āļķāđˆāļ‡āļĄāļĩāļŠāļ–āļēāļ™āļ°āđ€āļ›āđ‡āļ™
Booted.
āļŠāļēāļĄāļēāļĢāļ–āļāļĢāļ­āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļēāļāļ„āļģāļŠāļąāđˆāļ‡āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđƒāļŦāđ‰āđāļŠāļ”āļ‡āđ€āļ‰āļžāļēāļ°āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡
āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļšāļđāļ—āļ­āļĒāļđāđˆ (āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™) āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰ grep
(āļŦāļēāļāđƒāļŠāđ‰ terminal āđƒāļ™ macOS)
$ xcrun simctl list devices | grep Booted
āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāđāļŠāļ”āļ‡āļŠāļ·āđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ (Booted) āđ€āļŠāđˆāļ™:
iPhone 14 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Booted)
Babel Coder
Babel Coder
https://www.babelcoder.com
Appium āđ€āļ›āđ‡āļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (Automation Testing Tool) āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļ·āļ­āļ–āļ·āļ­ āđ‚āļ”āļĒāļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡ Android
āđāļĨāļ° iOS āđ‚āļ”āļĒāļ—āļĩāđˆ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļāđ‰āđ„āļ‚āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āđāļ­āļ› (āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđˆ SDK āļŦāļĢāļ·āļ­āļĢāļĩāļ„āļ­āļĄāđ„āļžāļĨāđŒāđāļ­āļ›āđƒāļŦāļĄāđˆ)
📌āļˆāļļāļ”āđ€āļ”āđˆāļ™āļ‚āļ­āļ‡ Appium
✅Cross-platform: āļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Android āđāļĨāļ° iOS āļ”āđ‰āļ§āļĒāđ‚āļ„āđ‰āļ”āđ€āļ”āļĩāļĒāļ§āļāļąāļ™
✅āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāļ āļēāļĐāļē: āđƒāļŠāđ‰āđ„āļ”āđ‰āļāļąāļš Python, Java, JavaScript, C#, Ruby āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™
✅Open-source: āđƒāļŠāđ‰āļ‡āļēāļ™āļŸāļĢāļĩāđāļĨāļ°āļĄāļĩāļŠāļļāļĄāļŠāļ™āļ™āļąāļāļžāļąāļ’āļ™āļēāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ
✅āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļāđ‰āđ„āļ‚āđāļ­āļ›āļ•āđ‰āļ™āļ‰āļšāļąāļš: āđƒāļŠāđ‰āļ‡āļēāļ™āļāļąāļšāđāļ­āļ›āļˆāļĢāļīāļ‡ (.apk, .ipa) āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩ
APPIUM
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĄāļ·āļ­āļ–āļ·āļ­āļ”āđ‰āļ§āļĒ Appium āļŠāđˆāļ§āļĒāđƒāļŦāđ‰ QA Engineer āđāļĨāļ°
Developer āļŠāļēāļĄāļēāļĢāļ–
✅āļ—āļ”āļŠāļ­āļš UI āđāļĨāļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ­āļ› āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
✅āļ—āļģ Regression Testing āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§
✅āļĨāļ” Human Error āļˆāļēāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Manual
✅āļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļšāļ™ āļŦāļĨāļēāļĒāļ­āļļāļ›āļāļĢāļ“āđŒāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ (Parallel Testing)
✅āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš CI/CD (āđ€āļŠāđˆāļ™ Jenkins, GitHub Actions) āđ„āļ”āđ‰
āļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡ APPIUM
📌Appium āđ€āļŦāļĄāļēāļ°āļāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ›āļĢāļ°āđ€āļ āļ—āļ•āđˆāļēāļ‡ āđ† āđ„āļ”āđ‰āđāļāđˆ
Functional Testing: āļ—āļ”āļŠāļ­āļšāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļ­āļ›
UI Testing: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI
End-to-End Testing: āļ—āļ”āļŠāļ­āļšāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰
Performance Testing: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļšāļ™
āļŦāļĨāļēāļĒāļ­āļļāļ›āļāļĢāļ“āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
Appium āđƒāļŠāđ‰ WebDriver Protocol (JSON Wire Protocol) āđ€āļžāļ·āđˆāļ­āļ„āļ§āļšāļ„āļļāļĄāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ Android āđāļĨāļ° iOS āđ‚āļ”āļĒ
āļ­āļēāļĻāļąāļĒ Appium Server āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļāļĨāļēāļ‡
📌āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Appium
Appium Client
1.
āđ€āļ‚āļĩāļĒāļ™āļŠāļ„āļĢāļīāļ›āļ•āđŒāļ—āļ”āļŠāļ­āļšāļ”āđ‰āļ§āļĒāļ āļēāļĐāļē Java, Python, JavaScript āļŊāļĨāļŊ
āđƒāļŠāđ‰ Selenium WebDriver API āđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āđ„āļ›āļĒāļąāļ‡ Appium Server
Appium Server
2.
āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļāļĨāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ Client āđāļĨāļ°āļ­āļļāļ›āļāļĢāļ“āđŒ
āđƒāļŠāđ‰ WebDriver Protocol āļŠāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āđ„āļ›āļĒāļąāļ‡ Emulator/Device
Appium Driver
3.
āļŠāļģāļŦāļĢāļąāļš Android: āđƒāļŠāđ‰ UiAutomator2 āļŦāļĢāļ·āļ­ Espresso
āļŠāļģāļŦāļĢāļąāļš iOS: āđƒāļŠāđ‰ XCUITest
Android Emulator / iOS Simulator / Physical Device
4.
Appium āļˆāļ°āļ„āļ§āļšāļ„āļļāļĄāđāļ­āļ›āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­ Emulator/Simulator
āļŦāļĨāļąāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŦāļĨāļąāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™
https://mobikul.com/how-appium-architecture-works/
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
$ npm install -g appium
āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Appium Server
$ MSYS_NO_PATHCONV=1 appium --base-path="/wd/hub" --allow-cors
āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āđ€āļĢāļīāđˆāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļšāļ™ Appium Server
** āļŠāļģāļŦāļĢāļąāļš MacOS āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļ MSYS_NO_PATHCONV=1
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ DRIVERS
āļŦāļēāļāļ›āļĢāļēāļĻāļˆāļēāļ Drivers āđāļĨāđ‰āļ§ Appium āļˆāļ°āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļ”āļŠāļ­āļš Android āđ„āļ”āđ‰āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡
āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Driver āļŠāļ·āđˆāļ­āļ§āđˆāļē UiAutomator2 āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Driver āļŠāļ·āđˆāļ­āļ§āđˆāļē XCUITest āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš iOS
$ appium driver install uiautomator2
$ appium driver install xcuitest
āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ appium driver list --installed āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ Drivers āļ—āļĩāđˆāļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āđāļĨāđ‰āļ§
Babel Coder
Babel Coder
https://www.babelcoder.com
APPIUM INSPECTOR
Appium Inspector āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ GUI āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– āļŠāļģāļĢāļ§āļˆ UI āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļŦāļĢāļ·āļ­āļ­āļĩāļĄāļđāđ€āļĨāđ€āļ•āļ­āļĢāđŒ āļ‹āļķāđˆāļ‡āđƒāļŠāđ‰
āļĢāđˆāļ§āļĄāļāļąāļš Appium Server āđ€āļžāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš UI Elements (XPath, ID, Class, Text āļŊāļĨāļŊ) āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āđƒāļ™
āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļŠāļ„āļĢāļīāļ›āļ•āđŒāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ
ðŸ”đāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļ
āļ„āđ‰āļ™āļŦāļē UI Elements āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ”āļē XPath āđ€āļ­āļ‡
āļŠāđˆāļ§āļĒāļŠāļĢāđ‰āļēāļ‡ āļ„āļģāļŠāļąāđˆāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (Automation Code) āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩ
āļŠāđˆāļ§āļĒāđƒāļ™āļāļēāļĢ Debugging āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ‚āļ­āļ‡āđāļ­āļ›
āļĨāļ” Human Error āļˆāļēāļāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Locator āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļ­āļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
$ appium plugin install --source=npm appium-inspector-plugin
āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Appium Inspector
$ MSYS_NO_PATHCONV=1 appium --base-path="/wd/hub" --use-plugins=inspector --allow-cors
āļŦāļĒāļļāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ”āļīāļĄāļ‚āļ­āļ‡ Appium Server āđāļĨāđ‰āļ§āļˆāļķāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāļĄāđˆāđ€āļžāļ·āđˆāļ­āđ€āļĢāļīāđˆāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡
** āļŠāļģāļŦāļĢāļąāļš MacOS āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļ MSYS_NO_PATHCONV=1
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļœāđˆāļēāļ™āđ€āļ§āđ‡āļšāđ‚āļ”āļĒāđ„āļ›āļĒāļąāļ‡ URL āļ„āļ·āļ­
http://localhost:4723/inspector
āļ—āļģāļāļēāļĢāļĢāļ°āļšāļļāļ„āđˆāļēāļ‚āļ­āļ‡ Capability āļ•āđˆāļēāļ‡ āđ† āđƒāļŦāđ‰āļ„āļĢāļšāļ–āđ‰āļ§āļ™
āļˆāļēāļāļ™āļąāđ‰āļ™āļˆāļķāļ‡āļāļ”āļ›āļļāđˆāļĄ Start Session
Babel Coder
Babel Coder
https://www.babelcoder.com
iOS
āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Android
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
MOBILE TESTING
āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ§āđˆāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āļšāļ™
āļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļ—āļĩāđˆāļ•āđˆāļēāļ‡ āđ† āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰ Appium āļĢāđˆāļ§āļĄāļāļąāļš Robot Framework āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ›āđ‡āļ™āđ„āļ›āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļ‡āđˆāļēāļĒāļ”āļēāļĒ
āļĄāļēāļāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāļĄāļĩ Keywords āļŠāļģāļ„āļąāļāļ”āļąāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰
Open Application
Close Application
āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āļ”āđ‰āļ§āļĒāļāļēāļĢāđƒāļŠāđ‰ Locators āļ›āļĢāļ°āđ€āļ āļ—āļ•āđˆāļēāļ‡ āđ† āđ„āļ”āđ‰āđāļāđˆ accessibility_id, id, xpath, android, ios
Element Should Be Visible
Wait Until Element Is Visible
Get Element Size
Get Element Location
Click Element
Input Text āđāļĨāļ° Hide Keyboard
Swipe
āđāļĨāļ°āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒ Switch Application
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđ€āļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđāļĢāļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ—āļģāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ Open Application āđ€āļžāļ·āđˆāļ­āđ€āļ›āļīāļ”
āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
OPEN APPLICATION
Arguments āļŦāļĨāļąāļ
remote_url: URL āļ‚āļ­āļ‡ Appium Server (āđ€āļŠāđˆāļ™ http://localhost:4723/wd/hub)
1.
platformName: āļŠāļ·āđˆāļ­āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ (āđ€āļŠāđˆāļ™ Android āļŦāļĢāļ·āļ­ iOS)
2.
deviceName: āļŠāļ·āđˆāļ­āļ­āļļāļ›āļāļĢāļ“āđŒāļŦāļĢāļ·āļ­ Emulator (āđ€āļŠāđˆāļ™ emulator-5554 āļŦāļĢāļ·āļ­ iPhone 13)
3.
app: āļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ APK āļŦāļĢāļ·āļ­ IPA āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāļ°āđ€āļ›āļīāļ” (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđƒāļŦāļĄāđˆ)
4.
appPackage: āļŠāļ·āđˆāļ­āđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ)
5.
appActivity: āļŠāļ·āđˆāļ­ Activity āļŦāļĨāļąāļāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ)
6.
Babel Coder
Babel Coder
https://www.babelcoder.com
OPEN APPLICATION
Arguments āļ­āļ·āđˆāļ™ āđ† āļ—āļĩāđˆāđƒāļŠāđ‰āļšāđˆāļ­āļĒ:
automationName: āļŠāļ·āđˆāļ­ Automation Engine (āđ€āļŠāđˆāļ™ UiAutomator2 āļŠāļģāļŦāļĢāļąāļš Android āļŦāļĢāļ·āļ­ XCUITest āļŠāļģāļŦāļĢāļąāļš
iOS)
platformVersion: āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ (āđ€āļŠāđˆāļ™ 11.0 āļŠāļģāļŦāļĢāļąāļš Android āļŦāļĢāļ·āļ­ 15.0 āļŠāļģāļŦāļĢāļąāļš iOS)
noReset: āđ„āļĄāđˆāļĢāļĩāđ€āļ‹āđ‡āļ•āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļāđˆāļ­āļ™āđ€āļ›āļīāļ” (āļ„āđˆāļēāđ€āļ›āđ‡āļ™ true āļŦāļĢāļ·āļ­ false)
fullReset: āļĢāļĩāđ€āļ‹āđ‡āļ•āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđāļĨāļ°āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļāđˆāļ­āļ™āđ€āļ›āļīāļ” (āļ„āđˆāļēāđ€āļ›āđ‡āļ™ true āļŦāļĢāļ·āļ­ false)
udid: UDID āļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒ (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļŦāļĨāļēāļĒāļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­)
newCommandTimeout: āđ€āļ§āļĨāļēāļĢāļ­āļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāļĄāđˆ (āļŦāļ™āđˆāļ§āļĒāđ€āļ›āđ‡āļ™āļ§āļīāļ™āļēāļ—āļĩ)
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰ appPackage āđāļĨāļ° appActivity (āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§
āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ āđ€āļŠāđˆāļ™ Calculator)
EXAMPLE 1
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
remote_url: http://localhost:4723/wd/hub (Appium
Server)
platformName: Android (āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ Android)
deviceName: emulator-5554 (āļŠāļ·āđˆāļ­ Emulator)
appPackage: com.android.calculator2 (āļŠāļ·āđˆāļ­āđāļžāđ‡āļāđ€āļāļˆ
āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Calculator)
appActivity: com.android.calculator2.Calculator
(āļŠāļ·āđˆāļ­ Activity āļŦāļĨāļąāļāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Calculator)
Babel Coder
Babel Coder
https://www.babelcoder.com
āđƒāļŠāđ‰ app (āļĢāļ°āļšāļļāļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ APK)
EXAMPLE 2
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
remote_url: http://localhost:4723/wd/hub (Appium
Server)
platformName: Android (āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ Android)
deviceName: emulator-5554 (āļŠāļ·āđˆāļ­ Emulator)
app: ${CURDIR}/calculator.apk (āļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ APK āļ—āļĩāđˆ
āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāļ°āđ€āļ›āļīāļ”)
Babel Coder
Babel Coder
https://www.babelcoder.com
āļŦāļĨāļąāļ‡āļˆāļēāļāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļĢāļēāļ„āļ§āļĢāļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Close Application
CLOSE APPLICATION
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđƒāļ™ Mobile Application āļŠāļēāļĄāļēāļĢāļ–
āļ—āļģāđ„āļ”āđ‰āļŦāļĨāļēāļĒāļ§āļīāļ˜āļĩ āđ‚āļ”āļĒāđƒāļŠāđ‰ Locators āļ›āļĢāļ°āđ€āļ āļ—āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™
accessibility_id, id, xpath, android, chain āļ‹āļķāđˆāļ‡
āđāļ•āđˆāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāļ°āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ—āļĩāđˆāđāļ•āļ
āļ•āđˆāļēāļ‡āļāļąāļ™
LOCATORS
Babel Coder
Babel Coder
https://www.babelcoder.com
accessibility_id āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ‚āļ”āļĒ
āļ­āļīāļ‡āļˆāļēāļāļ„āđˆāļē content-desc (āļšāļ™ Android) āļŦāļĢāļ·āļ­
accessibilityIdentifier (āļšāļ™ iOS) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰
āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļšāļāļžāļĢāđˆāļ­āļ‡āļ—āļēāļ‡āļāļēāļĢāļĄāļ­āļ‡āđ€āļŦāđ‡āļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰
āļŠāļ°āļ”āļ§āļāļ‚āļķāđ‰āļ™
ACCESSIBILITY_ID
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
accessibility_id=login_button āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē
Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē content-desc āļŦāļĢāļ·āļ­
accessibilityIdentifier āđ€āļ›āđ‡āļ™ login_button
āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī content-
desc āļŦāļĢāļ·āļ­ accessibilityIdentifier āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰
Babel Coder
Babel Coder
https://www.babelcoder.com
ACCESSIBILITY_ID
Babel Coder
Babel Coder
https://www.babelcoder.com
ID
id āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāļ„āđˆāļē
resource-id (āļšāļ™ Android) āļŦāļĢāļ·āļ­ name (āļšāļ™ iOS) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āđˆāļē
āđ€āļ‰āļžāļēāļ°āļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļ°āļšāļļ Element āđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
id=com.example.app:id/login_button āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢ
āļ„āđ‰āļ™āļŦāļē Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē resource-id āđ€āļ›āđ‡āļ™
com.example.app:id/login_button (āļšāļ™ Android)
āļŦāļĢāļ·āļ­ name āđ€āļ›āđ‡āļ™ login_button (āļšāļ™ iOS)
resource-id āļĄāļąāļāđƒāļŠāđ‰āđƒāļ™ Android āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļ Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē
ID āđ€āļ‰āļžāļēāļ°
name āļĄāļąāļāđƒāļŠāđ‰āđƒāļ™ iOS āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļ Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē Name āđ€āļ‰āļžāļēāļ°
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH
xpath āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļ
āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡ XML āļŦāļĢāļ·āļ­ UI Hierarchy āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Element āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĨāļ°āđ€āļ­āļĩāļĒāļ”
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
xpath=//android.widget.Button[@text='Login']
āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē Element āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļļāđˆāļĄ (Button) āđāļĨāļ°āļĄāļĩ
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (text) āđ€āļ›āđ‡āļ™ Login
xpath āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Element āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡
āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡ UI
āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļĢāļ“āļĩāļ—āļĩāđˆ Element āđ„āļĄāđˆāļĄāļĩ id āļŦāļĢāļ·āļ­ accessibility_id
āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
XPATH
Babel Coder
Babel Coder
https://www.babelcoder.com
ANDROID
android āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āļšāļ™
Android āđ‚āļ”āļĒāđƒāļŠāđ‰ UiSelector āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āļĨāļēāļŠāđƒāļ™ Android SDK āļ—āļĩāđˆ
āļŠāđˆāļ§āļĒāļĢāļ°āļšāļļ Element āļ•āļēāļĄāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ text, resourceId,
className āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
android=UiSelector().text("Login") āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē
Element āļ—āļĩāđˆāļĄāļĩāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (text) āđ€āļ›āđ‡āļ™ Login āļšāļ™ Android
UiSelector āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ Element āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĨāļ°āđ€āļ­āļĩāļĒāļ”
āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ•āđˆāļēāļ‡ āđ† āļ‚āļ­āļ‡ Element
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
ANDROID
Babel Coder
Babel Coder
https://www.babelcoder.com
iOS
CHAIN
Chain Locator āđ€āļ›āđ‡āļ™āļāļēāļĢāļĢāļ§āļĄ Locator āļŦāļĨāļēāļĒ āđ† āļ•āļąāļ§āđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™
āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļŦāļĢāļ·āļ­āļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ‰āļžāļēāļ° āđ‚āļ”āļĒāđƒāļŠāđ‰
āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ && āļŦāļĢāļ·āļ­ || āđ€āļžāļ·āđˆāļ­āđ€āļŠāļ·āđˆāļ­āļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ•āđˆāļēāļ‡ āđ† āđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
iOS
CHAIN
Babel Coder
Babel Coder
https://www.babelcoder.com
iOS
PREDICATE
Predicate Locator āđ€āļ›āđ‡āļ™āļāļēāļĢāļĢāļ°āļšāļļāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI āđ‚āļ”āļĒāđƒāļŠāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļēāļ‡āļ•āļĢāļĢāļāļ° (predicate) āļ‹āļķāđˆāļ‡āļĄāļąāļāđƒāļŠāđ‰
āļāļąāļšāđāļ­āļ› iOS āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ€āļ‰āļžāļēāļ° āđ€āļŠāđˆāļ™ name, label, value, enabled,
āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
Babel Coder
Babel Coder
https://www.babelcoder.com
iOS
PREDICATE
Babel Coder
Babel Coder
https://www.babelcoder.com
ELEMENT SHOULD BE VISIBLE
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Element āļ™āļąāđ‰āļ™āļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
Babel Coder
Babel Coder
https://www.babelcoder.com
WAIT UNTIL ELEMENT IS VISIBLE
āļĢāļ­āļˆāļ™āļāļ§āđˆāļē Element āļˆāļ°āļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­ āđ€āļŠāđˆāļ™ āļāļĢāļ“āļĩāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļāļ”āļ›āļļāđˆāļĄāđāļĨāđ‰āļ§āļˆāļ°āļĄāļĩ Dialog āđ‚āļœāļĨāđˆāļ‚āļķāđ‰āļ™āļĄāļē āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ Dialog āđ„āļĄāđˆāđ€āļ„āļĒāļ›āļĢāļēāļāļŽāļšāļ™
āļŦāļ™āđ‰āļēāļˆāļ­āļĄāļēāļāđˆāļ­āļ™ āđ€āļĢāļēāļˆāļķāļ‡āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļāļąāļš Dialog āđ‚āļ”āļĒāļ•āļĢāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰ āļˆāļ°āļ•āđ‰āļ­āļ‡āļĢāļ­āļˆāļ™āļāļ§āđˆāļē Dialog āļˆāļ°āļ›āļĢāļēāļāļŽāļœāđˆāļēāļ™ Wait Until Element Is
Visible āļāđˆāļ­āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
āļĢāļąāļšāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡ Element āļ§āđˆāļēāļāļ§āđ‰āļēāļ‡āđāļĨāļ°āļŠāļđāļ‡āđ€āļ—āđˆāļēāđ„āļĢ
GET ELEMENT SIZE
width: āļ„āļ§āļēāļĄāļāļ§āđ‰āļēāļ‡āļ‚āļ­āļ‡ Element āđƒāļ™āļŦāļ™āđˆāļ§āļĒ
āļžāļīāļāđ€āļ‹āļĨ
height: āļ„āļ§āļēāļĄāļŠāļđāļ‡āļ‚āļ­āļ‡ Element āđƒāļ™āļŦāļ™āđˆāļ§āļĒ
āļžāļīāļāđ€āļ‹āļĨ
āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ Element āļĄāļĩāļ‚āļ™āļēāļ”āļāļ§āđ‰āļēāļ‡ 200
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ°āļŠāļđāļ‡ 50 āļžāļīāļāđ€āļ‹āļĨ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āļĢāļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Element āđƒāļ™āļžāļīāļāļąāļ” x āđāļĨāļ° y
GET ELEMENT LOCATION
x: āļ•āļģāđāļŦāļ™āđˆāļ‡āđāļāļ™ X āļ‚āļ­āļ‡ Element āđ‚āļ”āļĒāļ§āļąāļ”āļˆāļēāļ
āļ‚āļ­āļšāļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­
y: āļ•āļģāđāļŦāļ™āđˆāļ‡āđāļāļ™ Y āļ‚āļ­āļ‡ Element āđ‚āļ”āļĒāļ§āļąāļ”āļˆāļēāļ
āļ‚āļ­āļšāļ”āđ‰āļēāļ™āļšāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­
āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ Element āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 100
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 300 āļžāļīāļāđ€āļ‹āļĨ
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ„āļĨāļīāļāļ—āļĩāđˆ Element
CLICK ELEMENT
Babel Coder
Babel Coder
https://www.babelcoder.com
āļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĨāļ‡āđƒāļ™ Element āļ”āđ‰āļ§āļĒ Input Text
INPUT TEXT āđāļĨāļ° HIDE KEYBOARD
āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļēāļĄāļēāļĢāļ–āļŠāļąāđˆāļ‡āļ‹āđˆāļ­āļ™āļ„āļĩāļĒāđŒāļšāļ­āļĢāđŒāđ„āļ”āđ‰āļœāđˆāļēāļ™ Hide Keyborad
Babel Coder
Babel Coder
https://www.babelcoder.com
EXAMPLE
Babel Coder
Babel Coder
https://www.babelcoder.com
āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­ (Swipe) āđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļ„āļģāļŠāļąāđˆāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™
āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āđ€āļžāļ·āđˆāļ­āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļ‚āļķāđ‰āļ™āļĨāļ‡
āļ‹āđ‰āļēāļĒāļ‚āļ§āļē āļŦāļĢāļ·āļ­āđƒāļ™āļ—āļīāļĻāļ—āļēāļ‡āļ•āđˆāļēāļ‡ āđ† āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Swipe āđƒāļ™ Robot
Framework āļœāđˆāļēāļ™ Appium āļĄāļĩāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡
Arguments āđāļ•āđˆāļĨāļ°āļ•āļąāļ§ āļ”āļąāļ‡āļ™āļĩāđ‰
SWIPE
start_x: āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļšāļ™āđāļāļ™ X (āļžāļīāļāđ€āļ‹āļĨ)
start_y: āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļšāļ™āđāļāļ™ Y (āļžāļīāļāđ€āļ‹āļĨ)
offset_x: āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļ™āđāļāļ™ X (āļžāļīāļāđ€āļ‹āļĨ)
offset_y: āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļ™āđāļāļ™ Y (āļžāļīāļāđ€āļ‹āļĨ)
duration: āđ€āļ§āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™ (āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ)
Arguments
Babel Coder
Babel Coder
https://www.babelcoder.com
SWIPE
start_x=500, start_y=1500: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 1500 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­)
offset_x=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ X
offset_y=-1000: āđ€āļĨāļ·āđˆāļ­āļ™āļ‚āļķāđ‰āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ Y āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 1000 āļžāļīāļāđ€āļ‹āļĨ
duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™
āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļĨāđˆāļēāļ‡āļ‚āļķāđ‰āļ™āļšāļ™ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
SWIPE
start_x=500, start_y=500: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 500 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļšāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­)
offset_x=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ X
offset_y=1000: āđ€āļĨāļ·āđˆāļ­āļ™āļĨāļ‡āđƒāļ™āđāļ™āļ§āđāļāļ™ Y āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 1000 āļžāļīāļāđ€āļ‹āļĨ
duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™
āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļšāļ™āļĨāļ‡āļĨāđˆāļēāļ‡ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
SWIPE
start_x=100, start_y=800: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 100
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 800 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­)
offset_x=800: āđ€āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļ—āļēāļ‡āļ‚āļ§āļēāđƒāļ™āđāļ™āļ§āđāļāļ™ X āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 800 āļžāļīāļāđ€āļ‹āļĨ
offset_y=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ Y
duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™
āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļ‹āđ‰āļēāļĒāđ„āļ›āļ‚āļ§āļē āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
SWIPE
start_x=900, start_y=800: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 900
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 800 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļ‚āļ§āļēāļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­)
offset_x=-800: āđ€āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļ—āļēāļ‡āļ‹āđ‰āļēāļĒāđƒāļ™āđāļ™āļ§āđāļāļ™ X āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 800
āļžāļīāļāđ€āļ‹āļĨ
offset_y=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ Y
duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™
āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļ‚āļ§āļēāđ„āļ›āļ‹āđ‰āļēāļĒ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
Babel Coder
Babel Coder
https://www.babelcoder.com
SWIPE
āđƒāļ™āļāļĢāļ“āļĩāļ‚āļ­āļ‡ Android āļ„āđˆāļē Offset (offset_x, offset_y) āđ„āļĄāđˆāđ„āļ”āđ‰āļŦāļĄāļēāļĒāļ–āļķāļ‡āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āđāļ•āđˆāđƒāļŦāđ‰āļ–āļ·āļ­āļ§āđˆāļēāđ€āļ›āđ‡āļ™ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĨāļēāļĒ
āļ—āļēāļ‡ (destination points) āđ‚āļ”āļĒāļ•āļĢāļ‡ āļ‹āļķāđˆāļ‡āļ•āđˆāļēāļ‡āļˆāļēāļāļāļĢāļ“āļĩāļ‚āļ­āļ‡ iOS āļ—āļĩāđˆ offset_x āđāļĨāļ° offset_y āļŦāļĄāļēāļĒāļ–āļķāļ‡āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™
start_x=500, start_y=800: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 800 āļžāļīāļāđ€āļ‹āļĨ
offset_x=500, offset_y=500: āđ€āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļĒāļąāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500
āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 500 āļžāļīāļāđ€āļ‹āļĨ āļŠāļģāļŦāļĢāļąāļš Android āđƒāļŦāđ‰āļ–āļ·āļ­āļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ•āļģāđāļŦāļ™āđˆāļ‡
āļ›āļĨāļēāļĒāļ—āļēāļ‡
duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™
Babel Coder
Babel Coder
https://www.babelcoder.com
SWITCH APPLICATION
āļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (Switch Application) āđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡
āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒ āđ† āļ•āļąāļ§āđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļąāļāđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĢāļ­āļ‡ āļŦāļĢāļ·āļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢ
āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ•āļąāļ§
āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™: āđ€āļŠāđˆāļ™ āļāļēāļĢ
āļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļąāļāđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĢāļ­āļ‡ āđ€āļžāļ·āđˆāļ­
āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āļŠāļ–āļēāļ™āļ°āļ•āđˆāļēāļ‡ āđ† āļĒāļąāļ‡āļ„āļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
1.
āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Deep Linking: āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļ›āļīāļ”
āļĨāļīāļ‡āļāđŒāļˆāļēāļāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļ™āļķāđˆāļ‡āđ„āļ›āļĒāļąāļ‡āļ­āļĩāļāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļ™āļķāđˆāļ‡
2.
āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ•āļąāļ§: āđ€āļŠāđˆāļ™
āļāļēāļĢāļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļāļēāļĢāļ—āļģāļ‡āļēāļ™
āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļĒāļąāļ‡āļ„āļ‡āđ€āļŠāļ–āļĩāļĒāļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ
3.
āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒ Robot Framework āļœāđˆāļēāļ™
AppiumLibrary āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ Switch Application āđ€āļžāļ·āđˆāļ­āļŠāļĨāļąāļš
āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāđ€āļ›āļīāļ”āđ„āļ§āđ‰ āđ‚āļ”āļĒāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĄāļĩāļ”āļąāļ‡āļ™āļĩāđ‰
āđ€āļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđāļĢāļāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Open Application
1.
āđ€āļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļŠāļ­āļ‡āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Open Application
2.
āļŠāļĨāļąāļšāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđāļĢāļāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Switch Application
3.
āļŠāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļŠāļ­āļ‡āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Switch Application
4.
āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
5.
Babel Coder
Babel Coder
https://www.babelcoder.com
SWITCH APPLICATION

More Related Content

Similar to Robot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdf (7)

Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
NuttavutThongjor1
 
Java Programming [1/12] : Introduction
Java Programming [1/12] : IntroductionJava Programming [1/12] : Introduction
Java Programming [1/12] : Introduction
IMC Institute
 
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
NuttavutThongjor1
 
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
NuttavutThongjor1
 
āļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal access
āļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal accessāļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal access
āļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal access
jeabjeabloei
 
Python Programming for Lecturer_RUS_Nonthaburi 17may2019
Python Programming for Lecturer_RUS_Nonthaburi 17may2019Python Programming for Lecturer_RUS_Nonthaburi 17may2019
Python Programming for Lecturer_RUS_Nonthaburi 17may2019
Asst.Prof.Dr.Arnut Ruttanatirakul
 
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdfNest.js RESTful API development.pdf
Nest.js RESTful API development.pdfNest.js RESTful API development.pdf
NuttavutThongjor1
 
Java Programming [1/12] : Introduction
Java Programming [1/12] : IntroductionJava Programming [1/12] : Introduction
Java Programming [1/12] : Introduction
IMC Institute
 
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
Nest.js Microservices.pdfNest.js Microservices.pdfNest.js Microservices.pdfNe...
NuttavutThongjor1
 
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
Intro to Modern DevOps.pdfIntro to Modern DevOps.pdfIntro to Modern DevOps.pdf
NuttavutThongjor1
 
āļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal access
āļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal accessāļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal access
āļ‡āļēāļ™āļ™āļģāđ€āļŠāļ™āļ­Universal access
jeabjeabloei
 
Python Programming for Lecturer_RUS_Nonthaburi 17may2019
Python Programming for Lecturer_RUS_Nonthaburi 17may2019Python Programming for Lecturer_RUS_Nonthaburi 17may2019
Python Programming for Lecturer_RUS_Nonthaburi 17may2019
Asst.Prof.Dr.Arnut Ruttanatirakul
 

Robot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdfRobot Framework.pdf

  • 1. AUTOMATED TESTING WITH ROBOT FRAMEWORK Babel Coder https://www.babelcoder.com
  • 3. Babel Coder BABEL CODER Nuttavut T https://www.babelcoder.com Babel Coder https://www.babelcoder.com
  • 5. QA / TESTER Babel Coder Babel Coder https://www.babelcoder.com
  • 9. CI / CD Babel Coder Babel Coder https://www.babelcoder.com
  • 11. WAI AREA Babel Coder Babel Coder https://www.babelcoder.com
  • 13. MODERN SOFTWARE ARCHITECTURE āđƒāļ™āļĒāļļāļ„āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ„āļ›āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļāļēāļĢāļ­āļ­āļāđāļšāļšāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļšāļ™āļŦāļĨāļēāļĒ āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāļĄāļąāļāđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™ 3 āļŠāđˆāļ§āļ™āļŦāļĨāļąāļ āļ”āļąāļ‡āļ™āļĩāđ‰ Mobile Application āļĨāļąāļāļĐāļ“āļ°: āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļ—āļĩāđˆ āđ€āļŠāđˆāļ™ āļŠāļĄāļēāļĢāđŒāļ—āđ‚āļŸāļ™āđāļĨāļ°āđāļ—āđ‡āļšāđ€āļĨāđ‡āļ• āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ: āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđ€āļŠāđˆāļ™ Flutter, React Native, Swift (iOS), āđāļĨāļ° Kotlin (Android) āļŦāļ™āđ‰āļēāļ—āļĩāđˆ: āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļœāļđāđ‰āđƒāļŠāđ‰āļœāđˆāļēāļ™āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāļŠāļģāļŦāļĢāļąāļšāļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļ—āļĩāđˆ Web Application āļĨāļąāļāļĐāļ“āļ°: āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™āđ€āļ§āđ‡āļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ: āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđ€āļŠāđˆāļ™ React, Angular, Vue.js (Frontend) āđāļĨāļ° Node.js, Django, Spring Boot (Backend) āļŦāļ™āđ‰āļēāļ—āļĩāđˆ: āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļœāļđāđ‰āđƒāļŠāđ‰āļœāđˆāļēāļ™āđ€āļ§āđ‡āļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ āđ‚āļ”āļĒāļĄāļĩāļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­āļ‚āļ™āļēāļ”āļ•āđˆāļēāļ‡ āđ† API Application āļĨāļąāļāļĐāļ“āļ°: āļŠāđˆāļ§āļ™āļ—āļĩāđˆāđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āļˆāļēāļ Mobile Application āđāļĨāļ° Web Application āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ: āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđ€āļŠāđˆāļ™ RESTful API, GraphQL, gRPC āļŦāļ™āđ‰āļēāļ—āļĩāđˆ: āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđāļāđˆ Mobile Application āđāļĨāļ° Web Application Babel Coder Babel Coder https://www.babelcoder.com
  • 14. Babel Coder Babel Coder https://www.babelcoder.com MODERN SOFTWARE ARCHITECTURE āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāđ‚āļĒāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāđˆāļ§āļ™āļ•āđˆāļēāļ‡ āđ† Mobile Application āđāļĨāļ° API Mobile Application āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­ āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ API āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āđāļĨāļ°āļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ Mobile Application Web Application āđāļĨāļ° API Web Application āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­ āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ API āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āđāļĨāļ°āļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ Web Application API āđāļĨāļ°āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ API āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āļšāļąāļ™āļ—āļķāļāļ‚āđ‰āļ­āļĄāļđāļĨ āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļŠāđˆāļ‡āļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ API
  • 15. SOFTWARE TESTING Software Testing āļ„āļ·āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ°āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ–āļđāļāļ•āđ‰āļ­āļ‡āļ•āļēāļĄāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđāļĨāļ°āļ›āļĢāļēāļĻāļˆāļēāļāļ‚āđ‰āļ­ āļœāļīāļ”āļžāļĨāļēāļ” (Bugs) āđ‚āļ”āļĒāđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļŠāļģāļ„āļąāļāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđ€āļžāļīāđˆāļĄāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āļĨāļ”āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡ āđāļĨāļ°āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āđƒāļŦāđ‰ āļ”āļĩāļĒāļīāđˆāļ‡āļ‚āļķāđ‰āļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāļŦāļĨāļąāļāļ”āļąāļ‡āļ™āļĩāđ‰ āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡ (Verification): āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ•āļĢāļ§āļˆāļˆāļąāļšāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” (Bug Detection): āļ„āđ‰āļ™āļŦāļēāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļŦāļĢāļ·āļ­āļšāļąāđŠāļāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļžāļąāļ’āļ™āļē āđ€āļžāļīāđˆāļĄāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ (Quality Assurance): āļ—āļģāđƒāļŦāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāļ„āļ§āļēāļĄāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļēāļšāļĢāļ·āđˆāļ™ āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ (User Experience Improvement): āļ—āļģāđƒāļŦāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āļ›āļĨāļ­āļ”āļ āļąāļĒ āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž Babel Coder Babel Coder https://www.babelcoder.com
  • 16. āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡ SOFTWARE TESTING āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĨāļąāļ āđ† āđ„āļ”āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰ Unit Testing Unit Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļ°āļ”āļąāļšāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ€āļŠāđˆāļ™ āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ āļŦāļĢāļ·āļ­āđ‚āļĄāļ”āļđāļĨāđ€āļ”āļĩāđˆāļĒāļ§ āđ‚āļ”āļĒāļ™āļąāļāļžāļąāļ’āļ™āļēāļĄāļąāļāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļŠāđˆāļ™ JUnit (āļŠāļģāļŦāļĢāļąāļš Java), PyTest (āļŠāļģāļŦāļĢāļąāļš Python) āļŦāļĢāļ·āļ­ Jest (āļŠāļģāļŦāļĢāļąāļš JavaScript) āđ€āļžāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļš Unit Testing āļĄāļąāļāļāļĢāļ°āļ—āļģāđ‚āļ”āļĒāļ™āļąāļāļžāļąāļ’āļ™āļē Integration Testing āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ™āļĩāđ‰āđ€āļ™āđ‰āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒāļ•āđˆāļēāļ‡ āđ† āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ End-to-End Testing (E2E Testing) āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļēāļāļ•āđ‰āļ™āļ—āļēāļ‡āļ–āļķāļ‡āļ›āļĨāļēāļĒāļ—āļēāļ‡ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ•āļēāļĄāļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰ āļ„āļēāļ”āļŦāļ§āļąāļ‡ āļ‹āļķāđˆāļ‡āļĄāļąāļāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ āđ€āļŠāđˆāļ™ Playwright, Cypress āļŦāļĢāļ·āļ­ Selenium Performance Testing āļ„āļ·āļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆāļāļēāļĢāļ§āļąāļ”āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§ āļ„āļ§āļēāļĄāđ€āļŠāļ–āļĩāļĒāļĢ āđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļĢāļ°āļšāļš āđ‚āļ”āļĒāđāļšāđˆāļ‡ āļ­āļ­āļāđ€āļ›āđ‡āļ™: Load Testing – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļ°āļšāļšāđ€āļĄāļ·āđˆāļ­āļĄāļĩāļœāļđāđ‰āđƒāļŠāđ‰āļˆāļģāļ™āļ§āļ™āļĄāļēāļ Stress Testing – āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ āļēāļ§āļ°āđ‚āļŦāļĨāļ”āļŠāļđāļ‡āļŠāļļāļ” Scalability Testing – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ‚āļĒāļēāļĒāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āļĢāļ°āļšāļš Spike Testing – āļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļšāđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļžāļļāđˆāļ‡āļ‚āļķāđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ Security Testing āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļĢāļ°āļšāļšāđ„āļĄāđˆāļĄāļĩāļŠāđˆāļ­āļ‡āđ‚āļŦāļ§āđˆāļ—āļĩāđˆāļ­āļēāļˆāļ–āļđāļāđ‚āļˆāļĄāļ•āļĩ āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļˆāļēāļ°āļĢāļ°āļšāļš (Penetration Testing) Usability Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļˆāļēāļāļĄāļļāļĄāļĄāļ­āļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļˆāļĢāļīāļ‡ āđ€āļžāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ (UX/UI) Babel Coder Babel Coder https://www.babelcoder.com
  • 17. Babel Coder Babel Coder https://www.babelcoder.com UNIT TESTING āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Unit Test āļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒ āđ‚āļ”āļĒ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ™āļĩāđ‰āļĄāļąāļāļāļĢāļ°āļ—āļšāđ‚āļ”āļĒāļ™āļąāļāļžāļąāļ’āļ™āļēāļœāđˆāļēāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āđ€āļžāļ·āđˆāļ­ āļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āļ–āđ‰āļēāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ 2 āļĒāļđāļ™āļīāļ• (āļŦāļ™āđˆāļ§āļĒāļāļēāļĢ āļ—āļģāļ‡āļēāļ™) āļ„āļ·āļ­ āļāļēāļĢāļ„āļģāļ™āļ§āļ“ (āļœāđˆāļēāļ™āļāļēāļĢāļāļ”āļ›āļļāđˆāļĄāļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚) āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļœāđˆāļēāļ™āļˆāļ­āđāļŠāļ”āļ‡āļœāļĨ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Unit Testing āļ™āļĩāđ‰āļˆāļ°āļ•āđ‰āļ­āļ‡āļ—āļ”āļŠāļ­āļšāđāļĒāļāļāļąāļ™ āļ”āļąāļ‡āļ™āļĩāđ‰ āļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāđ€āļĄāļ·āđˆāļ­āļāļ”āļ›āļļāđˆāļĄāļ•āđˆāļēāļ‡ āđ† āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚āđāļĨāđ‰āļ§āđƒāļŦāđ‰ āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ (āđ‚āļ”āļĒāļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļąāļ”āđ€āļāđ‡āļšāđƒāļ™ āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ) āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāļ–āđ‰āļēāļĄāļĩāļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļāđ‡āļšāļ­āļĒāļđāđˆāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāđ‰āļ§ āļˆāļ° āļ™āļģāđ„āļ›āđāļŠāđ€āļ‡āļœāļĨāļœāđˆāļēāļ™āļˆāļ­āđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ Unit 1: āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ Unit 2: āļāļēāļĢāļ„āļģāļ™āļ§āļ“
  • 18. Babel Coder Babel Coder https://www.babelcoder.com INTEGRATION TESTING āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Integration Test āļˆāļ°āļĢāļ§āļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒ āļŦāļ™āđˆāļ§āļĒāđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļāļąāļ™ āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļīāļ”āđ€āļĨāļ‚ āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļ”āļŠāļ­āļšāđāļšāļš Integration Test āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļāļēāļĢāļĢāļ§āļĄāļŠāļ­āļ‡āļŦāļ™āđˆāļ§āļĒāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ‚āđ‰āļē āļ”āđ‰āļ§āļĒāļāļąāļ™ āđ‚āļ”āļĒāđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļāļ”āļ›āļļāđˆāļĄāđ€āļžāļ·āđˆāļ­āļ„āļģāļ™āļ§āļ“āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļˆāļ°āļ•āđ‰āļ­āļ‡āđāļŠāļ”āļ‡ āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ­āļ­āļāđ„āļ›āļĒāļąāļ‡āļŦāļ™āđ‰āļēāļˆāļ­āđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ Unit 1: āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ Unit 2: āļāļēāļĢāļ„āļģāļ™āļ§āļ“
  • 19. Babel Coder Babel Coder https://www.babelcoder.com E2E TESTING End-to-End Tests (E2E) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ§āđˆāļēāļĢāļ°āļšāļšāļ—āļģāļ‡āļēāļ™āļ–āļđāļāļ•āđ‰āļ­āļ‡āđ‚āļ”āļĒāļ—āļ”āļŠāļ­āļšāļœāđˆāļēāļ™ UI āļˆāļĢāļīāļ‡ āđ€āļŠāđˆāļ™ Selenium, Playwright āļ—āļĩāđˆāļ„āļ§āļšāļ„āļļāļĄ āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļđāļ›āđāļšāļšāļ™āļĩāđ‰āļˆāļ°āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļšāļ„āļĢāļšāļ§āļ‡āļˆāļĢāđƒāļ™āļ—āļļāļāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ„āļ›āļĒāļąāļ‡āļāļēāļ™ āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ”āđ‰āļ§āļĒāđ€āļŠāđˆāļ™āļāļąāļ™ E2E āļĄāļąāļāļĄāļĩāļ›āļąāļāļŦāļē Flakiness (āļœāļĨāļĨāļąāļžāļ˜āđŒāđ„āļĄāđˆāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­) āļˆāļēāļāļ›āļąāļˆāļˆāļąāļĒ āđ€āļŠāđˆāļ™ āđ€āļ§āļĨāļēāđ‚āļŦāļĨāļ”, āđāļ­āļ™āļīāđ€āļĄāļŠāļąāļ™ āđāļĨāļ°āļ›āđŠāļ­āļ›āļ­āļąāļ›āļ—āļĩāđˆāļ„āļēāļ” āđ„āļĄāđˆāļ–āļķāļ‡ āļ—āļģāđƒāļŦāđ‰āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ§āļĨāļēāđāļāđ‰āđ„āļ‚āđ€āļĒāļ­āļ° āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš E2E āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļŠāļģāļ„āļąāļāđ€āļžāļĢāļēāļ°āļĄāļĩāļ„āļ§āļēāļĄāđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡āļāļąāļšāļĢāļđāļ›āđāļšāļš āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”
  • 20. Babel Coder Babel Coder https://www.babelcoder.com E2E TESTING āļāļēāļĢāļ—āļ”āļŠāļ­āļš Web Application āļāļąāļš API āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒ: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Web Application āļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāļĄāļēāđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļš: āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļŠāđˆāļ™ Selenium, Cypress, āļŦāļĢāļ·āļ­ Browser Library āđƒāļ™ Robot Framework āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ API āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āļāļąāļš API āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒ: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Mobile Application āļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡ API āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļĨāļąāļšāļĄāļēāđāļŠāļ”āļ‡āļœāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļš: āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļŠāđˆāļ™ Appium, Espresso (Android), āļŦāļĢāļ·āļ­ XCTest (iOS) āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļ‚āļ­āđāļĨāļ°āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ API
  • 21. SOFTWARE TESTING TECHNIQUES āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđāļšāđˆāļ‡āđ„āļ”āđ‰āđ€āļ›āđ‡āļ™ 3 āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĨāļąāļ āđ† āļ”āļąāļ‡āļ™āļĩāđ‰ Black Box Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđ„āļĄāđˆāļ„āļģāļ™āļķāļ‡āļ–āļķāļ‡āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ āđāļ•āđˆāļˆāļ°āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āļ—āļĩāđˆāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļˆāļēāļāļĄāļļāļĄāļĄāļ­āļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ āđ‚āļ”āļĒāđƒāļŠāđ‰ āđ€āļ—āļ„āļ™āļīāļ„ āđ€āļŠāđˆāļ™ Equivalence Partitioning – āđāļšāđˆāļ‡āļ­āļīāļ™āļžāļļāļ•āļ­āļ­āļāđ€āļ›āđ‡āļ™āļāļĨāļļāđˆāļĄāļ—āļĩāđˆāļĄāļĩāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ„āļĨāđ‰āļēāļĒāļāļąāļ™ Boundary Value Analysis – āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļ­āļīāļ™āļžāļļāļ• Decision Table Testing – āđƒāļŠāđ‰āļ•āļēāļĢāļēāļ‡āđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļ‚āļ­āļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđāļĨāļ°āļœāļĨāļĨāļąāļžāļ˜āđŒ White Box Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļžāļīāļˆāļēāļĢāļ“āļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ āļēāļĒāđƒāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ‚āļ”āļĒāļĄāļąāļāđƒāļŠāđ‰āļāļąāļš Unit Testing āđāļĨāļ°āđƒāļŠāđ‰āđ€āļ—āļ„āļ™āļīāļ„ āđ€āļŠāđˆāļ™ Statement Coverage – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđāļ•āđˆāļĨāļ°āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āđ‚āļ„āđ‰āļ”āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ Branch Coverage – āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ Path Coverage – āļ—āļ”āļŠāļ­āļšāļ—āļļāļāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ” Gray Box Testing āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ Black Box āđāļĨāļ° White Box āđ‚āļ”āļĒāļœāļđāđ‰āļ—āļ”āļŠāļ­āļšāļ­āļēāļˆāļĄāļĩāļ„āļ§āļēāļĄāļĢāļđāđ‰āļšāļēāļ‡āļŠāđˆāļ§āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ āļēāļĒāđƒāļ™āļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđāļ•āđˆāļĒāļąāļ‡āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļš Babel Coder Babel Coder https://www.babelcoder.com
  • 22. Babel Coder Babel Coder https://www.babelcoder.com CHALLENGE Q: āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāļŸāļ­āļĢāđŒāļĄāļšāļ™āđ€āļ§āđ‡āļšāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļēāļĒāļļ (age) āļ—āļĩāđˆāļĢāļąāļšāļœāđˆāļēāļ™ āļŸāļ­āļĢāđŒāļĄāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ”āļ„āļ§āļĢāđ€āļ›āđ‡āļ™āļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļ—āļĩāđˆāļŠāļļāļ”āļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ āļĢāļ­āļāļ­āļēāļĒāļļāļœāđˆāļēāļ™āļŸāļ­āļĢāđŒāļĄ A1: 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 A2: -10, -1, 0, 1, 50, 99, 100, 101, 120, -2.5, 10.7
  • 23. Babel Coder Babel Coder https://www.babelcoder.com BOUNDARY TESTING Boundary Testing āđ€āļŦāļĄāļēāļ°āļāļąāļšāļĢāļ°āļšāļšāļ—āļĩāđˆāļĄāļĩāļŠāđˆāļ§āļ‡āļ„āđˆāļēāļŠāļąāļ”āđ€āļˆāļ™ āđ€āļŠāđˆāļ™ āļŸāļ­āļĢāđŒāļĄāļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ, āļĢāļ°āļšāļšāļˆāļ­āļ‡āļ•āļąāđ‹āļ§, āļĢāļ°āļšāļšāļ„āļģāļ™āļ§āļ“āđāļ•āđ‰āļĄ āļŊāļĨāļŊ āļŦāļĨāļąāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ”āļĒāļžāļīāļˆāļēāļĢāļ“āļēāļˆāļēāļāļ„āđˆāļēāļ‚āļ­āļš āđ€āļ›āđ‡āļ™āļ”āļąāļ‡āļ™āļĩāđ‰ āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ•āđˆāļģāļŠāļļāļ” (Minimum Boundary): āļ„āđˆāļēāļ—āļĩāđˆāđ€āļĨāđ‡āļāļ—āļĩāđˆāļŠāļļāļ”āļ—āļĩāđˆāļĢāļ°āļšāļšāļĒāļ­āļĄāļĢāļąāļš āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļĄāļēāļāļŠāļļāļ” (Maximum Boundary): āļ„āđˆāļēāļ—āļĩāđˆāļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”āļ—āļĩāđˆāļĢāļ°āļšāļšāļĒāļ­āļĄāļĢāļąāļš āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ•āđˆāļģāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ• (Below Minimum): āļ„āđˆāļēāļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļĄāļēāļāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ• (Above Maximum): āļ„āđˆāļēāļ—āļĩāđˆāļĄāļēāļāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļ—āļ”āļŠāļ­āļšāļ„āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•āđ€āļ‰āļĨāļĩāđˆāļĒ (Nominal Value): āļ„āđˆāļēāļāļĨāļēāļ‡āļŦāļĢāļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāđƒāļŠāđ‰āļšāđˆāļ­āļĒ ðŸ”đāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ‚āļ­āļ‡ Boundary Testing āļĨāļ”āļˆāļģāļ™āļ§āļ™ Test Cases āđāļ•āđˆāļĒāļąāļ‡āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļ„āļ§āļēāļĄāļœāļīāļ”āļžāļĨāļēāļ” āļ„āđ‰āļ™āļŦāļēāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļšāļĢāļīāđ€āļ§āļ“āļ‚āļ­āļšāđ€āļ‚āļ• āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāđāļĨāļ°āļŠāđˆāļ§āļĒāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ—āļ”āļŠāļ­āļš
  • 24. Babel Coder Babel Coder https://www.babelcoder.com TEST DATA SELECTION āļ§āļīāļ˜āļĩāđ€āļĨāļ·āļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļŠāļĄāļ„āļ§āļĢāļ—āļ”āļŠāļ­āļš āļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ‡āļ„āđˆāļēāļ—āļĩāđˆāļĢāļ°āļšāļšāļĢāļ­āļ‡āļĢāļąāļš: āđ€āļŠāđˆāļ™ āļ–āđ‰āļēāļĢāļ°āļšāļšāļĢāļąāļšāļ„āđˆāļēāļ­āļēāļĒāļļ 18-60 āļ›āļĩ āđ€āļĨāļ·āļ­āļāļ„āđˆāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ Boundary: āļ—āļ”āļŠāļ­āļšāļ„āđˆāļē 18 (āļ•āđˆāļģāļŠāļļāļ”) āđāļĨāļ° 60 (āļŠāļđāļ‡āļŠāļļāļ”) āđ€āļĨāļ·āļ­āļāļ„āđˆāļēāļ—āļĩāđˆāļœāļīāļ”āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (Invalid Data): āļ—āļ”āļŠāļ­āļšāļ„āđˆāļē 17 (āļ•āđˆāļģāļāļ§āđˆāļēāļ‚āļ­āļšāđ€āļ‚āļ•) āđāļĨāļ° 61 (āđ€āļāļīāļ™āļ‚āļ­āļšāđ€āļ‚āļ•) āđ€āļĨāļ·āļ­āļāļ„āđˆāļēāļ›āļāļ•āļīāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļŠāļĩāļ§āļīāļ•āļˆāļĢāļīāļ‡: āđ€āļŠāđˆāļ™ 25, 35, 50
  • 25. Babel Coder Babel Coder https://www.babelcoder.com TEST DATA SELECTION āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰āļ­āļēāļĒāļļāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļšāļ§āļāđāļĨāļ°āļĻāļđāļ™āļĒāđŒ āđ‚āļ”āļĒāļ­āļēāļĒāļļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļāļīāļ™ 100 āđ„āļ”āđ‰ 100 āļŠāđˆāļ§āļ‡āļ­āļēāļĒāļļ āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļ”āļŠāļ­āļš 0 -5 -1 0 1 50 99 100 101 150 āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļīāļ”āļ­āļ·āđˆāļ™ -2.5 4.5
  • 26. Babel Coder Babel Coder https://www.babelcoder.com E2E THE TEST PYRAMID Testing Pyramid āļŦāļĢāļ·āļ­ "āļžāļĩāļĢāļ°āļĄāļīāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļš" āđ€āļ›āđ‡āļ™ āđāļ™āļ§āļ„āļīāļ”āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ—āļĩāļĄāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āļ§āļēāļ‡āđāļœāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāļāļģāļŦāļ™āļ”āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™ āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ›āđ‡āļ™āļĢāļđāļ›āļžāļĩāļĢāļ°āļĄāļīāļ”āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļ°āļ”āļąāļš āļ•āđˆāļēāļ‡ āđ† āļ•āļąāđ‰āļ‡āđāļ•āđˆ Unit Testing, Integration Testing āđ„āļ› āļˆāļ™āļ–āļķāļ‡ End-to-End (E2E) Testing āđāļ™āļ§āļ„āļīāļ”āļ™āļĩāđ‰āļ–āļđāļāļ™āļģ āđ€āļŠāļ™āļ­āđ‚āļ”āļĒ Mike Cohn āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ§āļĒāļĨāļ”āđ€āļ§āļĨāļēāđāļĨāļ°āļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒāđƒāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļš āļžāļĢāđ‰āļ­āļĄāđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡ āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ Integration Unit more integration more isolation slower faster
  • 27. Babel Coder Babel Coder https://www.babelcoder.com CHALLENGE Q: āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļąāļ™āļ•āļĩāļ§āđˆāļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ‚āļ­āļ‡āđ€āļĢāļēāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļŠāļģāļ„āļąāļāļ—āļĩāđˆāļŠāļļāļ” āļˆāļķāļ‡āđ€āļ›āđ‡āļ™ Unit Testing āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒāļĒāđˆāļ­āļĒāļŦāļ™āđˆāļ§āļĒāļ•āđˆāļēāļ‡ āđ† āļˆāļķāļ‡ āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļĄāļēāļāļāļ§āđˆāļē A1: āļāļĨāđˆāļēāļ§āļ–āļđāļ A2: āļāļĨāđˆāļēāļ§āļœāļīāļ”
  • 28. Babel Coder Babel Coder https://www.babelcoder.com Kent C. Dodds āļ™āļģāđ€āļŠāļ™āļ­āđāļ™āļ§āļ„āļīāļ” "āļ–āđ‰āļ§āļĒāļĢāļēāļ‡āļ§āļąāļĨāļāļēāļĢāļ—āļ”āļŠāļ­āļš" (Testing Trophy) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļˆāļēāļāđāļ™āļ§āļ„āļīāļ” "āļžāļĩāļĢāļ°āļĄāļīāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļš" (Testing Pyramid) āđ€āļžāļ·āđˆāļ­āļŠāļ°āļ—āđ‰āļ­āļ™āļ–āļķāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāđ„āļ”āđ‰āļ”āļĩāļĒāļīāđˆāļ‡āļ‚āļķāđ‰āļ™ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡ Testing Trophy Static Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļšāļŠāļ–āļīāļ•): āļ­āļĒāļđāđˆāļ—āļĩāđˆāļāļēāļ™āļ‚āļ­āļ‡āļ–āđ‰āļ§āļĒāļĢāļēāļ‡āļ§āļąāļĨ āđ€āļ™āđ‰āļ™āļāļēāļĢ āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ‚āļ„āđ‰āļ”āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļąāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āđ€āļŠāđˆāļ™ āļāļēāļĢāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš āđ„āļ§āļĒāļēāļāļĢāļ“āđŒ (Linting) āđāļĨāļ°āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨ (Type Checking) āđ€āļžāļ·āđˆāļ­āļˆāļąāļšāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ°āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļļāļ“āļ āļēāļžāđ‚āļ„āđ‰āļ” Unit Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒ) Integration Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļĢāļ§āļĄ) End-to-End (E2E) Tests (āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļšāļ„āļĢāļšāļ§āļ‡āļˆāļĢ) THE TESTING TROPHY Kent C. Dodds
  • 29. Babel Coder Babel Coder https://www.babelcoder.com THE TESTING TROPHY Kent C. Dodds āļāļĨāđˆāļēāļ§āļ§āđˆāļē "āļĒāļīāđˆāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āļ­āļ‡āļ„āļļāļ“āđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡āļāļąāļšāļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ–āļđāļāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āļĄāļēāļāđ€āļ—āđˆāļēāđ„āļĢ āļāđ‡āļĒāļīāđˆāļ‡āļ—āļģāđƒāļŦāđ‰āļ„āļļāļ“ āļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ™āļąāđ‰āļ™āļĄāļēāļāļ‚āļķāđ‰āļ™āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™"
  • 30. Babel Coder Babel Coder https://www.babelcoder.com ROBOT FRAMEWORK Robot Framework āđ€āļ›āđ‡āļ™ Open-Source Test Automation Framework āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš Automated Testing āđƒāļ™āļŦāļĨāļēāļĒ āļ›āļĢāļ°āđ€āļ āļ— āđ€āļŠāđˆāļ™ Web, Mobile, API āđāļĨāļ° Desktop Applications āđ‚āļ”āļĒāđƒāļŠāđ‰ Keyword-Driven Testing āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ– āļ­āđˆāļēāļ™-āđ€āļ‚āļĩāļĒāļ™ Test Cases āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ âœ…āđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ: āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļ—āļąāđ‰āļ‡ QA Tester āđāļĨāļ° Developer ✅āļĨāļ”āđ€āļ§āļĨāļēāđāļĨāļ°āļ•āđ‰āļ™āļ—āļļāļ™: āļŠāđˆāļ§āļĒāļĨāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Manual ✅āļ­āđˆāļēāļ™āđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒ: Syntax āļ„āļĨāđ‰āļēāļĒāļ āļēāļĐāļēāļĄāļ™āļļāļĐāļĒāđŒ ✅āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ: āđƒāļŠāđ‰āļāļąāļš Web, Mobile, API, Database
  • 31. Babel Coder Babel Coder https://www.babelcoder.com ROBOT FRAMEWORK Robot Framework āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ āļ āļēāļĐāļē Python āđ€āļ›āđ‡āļ™āļŦāļĨāļąāļ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāļ°āđƒāļŠāđ‰āļ‡āļēāļ™ āļœāđˆāļēāļ™ Python Package āđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡ āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰āđ€āļĢāļēāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ āļēāļĐāļē Python āđ€āļžāļ·āđˆāļ­āļžāļąāļ’āļ™āļēāļ„āļ§āļēāļĄ āļŠāļēāļĄāļēāļĢāļ–āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āđƒāļŦāđ‰āļāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļšāļ™ Robot Framework āđ„āļ”āđ‰āļ­āļĩāļāļ”āđ‰āļ§āļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Python Libraries āļ—āļĩāđˆāļ™āļģāļĄāļēāđƒāļŠāđ‰āļ„āļ§āļšāļ„āļđāđˆāļāļąāļš Robot Framework AppiumLibrary: āđƒāļŠāđ‰ Python āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš Appium āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāđ‚āļĄāļšāļēāļĒāļĨāđŒāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ RequestsLibrary: āđƒāļŠāđ‰ Python āļ—āļ”āļŠāļ­āļš REST API DatabaseLibrary: āđƒāļŠāđ‰ Python āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ BrowserLibrary: āđƒāļŠāđ‰ Python āļœāđˆāļēāļ™ Playwright āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļšāļ™āđ€āļ§āđ‡āļš
  • 32. Babel Coder Babel Coder https://www.babelcoder.com RPA Framework āđ€āļ›āđ‡āļ™āļŠāļļāļ” Libraries āļŠāļģāļŦāļĢāļąāļš Robot Framework āļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­ Robotic Process Automation (RPA)** āđ‚āļ”āļĒāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ—āļģ Automation āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Web, Desktop, API, File Handling, Database, OCR, āđāļĨāļ°āļ­āļ·āđˆāļ™āđ† RPA Framework āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāļšāļ™ Robot Framework āđ‚āļ”āļĒāđ€āļžāļīāđˆāļĄāļ„āļģāļŠāļąāđˆāļ‡āđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļš RPA āđ€āļŠāđˆāļ™ âœ…āļ„āļ§āļšāļ„āļļāļĄāđ€āļ§āđ‡āļš (Web Automation) āļœāđˆāļēāļ™ Playwright ✅āļˆāļąāļ”āļāļēāļĢāđ„āļŸāļĨāđŒ (File Handling, PDF, Excel) ✅āļ„āļ§āļšāļ„āļļāļĄ Windows Apps (Desktop Automation) ✅āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāļĢāļđāļ›āļ āļēāļž (OCR & Image Processing) ✅āļ„āļ§āļšāļ„āļļāļĄāđ€āļĄāļēāļŠāđŒāđāļĨāļ°āļ„āļĩāļĒāđŒāļšāļ­āļĢāđŒāļ” (Keyboard & Mouse Control) ** Robotic Process Automation (RPA) āļ„āļ·āļ­ āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ (āļŦāļĢāļ·āļ­āļšāļ­āļ—) āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļ—āļ™ āļĄāļ™āļļāļĐāļĒāđŒāđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ—āļĩāđˆāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™ āđ‚āļ”āļĒ āļˆāļģāļĨāļ­āļ‡āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āļĄāļ™āļļāļĐāļĒāđŒ āđ€āļŠāđˆāļ™ āļāļēāļĢāļ„āļĨāļīāļāđ€āļĄāļēāļŠāđŒ āļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ āļ„āļąāļ”āļĨāļ­āļāđ„āļŸāļĨāđŒ āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ API āļŊāļĨāļŊ RPA FRAMEWORK
  • 33. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļ™āļĒāļļāļ„āļ—āļĩāđˆāļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļĩāļ„āļ§āļēāļĄāļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡ āļāļēāļĢāļ™āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđāļĨāļ°āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļĄāļēāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢ āļ—āļ”āļŠāļ­āļšāđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡ CI/CD āļĒāđˆāļ­āļĄāļēāļˆāļēāļ Continuous Integration (CI) āđāļĨāļ° Continuous Delivery/Deployment (CD) āđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™ āļāļēāļĢāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ—āļĩāļĄāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩ āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāļāļēāļĢāļĢāļ§āļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ āđ‚āļ„āđ‰āļ”āļšāđˆāļ­āļĒāļ„āļĢāļąāđ‰āļ‡ āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡ CI / CD Continuous Integration (CI) āđ€āļ›āđ‡āļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļĩāđˆāļ™āļąāļāļžāļąāļ’āļ™āļēāļĢāļ§āļĄ āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āļ•āļ™āđ€āļ­āļ‡āđ€āļ‚āđ‰āļēāļāļąāļšāđ‚āļ„āđ‰āļ”āļŦāļĨāļąāļāļšāđˆāļ­āļĒāļ„āļĢāļąāđ‰āļ‡ (āđ€āļŠāđˆāļ™ āļ—āļļāļāļ§āļąāļ™āļŦāļĢāļ·āļ­āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ āļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡) āļˆāļēāļāļ™āļąāđ‰āļ™āļĢāļ°āļšāļšāļˆāļ°āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ€āļžāļ·āđˆāļ­ āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ™āļąāđ‰āļ™āđ„āļĄāđˆāļ—āļģāđƒāļŦāđ‰āļĢāļ°āļšāļšāđ€āļŠāļĩāļĒāļŦāļēāļĒ CI āļŠāđˆāļ§āļĒāļĨāļ” āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđāļāđ‰āđ„āļ‚āļ›āļąāļāļŦāļēāļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ 1. Continuous Delivery/Deployment (CD) āļŦāļĨāļąāļ‡āļˆāļēāļāļ—āļĩāđˆāđ‚āļ„āđ‰āļ”āļœāđˆāļēāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™ CI āđāļĨāđ‰āļ§ āļ‚āļąāđ‰āļ™āļ•āļ­āļ™ CD āļˆāļ°āļ—āļģāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰ āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ„āļ›āļĒāļąāļ‡āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ—āļĩāđˆāļāļģāļŦāļ™āļ” (āđ€āļŠāđˆāļ™ āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āļ—āļ”āļŠāļ­āļšāļŦāļĢāļ·āļ­āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļœāļĨāļīāļ•) āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī Continuous Delivery āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđƒāļŦāđ‰āļžāļĢāđ‰āļ­āļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰ āļ•āļĨāļ­āļ”āđ€āļ§āļĨāļē āļŠāđˆāļ§āļ™ Continuous Deployment āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰ āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ—āļąāļ™āļ—āļĩāļ—āļĩāđˆāđ‚āļ„āđ‰āļ”āļœāđˆāļēāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš 2.
  • 34. Babel Coder Babel Coder https://www.babelcoder.com CI / CD Monitoring and Logging IaC Code push Github Test Build Register Image Deploy CI CI CI CD CD CD CaC
  • 36. SETTING UP Babel Coder Babel Coder https://www.babelcoder.com
  • 37. Babel Coder Babel Coder https://www.babelcoder.com PYTHON Python āđ€āļ›āđ‡āļ™ āļ āļēāļĐāļēāđ‚āļ›āļĢāđāļāļĢāļĄāļĄāļīāđˆāļ‡āļĢāļ°āļ”āļąāļšāļŠāļđāļ‡ āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāļ­āđˆāļēāļ™āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē Web, Data Science, AI, Automation, āđāļĨāļ° Testing Robot Framework āļ–āļđāļāđ€āļ‚āļĩāļĒāļ™āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ Python āļ—āļģāđƒāļŦāđ‰āļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Python āļāđˆāļ­āļ™āđƒāļŠāđ‰ āļ‡āļēāļ™ āđ‚āļ”āļĒāđƒāļ™āļ„āļ­āļĢāđŒāļŠāļ™āļĩāđ‰āļˆāļ°āđƒāļŠāđ‰ Python āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 3.10.5
  • 38. POETRY Babel Coder Babel Coder https://www.babelcoder.com Python āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āđāļ•āđˆāđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™ āļ­āļēāļˆāļžāļšāļ›āļąāļāļŦāļēāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰ āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļĨāļģāļšāļēāļ â€“ āļŦāļēāļāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ„āļĨāļšāļĢāļēāļĢāļĩāđ€āļŠāļĢāļīāļĄ (āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āļŦāļĢāļ·āļ­āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨ) āļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆ āļŦāļĨāļēāļĒāļ•āļąāļ§ āđāļĨāļ°āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āļĄāļĩāļ›āļąāļāļŦāļēāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļĄāđˆāđ„āļ”āđ‰ āļŠāļąāļšāļŠāļ™āļāļąāļšāļŦāļĨāļēāļĒāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ â€“ āļŦāļēāļāļĄāļĩāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļŦāļĨāļēāļĒāļ­āļąāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ•āđˆāļēāļ‡āļāļąāļ™ āļ­āļēāļˆāđ€āļāļīāļ”āļ›āļąāļāļŦāļēāļ—āļģāđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āļšāļēāļ‡āļ­āļąāļ™āļ—āļģāļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰ āļĒāđ‰āļēāļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđāļĨāđ‰āļ§āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰ – āļ–āđ‰āļēāļĒāđ‰āļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ„āļ›āļĒāļąāļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ­āļ·āđˆāļ™ āđ€āļŠāđˆāļ™ āļŠāđˆāļ‡āđƒāļŦāđ‰āđ€āļžāļ·āđˆāļ­āļ™āļĢāđˆāļ§āļĄāļ‡āļēāļ™āļŦāļĢāļ·āļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļšāļ™āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ āļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ āđāļžāđ‡āļāđ€āļāļˆāđƒāļŦāļĄāđˆāļ—āļĩāļĨāļ°āļ•āļąāļ§ āļ‹āļķāđˆāļ‡āđ€āļŠāļĩāļĒāđ€āļ§āļĨāļēāđāļĨāļ°āļĄāļĩāđ‚āļ­āļāļēāļŠāđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”
  • 39. POETRY Babel Coder Babel Coder https://www.babelcoder.com āđāļžāļāđ€āļāļˆ āļ„āļ·āļ­ āļŠāļļāļ”āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļģāđ€āļĢāļˆāļĢāļđāļ› āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļŦāđ‰āļāļąāļšāđ‚āļ›āļĢāđāļāļĢāļĄāđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āļ‚āļķāđ‰āļ™āļĄāļēāđƒāļŦāļĄāđˆāđ€āļ­āļ‡ āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ„āļīāļ”āļ§āđˆāļēāđāļžāđ‡āļāđ€āļāļˆāđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™ "āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™" āļšāļ™āļĄāļ·āļ­āļ–āļ·āļ­āđ„āļ”āđ‰ āđ€āļŠāđˆāļ™ āļ–āđ‰āļēāđ€āļĢāļēāļ­āļĒāļēāļāđāļ•āđˆāļ‡āļĢāļđāļ› â†’ āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļ­āļ›āđāļ•āđˆāļ‡āļĢāļđāļ› āļ–āđ‰āļēāđ€āļĢāļēāļ­āļĒāļēāļāđ€āļŠāđ‡āļ„āļŠāļ āļēāļžāļ­āļēāļāļēāļĻ â†’ āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļ­āļ›āļžāļĒāļēāļāļĢāļ“āđŒāļ­āļēāļāļēāļĻ āđƒāļ™ Python āđāļĨāļ° Poetry āļāđ‡āđ€āļŠāđˆāļ™āļāļąāļ™ āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļ™āđ‡āļ• â†’ āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ requests āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ•āļąāļ§āđ€āļĨāļ‚ â†’ āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ numpy āļ–āđ‰āļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļģāļāļĢāļēāļŸ â†’ āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ matplotlib
  • 40. Babel Coder Babel Coder https://www.babelcoder.com POETRY Poetry āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡ Python āđƒāļŦāđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļĄāļąāļ™āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– âœ…āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļąāļ‡āļ§āļĨāđ€āļĢāļ·āđˆāļ­āļ‡āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰ ✅āļˆāļąāļ”āļāļēāļĢāļŦāļĨāļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ„āļ”āđ‰ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļĨāļąāļ§āļ§āđˆāļēāđāļžāđ‡āļāđ€āļāļˆāļˆāļ°āļŠāļ™āļāļąāļ™ âœ…āđāļŠāļĢāđŒāđāļĨāļ°āļĒāđ‰āļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒ Poetry āļˆāļ°āļŠāđˆāļ§āļĒāļˆāļ”āļˆāļģāļ§āđˆāļēāđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāļ­āļ°āđ„āļĢāļšāđ‰āļēāļ‡
  • 41. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ POETRY $ brew install pipx $ pipx ensurepath $ pipx install poetry $ py -m pip install --user pipx $ py -m pipx ensurepath ** āđƒāļŠāđ‰ py āļŦāļĢāļ·āļ­ python
  • 42. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ $ poetry new my_project $ cd my_project āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ Python āđƒāļŦāļĄāđˆ āđƒāļŦāđ‰āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļˆāļ°āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļ”āļąāļ‡āļ™āļĩāđ‰ my_project/ │── pyproject.toml # āđ„āļŸāļĨāđŒāļŦāļĨāļąāļāļ‚āļ­āļ‡ Poetry āļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđāļžāđ‡āļāđ€āļāļˆ â”‚â”€â”€ poetry.lock # āđ„āļŸāļĨāđŒāļĨāđ‡āļ­āļāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđāļžāđ‡āļāđ€āļāļˆ â”‚â”€â”€ README.md # āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ │── my_project/ # āđ‚āļ„āđ‰āļ” Python āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ │ └── __init__.py └── tests/ # āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš
  • 43. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆ $ poetry add requests āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļ„āļ·āļ­āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™āđāļžāđ‡āļāđ€āļāļˆāļ”āļąāļ‡ āļāļĨāđˆāļēāļ§āđƒāļ™āļ—āļļāļāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āļ—āļąāđ‰āļ‡āļˆāļąāļ‡āļŦāļ§āļ°āļāļēāļĢāļžāļąāļ’āļ™āļēāđ‚āļ›āļĢāđāļāļĢāļĄ āļāļēāļĢ āļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āļšāļ™ Production Poetry āļˆāļ°āļ­āļąāļ›āđ€āļ”āļ•āđ„āļŸāļĨāđŒ pyproject.toml āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ poetry.lock āđ€āļžāļ·āđˆāļ­āļšāļąāļ™āļ—āļķāļāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđāļžāđ‡āļāđ€āļāļˆ
  • 44. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆ $ poetry add --dev pytest āļŦāļēāļāđ€āļ›āđ‡āļ™āđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļ‰āļžāļēāļ°āļ•āļ­āļ™āļžāļąāļ’āļ™āļēāđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āđ€āļŠāđˆāļ™āļāļēāļĢāđƒāļŠāđ‰ pytest āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄ āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļĢāļ°āļšāļļ --dev $ poetry install āļ–āđ‰āļēāđ„āļ”āđ‰āļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļˆāļēāļāļœāļđāđ‰āļ­āļ·āđˆāļ™āđāļĨāļ°āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒāđāļĨāđ‰āļ§āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āđƒāļŦāđ‰āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰
  • 45. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļĨāļšāđāļžāđ‡āļāđ€āļāļˆ $ poetry remove pytest āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļĨāļšāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāđ€āļ„āļĒāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āđāļĨāđ‰āļ§
  • 46. Babel Coder Babel Coder https://www.babelcoder.com VIRTUAL ENVIRONMENT āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ—āļĩāđˆāļˆāļ°āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰ Poetry āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆāļšāļ™ Python āđ€āļĄāļ·āđˆāļ­āđ€āļĢāļēāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Python āđāļĨāļ°āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āđ€āļĢāļēāļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ” āļ•āļąāđ‰āļ‡ āđāļžāđ‡āļāđ€āļāļˆ (Package) āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āđ€āļŠāđˆāļ™ requests āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āļŦāļĢāļ·āļ­ pandas āļŠāļģāļŦāļĢāļąāļšāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨ āđ‚āļ”āļĒāļ›āļāļ•āļī āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļˆāļ°āļ—āļģāļœāđˆāļēāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰ $ pip install requests āđāļ•āđˆāļ›āļąāļāļŦāļēāļ„āļ·āļ­ āđāļžāđ‡āļāđ€āļāļˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļ°āļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļĨāļ‡āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ (Global Environment) āļ‹āļķāđˆāļ‡āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ›āļąāļāļŦāļēāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™ âŒāđāļžāđ‡āļāđ€āļāļˆāļŠāļ™āļāļąāļ™ â€“ āļ–āđ‰āļēāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļŦāļ™āļķāđˆāļ‡āđƒāļŠāđ‰ requests āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.25.0 āđāļ•āđˆāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ­āļ·āđˆāļ™āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.31.0 āļāđ‡āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ‚āļ„āđ‰āļ” āļšāļēāļ‡āļ•āļąāļ§āđƒāļŠāđ‰āđ„āļĄāđˆāđ„āļ”āđ‰ ❌āļ­āļąāļ›āđ€āļ”āļ•āđāļžāđ‡āļāđ€āļāļˆāđāļĨāđ‰āļ§āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ€āļāđˆāļēāļžāļąāļ‡ â€“ āļŦāļēāļāļ­āļąāļ›āđ€āļ”āļ•āđāļžāđ‡āļāđ€āļāļˆāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđ€āļāđˆāļēāļ—āļģāļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰ ❌āđāļŠāļĢāđŒāđ‚āļ„āđ‰āļ”āļāļąāļšāļ„āļ™āļ­āļ·āđˆāļ™āļĒāļēāļ â€“ āđ€āļĄāļ·āđˆāļ­āļŠāđˆāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđƒāļŦāđ‰āđ€āļžāļ·āđˆāļ­āļ™ āļžāļ§āļāđ€āļ‚āļēāļ­āļēāļˆāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāđ„āļĄāđˆāļ„āļĢāļš āļŦāļĢāļ·āļ­āđƒāļŠāđ‰āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ—āļĩāđˆāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļ™ āļ§āļīāļ˜āļĩāđāļāđ‰āļ›āļąāļāļŦāļēāļ™āļĩāđ‰āļ„āļ·āļ­āļāļēāļĢāđƒāļŠāđ‰ Virtual Environment
  • 47. Babel Coder Babel Coder https://www.babelcoder.com VIRTUAL ENVIRONMENT Virtual Environment (Venv) āđ€āļ›āđ‡āļ™āđ€āļŦāļĄāļ·āļ­āļ™ āļžāļ·āđ‰āļ™āļ—āļĩāđˆāđāļĒāļāđ€āļ‰āļžāļēāļ° āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āļ—āļģāđƒāļŦāđ‰āđāļ•āđˆāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļĄāļĩāđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡āđ‚āļ”āļĒ āđ„āļĄāđˆāļāļĢāļ°āļ—āļšāļāļąāļšāļĢāļ°āļšāļšāļŦāļĨāļąāļ āļ–āđ‰āļēāđ„āļĄāđˆāļĄāļĩ Virtual Environment āļ—āļļāļāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāđāļŠāļĢāđŒāđāļžāđ‡āļāđ€āļāļˆāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļŦāļĄāļ·āļ­āļ™āļ—āļļāļāļ„āļ™āđƒāļ™āļšāđ‰āļēāļ™āđƒāļŠāđ‰āļĢāļ­āļ‡āđ€āļ—āđ‰āļēāļ„āļđāđˆāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āļ–āđ‰āļēāđƒāļŠāđ‰ Virtual Environment āđāļ•āđˆāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļĄāļĩāđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡ āđ€āļŦāļĄāļ·āļ­āļ™āļ—āļļāļāļ„āļ™āļĄāļĩāļĢāļ­āļ‡āđ€āļ—āđ‰āļēāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļĒāđˆāļ‡āļāļąāļ™
  • 48. Babel Coder Babel Coder https://www.babelcoder.com VIRTUAL ENVIRONMENT Poetry āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļˆāļąāļ”āļāļēāļĢ Virtual Environment āđāļĨāļ° āđāļžāđ‡āļāđ€āļāļˆāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒāđ€āļŠāļĢāđ‡āļˆ āļŠāļīāđ‰āļ™ Poetry āļˆāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļšāđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒāļœāđˆāļēāļ™ Virtual Environment āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļžāđ‡āļāđ€āļāļˆāļŦāļĢāļ·āļ­āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļœāđˆāļēāļ™ Poetry āļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļāļąāļš Virtual Environment āđƒāļŦāđ‰āđ€āļ­āļ‡ āļ—āļļāļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļˆāļ°āļ–āļđāļāļˆāļąāļ”āļāļēāļĢāđ€āļ‰āļžāļēāļ°āđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ™āļĩāđ‰ (āļœāđˆāļēāļ™ Virtual Environment) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ $ poetry add requests āļ„āļģāļŠāļąāđˆāļ‡ poetry run āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļē Python āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāļˆāļēāļ Virtual Environment āđ€āļžāļ·āđˆāļ­āļĢāļąāļ™āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ Virtual Environment $ poetry run python script.py
  • 49. Babel Coder Babel Coder https://www.babelcoder.com VIRTUAL ENVIRONMENT āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ Poetry āļˆāļąāļ”āđ€āļāđ‡āļšāđāļžāđ‡āļāđ€āļāļˆāđ„āļ§āđ‰āļ āļēāļĒāđƒāļ•āđ‰ .venv āļ āļēāļĒāđƒāļ•āđ‰āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒ āđ€āļĢāļēāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰ āļ—āļļāļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļˆāļ°āļ–āļđāļāļˆāļąāļ”āļāļēāļĢāđ€āļ‰āļžāļēāļ°āđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ™āļĩāđ‰ (āļœāđˆāļēāļ™ Virtual Environment) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ $ poetry add requests āļ„āļģāļŠāļąāđˆāļ‡ poetry run āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļē Python āđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆāļˆāļēāļ Virtual Environment āđ€āļžāļ·āđˆāļ­āļĢāļąāļ™āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ Virtual Environment $ poetry run python script.py $ poetry config virtualenvs.in-project true --local āđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ poetry config --list --local āļˆāļ°āļžāļšāļ§āđˆāļēāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ”āļąāļ‡āļāļĨāđˆāļēāļ§āđ„āļ”āđ‰āļ–āļđāļāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ virtualenvs.in-project = true
  • 50. Babel Coder Babel Coder https://www.babelcoder.com PYPROJECT.YOML pyproject.toml āđ€āļ›āđ‡āļ™āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļāļģāļŦāļ™āļ”āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđāļĨāļ°āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ Python āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ Poetry āļŦāļĢāļ·āļ­ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆāļ­āļ·āđˆāļ™āđ† āđ„āļŸāļĨāđŒāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ, āđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰, āđāļĨāļ° āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ­āļ·āđˆāļ™āđ† āđ„āļ”āđ‰āđƒāļ™āļ—āļĩāđˆāđ€āļ”āļĩāļĒāļ§ āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ pyproject.toml [project] – āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ [tool.poetry.group.dev.dependencies] – āđāļžāđ‡āļāđ€āļāļˆāļŠāļģāļŦāļĢāļąāļšāļžāļąāļ’āļ™āļē [project.scripts] – āļ„āļģāļŠāļąāđˆāļ‡āļĢāļąāļ™āļŠāļ„āļĢāļīāļ›āļ•āđŒ [build-system] – āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļšāļšāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡
  • 51. Babel Coder Babel Coder https://www.babelcoder.com [PROJECT] āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āđƒāļŠāđ‰āļĢāļ°āļšāļļāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āđ€āļŠāđˆāļ™ āļŠāļ·āđˆāļ­, āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ āđāļĨāļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ [tool.poetry] name = "my_project" # āļŠāļ·āđˆāļ­āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ version = "0.1.0" # āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ description = "My Python app" # āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ authors = ["John Doe <[email protected]>"] # āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āļŠāļĢāđ‰āļēāļ‡ license = "MIT" # āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļĨāļīāļ‚āļŠāļīāļ—āļ˜āļīāđŒ requires-python = ">=3.13, <4.0" # āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ Python dependencies = [ # āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āđƒāļŠāđ‰āļĢāļ°āļšāļļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ "robotframework (>=7.2.2,<8.0.0)", "robotframework-databaselibrary (>=2.1.0,<3.0.0)" ]
  • 52. Babel Coder Babel Coder https://www.babelcoder.com [TOOL.POETRY.GROUP.DEV.DEPENDENCIES] āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļĢāļ°āļšāļļāđāļžāđ‡āļāđ€āļāļˆāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļ‰āļžāļēāļ°āļŠāđˆāļ§āļ‡āļžāļąāļ’āļ™āļēāđāļĨāļ°āļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ pytest āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš [tool.poetry.group.dev.dependencies] pytest = "^7.2.0" black = "^22.12.0" # āđƒāļŠāđ‰ Black āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ§āļĒāļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđ‚āļ„āđ‰āļ” ðŸ“Œāđāļžāđ‡āļāđ€āļāļˆāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļˆāļ°āđ„āļĄāđˆāļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđƒāļ™ production 📌āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļĨāļļāđˆāļĄāđāļžāđ‡āļāđ€āļāļˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™ [tool.poetry.group.test.dependencies] āļāđ‡āđ„āļ”āđ‰
  • 54. Babel Coder Babel Coder https://www.babelcoder.com [BUILD-SYSTEM] āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļšāļ­āļāđƒāļŦāđ‰ Python āļ—āļĢāļēāļšāļ§āđˆāļēāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ™āļĩāđ‰āđƒāļŠāđ‰ Poetry āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļˆāļąāļ”āļāļēāļĢ [build-system] requires = ["poetry-core>=2.0.0,<3.0.0"] build-backend = "poetry.core.masonry.api"
  • 55. Babel Coder Babel Coder https://www.babelcoder.com CHALLENGE Q: āļŠāļĄāļĄāļ•āļīāđƒāļŦāđ‰ Robot Framework āļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļœāđˆāļēāļ™āļ„āļģāļŠāļąāđˆāļ‡ poetry add robot- framework āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ„āļģāļŠāļąāđˆāļ‡āļŠāļ·āđˆāļ­ robot āļ‚āļķāđ‰āļ™āļĄāļēāđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļ„ āļāļēāļĢāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™ āļ‚āđ‰āļ­āđƒāļ”āļ–āļđāļāļ•āđ‰āļ­āļ‡āđ€āļžāļ·āđˆāļ­āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ robot āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāđ„āļŸāļĨāđŒāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ tests A1: robot tests A2: poetry run robot tests
  • 57. Babel Coder Babel Coder https://www.babelcoder.com ✅1. Test Cases Test Case āļ„āļ·āļ­ āļŠāļļāļ”āļ‚āļ­āļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļš āđ€āļžāļ·āđˆāļ­āļ”āļđāļ§āđˆāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļģāļ‡āļēāļ™āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āđ€āļŠāđˆāļ™ āļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāļĨāđ‡āļ­āļāļ­āļīāļ™āļŠāļģāđ€āļĢāđ‡āļˆ āđ„āļŦāļĄ āļŦāļĢāļ·āļ­āļĢāļ°āļšāļšāļ„āļģāļ™āļ§āļ“āļĢāļēāļ„āļēāļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ ðŸ’ĄTest Case āļ™āļĩāđ‰āđ€āļŠāđ‡āļ„āļ§āđˆāļē "āļĨāđ‡āļ­āļāļ­āļīāļ™āļŠāļģāđ€āļĢāđ‡āļˆāđāļĨāđ‰āļ§āļ‚āļķāđ‰āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ Welcome āđ„āļŦāļĄ?" 📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: Test Case āđ€āļŦāļĄāļ·āļ­āļ™ "āļĢāļēāļĒāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš" āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ—āļģāļ•āļēāļĄ āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
  • 58. Babel Coder Babel Coder https://www.babelcoder.com ✅2. Test Suite Test Suite āļ„āļ·āļ­ āļāļĨāļļāđˆāļĄāļ‚āļ­āļ‡ Test Cases āļ—āļĩāđˆāļ™āļģāļĄāļēāļĢāļ§āļĄāļāļąāļ™āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāđ† āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡āļĢāļ°āļšāļš āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ login_tests.robot: āļĢāļ§āļĄ Test Cases āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļĨāđ‡āļ­āļāļ­āļīāļ™ checkout_tests.robot: āļĢāļ§āļĄ Test Cases āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļŠāļīāļ™āļ„āđ‰āļē payment_tests.robot: āļĢāļ§āļĄ Test Cases āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™ ðŸ’ĄāļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™ Test Suite āđ€āļ”āļĩāļĒāļ§ āļŦāļĢāļ·āļ­āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđ„āļ”āđ‰ 📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: Test Suite āđ€āļŦāļĄāļ·āļ­āļ™ "āđāļŸāđ‰āļĄāđ€āļ­āļāļŠāļēāļĢ" āļ—āļĩāđˆāļĢāļ§āļĄ Test Cases āļŦāļĨāļēāļĒāđ† āļ­āļąāļ™ āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
  • 59. Babel Coder Babel Coder https://www.babelcoder.com ✅3. Variables (āļ•āļąāļ§āđāļ›āļĢ) āļ•āļąāļ§āđāļ›āļĢ āļ„āļ·āļ­ āļ„āđˆāļēāļ—āļĩāđˆāļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ‹āđ‰āļģāđƒāļ™āļŦāļĨāļēāļĒāļˆāļļāļ”āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ āļ•āļąāđ‰āļ‡āļ„āđˆāļē āļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰, āļĢāļŦāļąāļŠāļœāđˆāļēāļ™, URL āļ‚āļ­āļ‡ āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ ðŸ’Ąāđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļžāļīāļĄāļžāđŒ "user123" āļ‹āđ‰āļģāđ† āļ—āļļāļāļ—āļĩāđˆ āļāđ‡āđƒāļŠāđ‰ ${USERNAME} āđāļ—āļ™ ðŸ“Œāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: āļ•āļąāļ§āđāļ›āļĢāđ€āļŦāļĄāļ·āļ­āļ™ "āļāļĨāđˆāļ­āļ‡āđ€āļāđ‡āļšāļ‚āļ­āļ‡" āļ—āļĩāđˆāđ€āļāđ‡āļšāļ„āđˆāļēāļ•āđˆāļēāļ‡āđ† āđ„āļ§āđ‰āđƒāļŠāđ‰āļ‹āđ‰āļģ āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
  • 60. Babel Coder Babel Coder https://www.babelcoder.com ✅4. Keywords āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” āļ„āļ·āļ­ āļāļĨāļļāđˆāļĄāļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļģāļ‡āļēāļ™āļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡ āđ€āļŠāđˆāļ™ "āļĨāđ‡āļ­āļāļ­āļīāļ™", "āļāļ”āļ›āļļāđˆāļĄ", "āļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ" āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđ„āļ”āđ‰āļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡ āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāļāļĢāļ°āļŠāļąāļšāļ‚āļķāđ‰āļ™ ðŸ’Ąāđ€āļ§āļĨāļēāļˆāļ°āļĨāđ‡āļ­āļāļ­āļīāļ™āļāđ‡āđ€āļĢāļĩāļĒāļ Login To Website āđ„āļ”āđ‰āđ€āļĨāļĒ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āļ‹āđ‰āļģ 📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āđ€āļŦāļĄāļ·āļ­āļ™ "āļŠāļđāļ•āļĢāļŠāļģāđ€āļĢāđ‡āļˆ" āļ—āļĩāđˆāļšāļ­āļāđƒāļŦāđ‰ Robot āļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
  • 61. Babel Coder Babel Coder https://www.babelcoder.com ✅5. Test Data (āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļ”āļŠāļ­āļš) Test Data āļ„āļ·āļ­ āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļ”āļŠāļ­āļšāļĢāļ°āļšāļš āđ€āļŠāđˆāļ™ āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰, āļĢāļēāļĒāļāļēāļĢāļŠāļīāļ™āļ„āđ‰āļē, āļŦāļĢāļ·āļ­āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļŠāđ‡āļ„āļāļēāļĢāļ„āļģāļ™āļ§āļ“ ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ CSV āļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™ Test Data: 📌āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ‡āđˆāļēāļĒāđ†: Test Data āđ€āļŦāļĄāļ·āļ­āļ™ "āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡" āļ—āļĩāđˆāđƒāļŠāđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļ°āļšāļš āļ­āļ āļīāļ˜āļēāļ™āļĻāļąāļžāļ—āđŒ
  • 62. Babel Coder Babel Coder https://www.babelcoder.com CHALLENGE Q: āļ‚āđ‰āļ­āđƒāļ”āļ„āļ·āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ‚āļ­āļ‡āļŠāļļāļ”āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļĢāļ§āļĄāļŦāļĨāļēāļĒ āđ† āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļāļąāļ™ A1: Test Suite A2: Test Case
  • 63. Babel Coder Babel Coder https://www.babelcoder.com āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Test Cases āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Resource (Keywords & Variables) āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļš (Test Data)
  • 64. Babel Coder Babel Coder https://www.babelcoder.com āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ ðŸ“‚1. tests/ → āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Test Cases ✅āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļš āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāļŦāļĨāļąāļ āļ—āļĩāđˆāđ€āļ‚āļĩāļĒāļ™āļ”āđ‰āļ§āļĒ Robot Framework ✅āļĄāļąāļāļĄāļĩāđ„āļŸāļĨāđŒ .robot āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Test Suites āđāļĨāļ° Test Cases ✅āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŠāļēāļĄāļēāļĢāļ–āđāļšāđˆāļ‡āđ€āļ›āđ‡āļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāļĒāđˆāļ­āļĒāļ•āļēāļĄāđ‚āļĄāļ”āļđāļĨāļŦāļĢāļ·āļ­āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ: login_tests.robot → āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļĨāđ‡āļ­āļāļ­āļīāļ™ checkout_tests.robot → āļ—āļ”āļŠāļ­āļšāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļŠāļīāļ™āļ„āđ‰āļē
  • 65. Babel Coder Babel Coder https://www.babelcoder.com āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ ðŸ“‚2. resources/ → āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒ Resource (Keywords & Variables) ✅āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļš Custom Keywords, Variables āđāļĨāļ° Settings ✅āđāļĒāļ Reusable Code āļ­āļ­āļāļˆāļēāļāđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāļŦāļĨāļąāļ āđ€āļžāļ·āđˆāļ­āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™ âœ…āļŠāļēāļĄāļēāļĢāļ–āļĄāļĩ āđ„āļŸāļĨāđŒ .robot āļŦāļĢāļ·āļ­ .py āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āļĩāļĒāļ™ Custom Libraries ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ: keywords.robot → āđ€āļāđ‡āļš Custom Keywords variables.robot → āđ€āļāđ‡āļš āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđ€āļŠāđˆāļ™ URL, Credentials selenium_keywords.py → Python Script āļŠāļģāļŦāļĢāļąāļš Custom Selenium Keywords
  • 66. Babel Coder Babel Coder https://www.babelcoder.com āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ ðŸ“‚3. data/ → āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļš (Test Data) ✅āđƒāļŠāđ‰āđ€āļāđ‡āļšāđ„āļŸāļĨāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒ āđ€āļŠāđˆāļ™ CSV, JSON, Excel ✅āđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļ­āļāļˆāļēāļāđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļāđ‰āđ„āļ‚āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ âœ…āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš Data-Driven Testing ðŸ”đāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ: test_users.csv → āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļš product_data.json → āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļīāļ™āļ„āđ‰āļēāđƒāļ™āļĢāļ°āļšāļš test_cases.xlsx → āļĢāļēāļĒāļāļēāļĢāđ€āļ—āļŠāļ•āđŒāđƒāļ™āļĢāļđāļ›āđāļšāļšāļŠāđ€āļ›āļĢāļ”āļŠāļĩāļ•
  • 67. Babel Coder Babel Coder https://www.babelcoder.com āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāđƒāļ™ Robot Framework āđƒāļŠāđ‰āļ™āļēāļĄāļŠāļāļļāļĨ .robot āđ‚āļ”āļĒāļ„āļ§āļĢāļ§āļēāļ‡āđ„āļ§āđ‰āđƒāļ™ āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ tests āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļŠāđˆāļ§āļ™āļŦāļĨāļąāļ āđ† āļ”āļąāļ‡āļ™āļĩāđ‰ Settings Section (āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē) Variables Section (āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āđ€āļ—āļŠāļ•āđŒ) Test Cases Section (āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļāļĢāļ“āļĩāļ—āļ”āļŠāļ­āļš) Keywords Section (āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āļ‹āđ‰āļģāđ„āļ”āđ‰) āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ TEST SUITES
  • 68. Babel Coder Babel Coder https://www.babelcoder.com āļāļģāļŦāļ™āļ” Libraries, Resource Files āđāļĨāļ° Variables āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™ Test Cases ðŸ”đLibrary → āđ‚āļŦāļĨāļ”āđ„āļĨāļšāļĢāļēāļĢāļĩ āđ€āļŠāđˆāļ™ Browser āļŠāļģāļŦāļĢāļąāļš Web Testing ðŸ”đResource → āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĄāļĩ Keywords āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļ‡āļˆāļēāļāđ„āļŸāļĨāđŒāļ­āļ·āđˆāļ™ ðŸ”đVariables → āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļ•āļąāļ§āđāļ›āļĢ āđ€āļŠāđˆāļ™ āļ„āđˆāļē URL āļŦāļĢāļ·āļ­ Credentials āļˆāļēāļāļ—āļĩāđˆāļ­āļ·āđˆāļ™ SETTINGS SECTION
  • 69. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļ‹āđ‰āļģ āđ€āļŠāđˆāļ™ URL, Username, Password āđ‚āļ”āļĒāđƒāļŠāđ‰ ${} āļ„āļĢāļ­āļš āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđ€āļžāļ·āđˆāļ­āļ™āļģāđ„āļ›āđƒāļŠāđ‰āđƒāļ™ Test Cases VARIABLES SECTION
  • 70. Babel Coder Babel Coder https://www.babelcoder.com āļŠāđˆāļ§āļ™āļŦāļĨāļąāļāļ—āļĩāđˆāļāļģāļŦāļ™āļ” Test Cases āļžāļĢāđ‰āļ­āļĄāļĨāļģāļ”āļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™ āđ‚āļ”āļĒāđƒāļ™ Test Suite āļ•āđ‰āļ­āļ‡āļĄāļĩāļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļ‡ 1 Test Case āļ āļēāļĒāđƒāļ•āđ‰ Test Case āđƒāļ” āđ† āļˆāļ°āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļš TEST CASES SECTION
  • 71. Babel Coder Babel Coder https://www.babelcoder.com āļāļģāļŦāļ™āļ” Keywords (āļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡) āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™ Test Cases āļŠāļģāļŦāļĢāļąāļšāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ Keyword āļ”āļąāļ‡āļāļĨāđˆāļēāļ§āļŠāđˆāļ§āļĒāļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™ āđ‚āļ”āļĒāđƒāļŠāđ‰ Login To Website āđƒāļ™ Test Cases KEYWORDS SECTION
  • 73. Babel Coder Babel Coder https://www.babelcoder.com CHALLENGE Q: āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļžāļīāđ€āļĻāļĐāđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļĢāļĩāļĒāļāļ‹āđ‰āļģāļāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡āđ€āļ›āđ‡āļ™āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ‚āļ­āļ‡āļŠāļīāđˆāļ‡āđƒāļ” A1: Test Case A2: Keyword
  • 74. Babel Coder Babel Coder https://www.babelcoder.com LOG Log āđƒāļŠāđ‰āļšāļąāļ™āļ—āļķāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĨāļ‡āđƒāļ™āđ„āļŸāļĨāđŒ log.html āļ‹āļķāđˆāļ‡ āļˆāļ°āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļŦāļĨāļąāļ‡āļˆāļēāļāļĢāļąāļ™ Robot Framework 1. āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "This is a log message" āļˆāļ°āđ„āļĄāđˆāđāļŠāļ”āļ‡āđƒāļ™ Console āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āļ”āļđāđ„āļ”āđ‰āđƒāļ™āđ„āļŸāļĨāđŒ log.html 2. Log To Console āđƒāļŠāđ‰āđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ­āļ­āļāļĄāļēāļ—āļĩāđˆ Console āđ‚āļ”āļĒāļ•āļĢāļ‡ āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "This will appear in the terminal" āļˆāļ°āđāļŠāļ”āļ‡āļ—āļĩāđˆ Console āļ—āļąāļ™āļ—āļĩ
  • 75. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļ™ Robot Framework āļĄāļĩāđāļ™āļ§āļ„āļīāļ”āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš Setup āđāļĨāļ° Teardown āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļāļĨāđ„āļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļāļģāļŦāļ™āļ” āļāļēāļĢāđ€āļ• āļĢāļĩāļĒāļĄāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš (Setup) āđāļĨāļ° āļāļēāļĢāļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļŦāļĢāļ·āļ­āļ„āļ·āļ™āļ„āđˆāļēāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļŦāļĨāļąāļ‡ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™ (Teardown) Setup → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ Test Case Teardown → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļŦāļĨāļąāļ‡āļˆāļēāļ Test Case āļˆāļšāļĨāļ‡ SETUP / TEARDOWN ðŸ”đāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāđ€āļ—āļŠāļ•āđŒ → Open Browser āļˆāļ°āļ—āļģāļ‡āļēāļ™āđ€āļžāļ·āđˆāļ­āđ€āļ›āļīāļ”āđ€āļ§āđ‡āļš ðŸ”đāļŦāļĨāļąāļ‡āļˆāļšāđ€āļ—āļŠāļ•āđŒ → Close Browser āļˆāļ°āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ
  • 76. Babel Coder Babel Coder https://www.babelcoder.com Suite Setup → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ Test Cases āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™ Test Suite Suite Teardown → āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļŦāļĨāļąāļ‡āļˆāļēāļ Test Cases āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™ Test Suite āļˆāļšāļĨāļ‡ SUITE SETUP / SUITE TEARDOWN ðŸ”đSuite Setup → āđ€āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđ€āļžāļĩāļĒāļ‡āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§ āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ—āļļāļ Test Case ðŸ”đSuite Teardown → āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļŦāļĨāļąāļ‡āļˆāļēāļāļ—āļļāļ Test Case āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™
  • 77. Babel Coder Babel Coder https://www.babelcoder.com āļ›āļĢāļ°āđ€āļ āļ— āļĢāļ°āļ”āļąāļš āļ—āļģāļ‡āļēāļ™āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ Setup Test Case āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ āđāļ•āđˆāļĨāļ° Test Case āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āđ€āļ•āļĢāļĩāļĒāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āđ€āļ›āļīāļ”āđ€āļ§āđ‡āļšāļāđˆāļ­āļ™ āđ€āļ—āļŠāļ•āđŒāđāļ•āđˆāļĨāļ°āļ­āļąāļ™ Teardown Test Case āļŦāļĨāļąāļ‡āļˆāļš āđāļ•āđˆāļĨāļ° Test Case āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļ„āļ·āļ™āļ„āđˆāļēāļŦāļĢāļ·āļ­āļ›āļīāļ”āļ—āļĢāļąāļžāļĒāļēāļāļĢāļŦāļĨāļąāļ‡āļˆāļēāļ āđ€āļ—āļŠāļ•āđŒāđ€āļŠāļĢāđ‡āļˆ Suite Setup Test Suite āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄ Test Suite āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ—āļļāļ Test Case āđƒāļ™āļŠāļļāļ” Suite Teardown Test Suite āļŦāļĨāļąāļ‡āļˆāļēāļ Test Suite āļˆāļšāļĨāļ‡āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļ—āļļāļ Test Case āđāļĨāļ° āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļ·āļ™āļ„āđˆāļē SUITE SETUP / SUITE TEARDOWN
  • 78. Babel Coder Babel Coder https://www.babelcoder.com CHALLENGE Q: āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ‚āļ›āļĢāđāļāļĢāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡ āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļīāđ‰āļ‡āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆ āđƒāļŦāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļˆāļēāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĢāļ­āļšāļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ•āļāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļ—āļģāđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ—āļ”āļŠāļ­āļš āđƒāļ™āļĢāļ­āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļœāļīāļ”āđ€āļžāļĩāđ‰āļĒāļ™ āļ‚āđ‰āļ­āđƒāļ”āļāļĨāđˆāļēāļ§āļ–āļđāļāļ•āđ‰āļ­āļ‡ A1: āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļīāđ‰āļ‡āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļ—āļ”āļŠāļ­āļšāđ€āļŠāļĢāđ‡āļˆāļœāđˆāļēāļ™ Teardown A2: āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāđˆāļ­āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļœāđˆāļēāļ™ Setup
  • 79. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ—āļ”āļŠāļ­āļš TEST CASES 1. āļāļēāļĢāļĢāļąāļ™āļ—āļļāļ Test Suites āļŦāļēāļāļĄāļĩāļŦāļĨāļēāļĒāđ„āļŸāļĨāđŒ .robot āļ āļēāļĒāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļŠāđˆāļ™ tests/ āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™āļ—āļļāļāđ„āļŸāļĨāđŒāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ‹āļķāđˆāļ‡āļˆāļ°āļĢāļąāļ™ āļ—āļļāļāđ„āļŸāļĨāđŒ .robot āļ āļēāļĒāđƒāļ™āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒ tests/ $ poetry run robot tests/ 2. āļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļąāļ™āđ€āļ‰āļžāļēāļ°āļšāļēāļ‡ Test Cases āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļ™āđ€āļ‰āļžāļēāļ° Test Case āđƒāļ” Test Case āļŦāļ™āļķāđˆāļ‡āļŦāļĢāļ·āļ­ āđ€āļ‰āļžāļēāļ°āļšāļēāļ‡āļŠāđˆāļ§āļ™ āđƒāļŠāđ‰ --test āļ•āļēāļĄāļ”āđ‰āļ§āļĒāļŠāļ·āđˆāļ­ Test Case āđ€āļŠāđˆāļ™āļ„āļģāļŠāļąāđˆāļ‡ āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ—āļĩāđˆāļˆāļ°āļĢāļąāļ™āđ€āļ‰āļžāļēāļ° Test Case āļ—āļĩāđˆāļŠāļ·āđˆāļ­āļ§āđˆāļē "Login Test" $ poetry run robot --test "Login Test" tests/ āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļ™āļŦāļĨāļēāļĒ Test Cases āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āđƒāļŠāđ‰ --test āļ‹āđ‰āļģāđ„āļ”āđ‰ $ poetry run robot --test "Login Test" --test "Checkout Test" tests/ āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļ™āđ€āļ‰āļžāļēāļ° Test Suite (āđ„āļŸāļĨāđŒ .robot āļŦāļ™āļķāđˆāļ‡āđ„āļŸāļĨāđŒ) āđƒāļŦāđ‰āđƒāļŠāđ‰āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ $ poetry run robot tests/login_tests.robot
  • 80. VARIABLES & DATA TYPES Babel Coder Babel Coder https://www.babelcoder.com
  • 81. Babel Coder Babel Coder https://www.babelcoder.com VARIABLES āđƒāļ™ Robot Framework āļāļēāļĢāđƒāļŠāđ‰ āļ•āļąāļ§āđāļ›āļĢ (Variables) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢ Test Cases āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ– āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‹āđ‰āļģāļŦāļĢāļ·āļ­āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ„āļ”āđ‰āļŠāļ°āļ”āļ§āļ āļ•āļąāļ§āđāļ›āļĢāđƒāļ™ Robot Framework āđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™ 3 āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĨāļąāļ āđ„āļ”āđ‰āđāļāđˆ Scalar Variables, List Variables āđāļĨāļ° Dictionary Variables Scalar Variables: āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ„āđˆāļēāđ€āļ”āļĩāļĒāļ§ āđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ ${}​ List Variables: āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļēāļĒāļ„āđˆāļēāđƒāļ™āļĢāļđāļ›āđāļšāļšāļĢāļēāļĒāļāļēāļĢ āđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ @{}​ Dictionary Variables: āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™āļ„āļđāđˆāļ„āļĩāļĒāđŒāđāļĨāļ°āļ„āđˆāļē āđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ &{}​ āļāļēāļĢāđƒāļŠāđ‰āļ•āļąāļ§āđāļ›āļĢāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Test Cases āđƒāļ™ Robot Framework āļĄāļĩāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āđāļĨāļ°āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļĄāļēāļ āļ‚āļķāđ‰āļ™ ** āļ•āļąāļ§āđāļ›āļĢāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļāļēāļĻāđƒāļ™ Variables Section āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ āđāļ•āđˆāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļāļēāļĻāđƒāļ™ Test Cases āļŦāļĢāļ·āļ­ Leywords āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ
  • 82. Babel Coder Babel Coder https://www.babelcoder.com SCALAR VARIABLES Scalar Variables āļ„āļ·āļ­ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļĩāļĒāļ‡āļ„āđˆāļēāđ€āļ”āļĩāļĒāļ§ āđ€āļŠāđˆāļ™ āļ„āļ°āđāļ™āļ™āļŠāļ­āļš āļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļŦāļąāļŠāļœāđˆāļēāļ™ āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Scalar Variables āļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļŠāđˆāļ§āļ™ *** Variables *** āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļš āđ‚āļ”āļĒāđƒāļŠāđ‰ āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ ${} āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Scalar Variables āđƒāļ™ Test Cases āļŦāļĢāļ·āļ­ Keywords āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ•āļąāļ§āđāļ›āļĢāđ‚āļ”āļĒ āđƒāļŠāđ‰ ${} āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ
  • 83. Babel Coder Babel Coder https://www.babelcoder.com LIST VARIABLES List Variables āļ„āļ·āļ­ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļēāļĒāļ„āđˆāļēāđƒāļ™āļĢāļđāļ›āđāļšāļšāļĢāļēāļĒāļāļēāļĢ (List) āđ€āļŠāđˆāļ™ āđ€āļāļĢāļ”āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āļ™āļēāļĒāđ€āļ­ āļŦāļĢāļ·āļ­ āļĢāļēāļĒāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļ§āđ‡āļš āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ List Variables āļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļŠāđˆāļ§āļ™ *** Variables *** āđ‚āļ”āļĒāđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ @{} āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ List Variables āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āđˆāļēāļ āļēāļĒāđƒāļ™ List āđ‚āļ”āļĒāđƒāļŠāđ‰āļ”āļąāļŠāļ™āļĩ (Index) āļ‹āļķāđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ—āļĩāđˆ 0 0 1 2
  • 84. Babel Coder Babel Coder https://www.babelcoder.com DICTIONARY VARIABLES Dictionary Variables āļ„āļ·āļ­ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™āļ„āļđāđˆāļ‚āļ­āļ‡ āļ„āļĩāļĒāđŒ (Key) āđāļĨāļ° āļ„āđˆāļē (Value) āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļĩāļĒāđŒ āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Dictionary Variables āļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļŠāđˆāļ§āļ™ *** Variables *** āđ‚āļ”āļĒāđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ &{} āļ„āļĢāļ­āļšāļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Dictionary Variables āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āđˆāļēāļ āļēāļĒāđƒāļ™ Dictionary āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļĩāļĒāđŒ
  • 85. Babel Coder Babel Coder https://www.babelcoder.com VARIABLE KEYWORD Robot Framework āļĄāļĩ Keywords āļŦāļĨāļēāļĒāļ•āļąāļ§āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– āļāļģāļŦāļ™āļ”āļ„āđˆāļē, āđāļāđ‰āđ„āļ‚, āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļ•āļąāļ§āđāļ›āļĢ āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒ āđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (Automated Testing) āļĄāļĩāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļĄāļēāļāļ‚āļķāđ‰āļ™
  • 86. Babel Coder Babel Coder https://www.babelcoder.com VARIABLE KEYWORD Set Variable – āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđƒāļŦāļĄāđˆ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Scalar (${}), List (@{}) āđāļĨāļ° Dictionary (&{}) Get Variable Value – āļ”āļķāļ‡āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ (āļĄāļĩāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļ”āļķāļ‡āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļŦāļēāļ āļ•āļąāļ§āđāļ›āļĢāđ„āļĄāđˆāļĄāļĩāļ„āđˆāļē
  • 87. Babel Coder Babel Coder https://www.babelcoder.com VARIABLE KEYWORD Variable Should Exist – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļĄāļĩāļ­āļĒāļđāđˆ āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđƒāļŦāļĄāđˆ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Scalar (${}), List (@{}) āđāļĨāļ° Dictionary (&{}) Variable Should Not Exist – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ•āđ‰āļ­āļ‡ āđ„āļĄāđˆāļĄāļĩāļ­āļĒāļđāđˆ āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢ āđ„āļĄāđˆāļĄāļĩāļ­āļĒāļđāđˆ
  • 88. Babel Coder Babel Coder https://www.babelcoder.com VARIABLES āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļ Scalar, List āđāļĨāļ° Dictionary āđāļĨāđ‰āļ§ Robot Framework āļĒāļąāļ‡āļĄāļĩāļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāļ­āļ·āđˆāļ™ āđ† āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āļ”āļąāļ‡āļ™āļĩāđ‰ String Variables: āđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ String Variables āđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļ•āļąāļ§āđāļ›āļĢāļ›āļĢāļ°āđ€āļ āļ— Scalar Environment Variables: āļ„āļ·āļ­āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļŦāļĢāļ·āļ­āđƒāļ™āđ„āļŸāļĨāđŒāļ•āļąāđ‰āļ‡āļ„āđˆāļē (configuration files) āļ‚āļ­āļ‡ Robot Framework Special Variables: āļ„āļ·āļ­āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆ Robot Framework āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļ‰āļžāļēāļ° āđ€āļŠāđˆāļ™ āļ•āļąāļ§āđāļ›āļĢāļŠāļģāļŦāļĢāļąāļšāļˆāļąāļ”āļāļēāļĢāļāļąāļš space, āļāļēāļĢ āđ€āļ§āđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”, āļŦāļĢāļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāļāļģāļŦāļ™āļ” (null)
  • 89. Babel Coder Babel Coder https://www.babelcoder.com EVALUATE Evaluate āđ€āļ›āđ‡āļ™āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āđƒāļ™ Robot Framework āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ™āļīāļžāļˆāļ™āđŒ (Expression) āđƒāļ™āļ āļēāļĐāļē Python āđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļē āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļĨāļąāļšāļĄāļē āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ„āļģāļ™āļ§āļ“āļ„āđˆāļēāļ•āđˆāļēāļ‡ āđ† āļŦāļĢāļ·āļ­āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ Python āđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡āļ āļēāļĒāđƒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ expression: āļ™āļīāļžāļˆāļ™āđŒāļŦāļĢāļ·āļ­āđ‚āļ„āđ‰āļ” Python āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™ modules: (Optional) āļĢāļēāļĒāļāļēāļĢāđ‚āļĄāļ”āļđāļĨ Python āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ āļ™āļģāđ€āļ‚āđ‰āļē (Import) āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđƒāļ™āļ™āļīāļžāļˆāļ™āđŒ namespace: (Optional) Namespace āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āđƒāļ™ āļ™āļīāļžāļˆāļ™āđŒ (āđ€āļŠāđˆāļ™ āļ•āļąāļ§āđāļ›āļĢāļŦāļĢāļ·āļ­āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē) āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 90. Babel Coder Babel Coder https://www.babelcoder.com STRING ​ āđƒāļ™ Robot Framework āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (String) āđ€āļ›āđ‡āļ™ āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ„āļ§āļšāļ„āļļāļĄ Test Cases āļ­āļĒāđˆāļēāļ‡āļĄāļĩ āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒ Robot Framework āļĄāļĩāđ„āļĨāļšāļĢāļēāļĢāļĩāļĄāļēāļ•āļĢāļāļēāļ™āļŠāļ·āđˆāļ­āļ§āđˆāļē String āļ—āļĩāđˆāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļĨāļ° āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļˆāļēāļāđ„āļĨāļšāļĢāļēāļĢāļĩ String āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ™āļģāđ€āļ‚āđ‰āļēāđ„āļĨāļšāļĢāļēāļĢāļĩ āļ™āļĩāđ‰āđƒāļ™āļŠāđˆāļ§āļ™ Settings āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļš
  • 91. Babel Coder Babel Coder https://www.babelcoder.com STRING āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ„āđˆāļēāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāđ€āļ›āđ‡āļ™ String āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ•āđˆāļ­āđƒāļ™āļāļēāļĢ āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļ”āđ‰ āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ‚āļ”āļĒāļ„āļĢāļ­āļšāļ—āļąāļšāļ”āđ‰āļ§āļĒ Quote
  • 92. Babel Coder Babel Coder https://www.babelcoder.com STRING KEYWORDS Replace String: āđāļ—āļ™āļ—āļĩāđˆāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĢāļ°āļšāļļāļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļŦāļĄāđˆ Split String: āđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ­āļ­āļāđ€āļ›āđ‡āļ™āļĢāļēāļĒāļāļēāļĢ (List) āđ‚āļ”āļĒāđƒāļŠāđ‰āļ•āļąāļ§āļ„āļąāđˆāļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”
  • 93. Babel Coder Babel Coder https://www.babelcoder.com STRING KEYWORDS Fetch From Left / Fetch From Right: āļ”āļķāļ‡āļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļŦāļĢāļ·āļ­āļ‚āļ§āļē Remove String: āļĨāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĢāļ°āļšāļļāļ­āļ­āļāļˆāļēāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĨāļąāļ
  • 94. Babel Coder Babel Coder https://www.babelcoder.com STRING KEYWORDS Should Be String: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāļĢāļ°āļšāļļāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ Catenate: āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĨāļēāļĒ āđ† āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™
  • 95. Babel Coder Babel Coder https://www.babelcoder.com STRING KEYWORDS Get Length: āļĢāļąāļšāļ„āļ§āļēāļĄāļĒāļēāļ§āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ Should (Not) Match: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āļĢāļ‡āļāļąāļšāļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
  • 96. Babel Coder Babel Coder https://www.babelcoder.com LIST KEYWORDS āđƒāļ™ Robot Framework āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Collections Library āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢ List āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāļĄāļĩ āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļŦāļĨāļēāļĒāļ•āļąāļ§āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ– āļŠāļĢāđ‰āļēāļ‡, āđāļāđ‰āđ„āļ‚, āļ„āđ‰āļ™āļŦāļē, āļĨāļš, āđāļĨāļ°āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļš List āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāđ€āļĢāļĩāļĒāļāđ„āļĨāļšāļĢāļēāļĢāļĩāđˆ Collections āļāđˆāļ­āļ™āđƒāļ™ Settings Section
  • 97. Babel Coder Babel Coder https://www.babelcoder.com LIST KEYWORDS Create List - āļŠāļĢāđ‰āļēāļ‡ List āđƒāļŦāļĄāđˆāļˆāļēāļāļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 98. Babel Coder Babel Coder https://www.babelcoder.com Append To List - āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāļ—āļĩāđˆāļ—āđ‰āļēāļĒ List LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 99. Babel Coder Babel Coder https://www.babelcoder.com Insert Into List - āđāļ—āļĢāļāļ„āđˆāļēāļĨāļ‡āđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 100. Babel Coder Babel Coder https://www.babelcoder.com Remove From List - āļĨāļšāļ„āđˆāļēāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļˆāļēāļ List LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 101. Babel Coder Babel Coder https://www.babelcoder.com Get From List - āļ”āļķāļ‡āļ„āđˆāļēāļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 102. Babel Coder Babel Coder https://www.babelcoder.com Get Index From List - āļŦāļēāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 103. Babel Coder Babel Coder https://www.babelcoder.com Sort List - āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ„āđˆāļēāđƒāļ™ List āļ•āļēāļĄāļ•āļąāļ§āļ­āļąāļāļĐāļĢ LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 104. Babel Coder Babel Coder https://www.babelcoder.com List Should Contain Value - āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļ™ List āļŦāļĢāļ·āļ­āđ„āļĄāđˆ LIST KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰ āļ–āđ‰āļē "Apple" āļ­āļĒāļđāđˆāđƒāļ™ List āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™
  • 105. Babel Coder Babel Coder https://www.babelcoder.com āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ Create List āļŠāļĢāđ‰āļēāļ‡ List āđƒāļŦāļĄāđˆāļˆāļēāļāļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” Append To List āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāļĨāļ‡āļ—āđ‰āļēāļĒ List Insert Into List āđāļ—āļĢāļāļ„āđˆāļēāļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Remove From List āļĨāļšāļ„āđˆāļēāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļ­āļ­āļāļˆāļēāļ List LIST KEYWORDS Get From List āļ”āļķāļ‡āļ„āđˆāļēāļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ” List Should Contain Value āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē List āļĄāļĩāļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ Get Index From List āļŦāļēāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” Sort List āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ„āđˆāļēāļ āļēāļĒāđƒāļ™ List
  • 106. Babel Coder Babel Coder https://www.babelcoder.com DICTIONARY KEYWORDS āđƒāļ™ Robot Framework āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢ Dictionary āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āļœāđˆāļēāļ™ Collections Library āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– āļŠāļĢāđ‰āļēāļ‡, āđāļāđ‰āđ„āļ‚, āļĨāļš, āļ„āđ‰āļ™āļŦāļē, āļĢāļ§āļĄ, āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āđˆāļēāđƒāļ™ Dictionary āđ„āļ”āđ‰ āļ­āļĒāđˆāļēāļ‡āļŠāļ°āļ”āļ§āļ
  • 107. Babel Coder Babel Coder https://www.babelcoder.com Create Dictionary - āļŠāļĢāđ‰āļēāļ‡ Dictionary āļžāļĢāđ‰āļ­āļĄāļāļģāļŦāļ™āļ” Key-Value DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 108. Babel Coder Babel Coder https://www.babelcoder.com Set To Dictionary - āđ€āļžāļīāđˆāļĄāļŦāļĢāļ·āļ­āļ­āļąāļ›āđ€āļ”āļ•āļ„āđˆāļēāđƒāļ™ Dictionary DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰ āļ–āđ‰āļē city āđ„āļĄāđˆāļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ Dictionary āļˆāļ°āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāđƒāļŦāļĄāđˆ āļ–āđ‰āļēāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ āļˆāļ°āļ­āļąāļ›āđ€āļ”āļ•āđ€āļ›āđ‡āļ™āļ„āđˆāļēāļĨāđˆāļēāļŠāļļāļ”
  • 109. Babel Coder Babel Coder https://www.babelcoder.com Remove From Dictionary - āļĨāļšāļ„āđˆāļēāļ­āļ­āļāļˆāļēāļ Dictionary āļ•āļēāļĄ Key DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 110. Babel Coder Babel Coder https://www.babelcoder.com Get From Dictionary - āļ”āļķāļ‡āļ„āđˆāļēāļ•āļēāļĄ Key DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰ 30
  • 111. Babel Coder Babel Coder https://www.babelcoder.com Copy Dictionary - āļ„āļąāļ”āļĨāļ­āļ Dictionary DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 112. Babel Coder Babel Coder https://www.babelcoder.com Get Dictionary Keys - āļ”āļķāļ‡āļĢāļēāļĒāļāļēāļĢ Key āļ—āļąāđ‰āļ‡āļŦāļĄāļ” DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 113. Babel Coder Babel Coder https://www.babelcoder.com Get Dictionary Values - āļ”āļķāļ‡āļĢāļēāļĒāļāļēāļĢāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ” DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰
  • 114. Babel Coder Babel Coder https://www.babelcoder.com Dictionary Should Contain Key - āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Dictionary āļĄāļĩ Key āļ—āļĩāđˆāļāļģāļŦāļ™āļ” DICTIONARY KEYWORDS āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰ āļ–āđ‰āļē Key name āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ Dictionary āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™
  • 115. Babel Coder Babel Coder https://www.babelcoder.com āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐāđƒāļ™ Robot Framework āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļ–āļđāļāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļāļēāļĻāļŦāļĢāļ·āļ­ āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļ­āļ‡ āļšāļ—āđ€āļĢāļĩāļĒāļ™āļ™āļĩāđ‰āļˆāļ°āļāļĨāđˆāļēāļ§āļ–āļķāļ‡āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐ āļ„āļ·āļ­ CURDIR āđāļĨāļ° EXECDIR CURDIR: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ EXECDIR: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ (āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ robot) āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡: CURDIR āļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ›āļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ EXECDIR āļˆāļ°āļ„āļ‡āļ—āļĩāđˆāļ•āļĨāļ­āļ”āļāļēāļĢāļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ BUILT-IN VARIABLES
  • 116. Babel Coder Babel Coder https://www.babelcoder.com CURDIR (Current Directory) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐāļ—āļĩāđˆāđ€āļāđ‡āļšāļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āļĨāļ”āļ„āļ§āļēāļĄāļĒāļļāđˆāļ‡āļĒāļēāļāđƒāļ™āļāļēāļĢāļĢāļ°āļšāļļāļžāļēāļ˜āđāļšāļšāļŠāļąāļĄāļšāļđāļĢāļ“āđŒ (Absolute Path) CURDIR
  • 117. Babel Coder Babel Coder https://www.babelcoder.com EXECDIR (Execution Directory) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļžāļīāđ€āļĻāļĐāļ—āļĩāđˆāđ€āļāđ‡āļšāļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ (āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ robot) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāļ—āļĩāđˆāļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļŦāļĨāļąāļāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ EXECDIR
  • 118. Babel Coder Babel Coder https://www.babelcoder.com āļ•āļąāļ§āđāļ›āļĢ āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ CURDIR āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ āļŦāļēāļāđ„āļŸāļĨāđŒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļ­āļĒāļđāđˆ āđƒāļ™ /home/user/tests, ${CURDIR} āļˆāļ° āđ€āļ›āđ‡āļ™ /home/user/tests EXECDIR āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļąāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ (āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ—āļĩāđˆāļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ robot) āļŦāļēāļāļĢāļąāļ™āļ„āļģ āļŠāļąāđˆāļ‡ robot āļˆāļēāļ /home/user/project, ${EXECDIR} āļˆāļ°āđ€āļ›āđ‡āļ™ /home/user/project āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡
  • 119. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļ„ test_suite.robot ${CURDIR}/data/example.txt āļˆāļ°āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡ /home/user/project/tests/data/example.txt ${EXECDIR}/resources/config.json āļˆāļ°āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡ /home/user/project/resources/config.json
  • 120. Babel Coder Babel Coder https://www.babelcoder.com ENV VARIABLES Environment Variables āļ„āļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāļ–āļđāļāđ€āļāđ‡āļšāđƒāļ™āļĢāļ°āļšāļš āļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļŦāļĢāļ·āļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰āđ‚āļ”āļĒāļ—āļļāļāđ‚āļ›āļĢ āđ€āļ‹āļŠāđƒāļ™āļĢāļ°āļšāļš āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļŦāļĢāļ·āļ­ āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļŦāļĨāļēāļĒ āđ† āļ—āļĩāđˆāđƒāļ™āļĢāļ°āļšāļš āđ€āļŠāđˆāļ™ API Keys, Database URLs āļŦāļĢāļ·āļ­āļ„āđˆāļēāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļ™ āđ‚āļ›āļĢāđāļāļĢāļĄāļ•āđˆāļēāļ‡ āđ† āđƒāļ™ Robot Framework āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Environment Variables āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāđƒāļ™āđ„āļŸāļĨāđŒ .robot āđ„āļ”āđ‰āđ€āļŠāđˆāļ™ āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ‚āļ”āļĒāļāļēāļĢāļ­āđ‰āļēāļ‡āļ–āļķāļ‡āļ•āļąāļ§āđāļ›āļĢāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļœāđˆāļēāļ™āļĢāļđāļ›āđāļšāļš % {VAR_NAME} āļŠāļĄāļĄāļ•āļīāļ§āđˆāļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ Environment Variable āđ€āļžāļ·āđˆāļ­ āđ€āļāđ‡āļšāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ—āļĩāđˆāđ€āļĢāļēāļāļģāļĨāļąāļ‡āļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ ANDROID_PLATFORM_VERSION āļ‹āļķāđˆāļ‡āļĄāļĩāļ„āđˆāļēāđ€āļ›āđ‡āļ™ 9 āļ–āđ‰āļē āđ„āļĄāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ‚āļ”āļĒāļ•āļĢāļ‡ āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰: ${ANDROID_PLATFORM_VERSION} āļˆāļ°āļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļˆāļēāļāļ„āđˆāļē Environment Variable āļ—āļĩāđˆāļŠāļ·āđˆāļ­ ANDROID_PLATFORM_VERSION āļŦāļēāļ Environment Variable āđ„āļĄāđˆāļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāđƒāļ™āļĢāļ°āļšāļš āļĢāļ°āļšāļš āļˆāļ°āđƒāļŠāđ‰āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđ€āļ›āđ‡āļ™ 9
  • 121. Babel Coder Babel Coder https://www.babelcoder.com ENV VARIABLES āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē Environment Variable āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđ† āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢ āđ€āļŠāđˆāļ™ $ export ANDROID_PLATFORM_VERSION=12 $ set ANDROID_PLATFORM_VERSION=12
  • 123. Babel Coder Babel Coder https://www.babelcoder.com CONTROL STRUCTURES Control Structures āļ„āļ·āļ­āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāđ„āļŦāļĨāļ‚āļ­āļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ āļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆ (Decision Making), āļāļē āļĢāļ§āļ™āļĨāļđāļ› (Looping), āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” (Error Handling) āđƒāļ™ Robot Framework āļĄāļĩ Control Structures āļŦāļĨāļąāļ āđ† āļ”āļąāļ‡āļ™āļĩāđ‰ IF/ELSE: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ•āļēāļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ FOR LOOP: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ› WHILE LOOP: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļˆāļ™āļāļ§āđˆāļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļˆāļ°āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ TRY/EXCEPT: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” BREAK āđāļĨāļ° CONTINUE: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ§āļ™āļĨāļđāļ› Nesting FOR Loops: āļāļēāļĢāļ‹āđ‰āļ­āļ™āļĨāļđāļ›
  • 124. Babel Coder Babel Coder https://www.babelcoder.com IF/ELSE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ•āļēāļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ āļŦāļēāļāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True) āļˆāļ°āļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļ IF āđāļ•āđˆāļŦāļēāļāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ (False) āļˆāļ°āļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™ āļšāļĨāđ‡āļ­āļ ELSE IF/ELSE 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 125. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļ™ Robot Framework āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (Condition) āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļ āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Test Cases āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āđāļĨāļ° āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŦāļĨāļēāļĒāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āļŦāļĢāļ·āļ­ āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ‚āļķāđ‰āļ™ āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļŠāļ·āđˆāļ­āļĄāđƒāļ™āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ AND OR NOT āļ•āļąāļ§āđ€āļŠāļ·āđˆāļ­āļĄ
  • 126. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ AND āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļāđ‡āļ•āđˆāļ­āđ€āļĄāļ·āđˆāļ­ ${age} āļĄāļĩāļ„āđˆāļēāļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 18 āļ–āļķāļ‡ 60
  • 128. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļĨāļąāļšāļ„āđˆāļēāļ‚āļ­āļ‡āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (āļˆāļēāļ True āđ€āļ›āđ‡āļ™ False āļŦāļĢāļ·āļ­āļˆāļēāļ False āđ€āļ›āđ‡āļ™ True) NOT āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ ${status} āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļš "Success"
  • 129. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ: ${age} āļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 18 āļ–āļķāļ‡ 60 āļŦāļĢāļ·āļ­ ${fruit} āđ€āļ›āđ‡āļ™ "Apple"
  • 130. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ: ${age} āļĄāļēāļāļāļ§āđˆāļēāļŦāļĢāļ·āļ­āđ€āļ—āđˆāļēāļāļąāļš 18 āđāļĨāļ° ${status} āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļš "Failed"
  • 131. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ™āļĩāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļēāļ: ${age} āļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 18 āļ–āļķāļ‡ 60 āđāļĨāļ° ${status} āđ€āļ›āđ‡āļ™ "Active"
  • 133. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āļ„āļģāļŠāļąāđˆāļ‡ Run Keyword If āļˆāļ°āļ—āļģāļ‡āļēāļ™āļŦāļēāļāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡
  • 134. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āļ„āļģāļŠāļąāđˆāļ‡ Should Be True āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
  • 135. Babel Coder Babel Coder https://www.babelcoder.com FOR-IN āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļĢāļēāļĒāļāļēāļĢ (āļĨāļīāļŠāļ•āđŒ) āđ‚āļ”āļĒāļˆāļ°āļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļ FOR āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļŦāļĢāļ·āļ­āđāļ•āđˆāļĨāļ°āļ„āđˆāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” FOR-IN 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 136. Babel Coder Babel Coder https://www.babelcoder.com FOR-IN-RANGE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāļāļģāļŦāļ™āļ” FOR-IN-RANGE 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 137. Babel Coder Babel Coder https://www.babelcoder.com FOR-IN-ENUMERATE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļĨāļīāļŠāļ•āđŒāļžāļĢāđ‰āļ­āļĄāļāļąāļšāļ”āļąāļŠāļ™āļĩ (index) āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢ FOR-IN-ENUMERATE 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 138. Babel Coder Babel Coder https://www.babelcoder.com FOR-IN-ZIP āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™āļŦāļĨāļēāļĒāļĨāļīāļŠāļ•āđŒāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āđ‚āļ”āļĒāļˆāļ°āļˆāļąāļšāļ„āļđāđˆ āļĢāļēāļĒāļāļēāļĢāļˆāļēāļāđāļ•āđˆāļĨāļ°āļĨāļīāļŠāļ•āđŒāđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™ FOR-IN-ZIP 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 139. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ§āļ™āļĨāļđāļ›āļœāđˆāļēāļ™ Dictionary āđ‚āļ”āļĒāđƒāļŠāđ‰ FOR-IN āļˆāļ°āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ key āđāļĨāļ° value āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļ„āļđāđˆāđƒāļ™ Dictionary DICTIONARY ITERATION 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 140. Babel Coder Babel Coder https://www.babelcoder.com WHILE LOOP āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļˆāļ™āļāļ§āđˆāļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļˆāļ°āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ (False) āđ‚āļ”āļĒ āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļāđˆāļ­āļ™āļāļēāļĢāļ—āļģāļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļ WHILE WHILE LOOP 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 141. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļ™ Robot Framework āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĨāļđāļ› (Loop) āļŠāļēāļĄāļēāļĢāļ– āļ—āļģāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰ Keywords BREAK āđāļĨāļ° CONTINUE āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ– āļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļ§āļ™āļĨāļđāļ›āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļĄāļēāļāļ‚āļķāđ‰āļ™ BREAK AND CONTINUE
  • 142. Babel Coder Babel Coder https://www.babelcoder.com BREAK āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŦāļĒāļļāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĨāļđāļ›āļ—āļąāļ™āļ—āļĩ āđāļĨāļ°āļ­āļ­āļāļˆāļēāļāļĨāļđāļ›āļ™āļąāđ‰āļ™ āđ† āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ™āđƒāļˆāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļāļēāļĢāļ§āļ™āļĨāļđāļ›āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­ BREAK AND CONTINUE āļĨāļđāļ› FOR āļˆāļ°āļ§āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 9 āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 5 āļ„āļģāļŠāļąāđˆāļ‡ BREAK āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĨāļđāļ›āļˆāļ° āļŦāļĒāļļāļ”āļ—āļģāļ‡āļēāļ™āļ—āļąāļ™āļ—āļĩ āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āđˆāļē 0 āļ–āļķāļ‡ 5 āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
  • 143. Babel Coder Babel Coder https://www.babelcoder.com CONTINUE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļēāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđƒāļ™āļĢāļ­āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ‚āļ­āļ‡āļĨāļđāļ› āđāļĨāļ° āđ„āļ›āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĢāļ­āļšāđƒāļŦāļĄāđˆāļ—āļąāļ™āļ—āļĩ āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ™āđƒāļˆāļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āđƒāļ™āļĢāļ­āļšāļ™āļąāđ‰āļ™ BREAK AND CONTINUE āļĨāļđāļ› FOR āļˆāļ°āļ§āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 4 āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 2 āļ„āļģāļŠāļąāđˆāļ‡ CONTINUE āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĢāļ­āļš āļ™āļąāđ‰āļ™āļˆāļ°āļ–āļđāļāļ‚āđ‰āļēāļĄāđ„āļ› āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āđˆāļē 0, 1, 3, āđāļĨāļ° 4 (āļ„āđˆāļē 2 āļˆāļ°āđ„āļĄāđˆāļ–āļđāļ āđāļŠāļ”āļ‡)
  • 144. Babel Coder Babel Coder https://www.babelcoder.com EXAMPLE āļĨāļđāļ› FOR āļˆāļ°āļ§āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 9 āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 2 āļ„āļģāļŠāļąāđˆāļ‡ CONTINUE āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĢāļ­āļš āļ™āļąāđ‰āļ™āļˆāļ°āļ–āļđāļāļ‚āđ‰āļēāļĄāđ„āļ› āđ€āļĄāļ·āđˆāļ­ i āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 7 āļ„āļģāļŠāļąāđˆāļ‡ BREAK āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āđāļĨāļ°āļĨāļđāļ›āļˆāļ° āļŦāļĒāļļāļ”āļ—āļģāļ‡āļēāļ™āļ—āļąāļ™āļ—āļĩ āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āđˆāļē 0, 1, 3, 4, 5, āđāļĨāļ° 6 (āļ„āđˆāļē 2 āđāļĨāļ° 7 āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™āđ„āļ›āļˆāļ°āđ„āļĄāđˆāļ–āļđāļāđāļŠāļ”āļ‡)
  • 145. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ‹āđ‰āļ­āļ™āļĨāļđāļ› (Nesting FOR Loops) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļ āļēāļĒāđƒāļ™āļĨāļđāļ›āļ­āļĩāļāļŠāļąāđ‰āļ™ āļŦāļ™āļķāđˆāļ‡ NESTING FOR LOOPS 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 147. Babel Coder Babel Coder https://www.babelcoder.com āļĢāļđāļ›āđāļšāļš Argument āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ Positional Arguments āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļĢāļ°āļšāļļ Default Values āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļē Variable Number of Arguments āļĢāļąāļšāļ„āđˆāļēāļŦāļĨāļēāļĒāļ•āļąāļ§āđ‚āļ”āļĒāđ€āļāđ‡āļšāđ€āļ›āđ‡āļ™ List Named Arguments āđƒāļŠāđ‰ argument=value āđ€āļžāļ·āđˆāļ­āļ„āļ§āļēāļĄ āļŠāļąāļ”āđ€āļˆāļ™ Free Named Arguments āļĢāļ­āļ‡āļĢāļąāļšāļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļĢāļđāđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļŦāļĢāļ·āļ­āđ„āļĄāđˆāļˆāļģāļāļąāļ”āļŠāļ·āđˆāļ­ āļ‚āļ­āļ‡ Argument Named-Only Arguments āļšāļąāļ‡āļ„āļąāļšāđƒāļŦāđ‰āđƒāļŠāđ‰ name=value āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ KEYWORDS āđƒāļ™ Robot Framework Keywords āļ„āļ·āļ­āļŠāļļāļ”āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™ āļĢāđˆāļ§āļĄāļāļąāļ™āđ€āļžāļ·āđˆāļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āļ āļēāļĒāđƒāļ™ Test Case āđ‚āļ”āļĒāđ€āļĢāļē āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡ Keywords āđ€āļ­āļ‡āđ„āļ”āđ‰āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ Test Case āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđāļĨāļ°āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™āļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ” Keywords āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļš Arguments (āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ) āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āļ‹āđ‰āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ‹āļķāđˆāļ‡āļĄāļĩāļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš āđ€āļŠāđˆāļ™ Positional arguments, Default values, Variable number of arguments, Named arguments āđāļĨāļ°āļ­āļ·āđˆāļ™ āđ†
  • 148. Babel Coder Babel Coder https://www.babelcoder.com POSITIONAL ARGUMENTS āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđāļšāļšāļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡ āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļŠāļļāļ” āļœāļđāđ‰āđƒāļŠāđ‰ āļ•āđ‰āļ­āļ‡āļŠāđˆāļ‡āļ„āđˆāļēāļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Argument āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰ 📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
  • 149. Babel Coder Babel Coder https://www.babelcoder.com DEFAULT VALUES āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŦāđ‰āļāļąāļš Argument āđ„āļ”āđ‰ āļŦāļēāļāđ„āļĄāđˆāļĄāļĩ āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļĄāļēāļˆāļ°āđƒāļŠāđ‰āļ„āđˆāļēāļžāļ·āđ‰āļ™āļāļēāļ™āđāļ—āļ™ ðŸ“ŒāļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
  • 150. Babel Coder Babel Coder https://www.babelcoder.com VARIABLE NUMBER OF ARGUMENTS VarArgs āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļŦāļĨāļēāļĒāļ•āļąāļ§āđ‚āļ”āļĒāđ„āļĄāđˆāļˆāļģāļāļąāļ”āļˆāļģāļ™āļ§āļ™ āđ‚āļ”āļĒāļˆāļ° āļ–āļđāļāđ€āļāđ‡āļšāđ€āļ›āđ‡āļ™ List 📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
  • 151. Babel Coder Babel Coder https://www.babelcoder.com NAMED ARGUMENTS Named Arguments āđāļĨāļ° Positional Arguments āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ (Arguments) āđƒāļŦāđ‰āļāļąāļš Keywords āđƒāļ™ Robot Framework āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āđ„āļ”āđ‰āđƒāļ™āļšāļēāļ‡āļāļĢāļ“āļĩ āđ‚āļ”āļĒ Keywords āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Arguments āđāļšāļšāļ—āļąāđˆāļ§āđ„āļ›āļŠāļēāļĄāļēāļĢāļ–āļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļĢāļđāļ› āđāļšāļšāđ„āļ”āđ‰ āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ§āļīāļ˜āļĩāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāđ„āļ›āļĒāļąāļ‡ Keywords āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ Keywords āļ—āļĩāđˆāđ„āļĄāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰āđƒāļŠāđ‰āđ€āļ‰āļžāļēāļ° Named-Only Arguments āļŠāļēāļĄāļēāļĢāļ–āļĢāļ­āļ‡āļĢāļąāļšāđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Positional Arguments āđāļĨāļ° Named Arguments āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāđƒāļ™ Test Cases āļĄāļĩāļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āđāļĨāļ°āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ•āļēāļĄāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
  • 152. Babel Coder Babel Coder https://www.babelcoder.com NAMED ARGUMENTS ✅āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđāļšāļš Positional Arguments 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđāļšāļš Named Arguments 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ (āļ„āđˆāļēāļˆāļ°āļ–āļđāļāđāļĄāļ›āļ•āļēāļĄāļŠāļ·āđˆāļ­āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļš) (āļ„āđˆāļēāļˆāļ°āļ–āļđāļāđāļĄāļ›āļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļĢāļ°āļšāļļāđ„āļ§āđ‰āđƒāļ™ [Arguments])
  • 153. Babel Coder Babel Coder https://www.babelcoder.com FREE NAMED ARGUMENTS (KWARGS) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āļ‡āļĢāļąāļšāļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļĢāļđāđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļŦāļĢāļ·āļ­āđ„āļĄāđˆāļˆāļģāļāļąāļ”āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡ Argument 📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™
  • 154. Babel Coder Babel Coder https://www.babelcoder.com NAMED-ONLY ARGUMENTS Named-Only Arguments āđ€āļ›āđ‡āļ™āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāđ€āļ‚āđ‰āļēāļĄāļēāļ•āļąāđ‰āļ‡āđāļ•āđˆ Robot Framework 3.1 āđ‚āļ”āļĒāđ„āļ”āđ‰āļĢāļąāļšāđāļĢāļ‡āļšāļąāļ™āļ”āļēāļĨāđƒāļˆāļˆāļēāļ Keyword-Only Arguments āļ‚āļ­āļ‡ Python 3 āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āđāļĨāđ‰āļ§ Named-Only Arguments āđƒāļŠāđ‰āđƒāļ™āļāļĢāļ“āļĩāļ—āļĩāđˆ āļĄāļĩ Variable-Length Positional Arguments (@{varargs}) āļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļāđˆāļ­āļ™ 1. āļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļģāļŦāļ™āļ”āļ§āđˆāļēāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļĩāđˆāļ•āļēāļĄāļĄāļēāļ•āđ‰āļ­āļ‡āļ–āļđāļāļŠāđˆāļ‡āļĄāļēāđāļšāļš Named Arguments āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ 2.
  • 155. Babel Coder Babel Coder https://www.babelcoder.com NAMED-ONLY ARGUMENTS 1. āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš @{varargs} āļ–āđ‰āļē User Keyword āļĄāļĩ Variable-Length Positional Arguments (@{varargs}) āļāđˆāļ­āļ™āļŦāļ™āđ‰āļē āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ” Named-Only Arguments āđ„āļ§āđ‰āļŦāļĨāļąāļ‡āļˆāļēāļāļ™āļąāđ‰āļ™āđ„āļ”āđ‰ 📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ āļ„āđˆāļēāļ—āļĩāđˆāđƒāļŠāđˆāļāđˆāļ­āļ™ named=value āļˆāļ°āļ–āļđāļāđ€āļāđ‡āļšāđƒāļ™ @{varargs} named āļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āđ‚āļ”āļĒāđƒāļŠāđ‰āļŠāļ·āđˆāļ­ (Named Argument) āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
  • 156. Babel Coder Babel Coder https://www.babelcoder.com NAMED-ONLY ARGUMENTS 2. āđƒāļŠāđ‰ Named-Only Arguments āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩ @{varargs} āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļ›āđ‡āļ™ Named-Only Arguments āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ @{} (āđ€āļ§āđ‰āļ™āļ§āđˆāļēāļ‡āđ„āļ§āđ‰) āđ€āļžāļ·āđˆāļ­āļ™āļģāļŦāļ™āđ‰āļēāļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ āļ—āļĩāđˆāļ•āļēāļĄāļĄāļē 📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ first āđāļĨāļ° second āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāđ€āļŠāļĄāļ­ āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Positional Arguments āđ„āļ”āđ‰
  • 157. Babel Coder Babel Coder https://www.babelcoder.com NAMED-ONLY ARGUMENTS 3. āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš Positional Arguments āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Named-Only Arguments āļĢāđˆāļ§āļĄāļāļąāļš Positional Arguments āđ„āļ”āđ‰ āđ‚āļ”āļĒāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ @{} āļ„āļąāđˆāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡ āļāļĨāļļāđˆāļĄ ðŸ“ŒāļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ positional āļ•āđ‰āļ­āļ‡āđƒāļŠāđˆāļ„āđˆāļēāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­ named āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ Named Argument āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
  • 158. Babel Coder Babel Coder https://www.babelcoder.com NAMED-ONLY ARGUMENTS 4. āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš Free Named Arguments (&{free named}) āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļąāļš Named Arguments āļŦāļĨāļēāļĒāļ„āđˆāļēāđāļšāļš Dynamic āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ &{free named} āđ„āļ”āđ‰ 📌āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ named only āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ Named Argument āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ &{free named} āļĢāļąāļšāļ„āđˆāļē Named Arguments āļ­āļ·āđˆāļ™āđ† āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­
  • 159. Babel Coder Babel Coder https://www.babelcoder.com NAMED-ONLY ARGUMENTS 5. āđƒāļŠāđ‰ Default Values āļāļąāļš Named-Only Arguments Named-Only Arguments āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™ āļāļąāļšāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļąāđˆāļ§āđ„āļ› ðŸ“ŒāļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ āļ–āđ‰āļēāđ„āļĄāđˆāđ„āļ”āđ‰āļŠāđˆāļ‡āļ„āđˆāļēāđƒāļŦāđ‰ named āļˆāļ°āđƒāļŠāđ‰ "default" āđ€āļ›āđ‡āļ™āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ–āđ‰āļēāļŠāđˆāļ‡āļ„āđˆāļē named=custom value āļˆāļ°āđƒāļŠāđ‰ "custom value" āđāļ—āļ™
  • 160. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļŠāđˆāļ‡āļœāđˆāļēāļ™āļ•āļąāļ§āđāļ›āļĢ āđ„āļ›āļĒāļąāļ‡ KEYWORDS Scalar Variable (${}) – āļ•āļąāļ§āđāļ›āļĢāđ€āļ”āļĩāđˆāļĒāļ§
  • 161. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļŠāđˆāļ‡āļœāđˆāļēāļ™āļ•āļąāļ§āđāļ›āļĢ āđ„āļ›āļĒāļąāļ‡ KEYWORDS List Variable (@{}) – āļ•āļąāļ§āđāļ›āļĢāđāļšāļš List 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 162. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļŠāđˆāļ‡āļœāđˆāļēāļ™āļ•āļąāļ§āđāļ›āļĢ āđ„āļ›āļĒāļąāļ‡ KEYWORDS Dictionary Variable (&{}) – āļ•āļąāļ§āđāļ›āļĢāđāļšāļš Dictionary 📌āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 163. Babel Coder Babel Coder https://www.babelcoder.com RETURN Robot Framework āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ RETURN āļ āļēāļĒāđƒāļ™ User Keywords āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ‡āļ„āđˆāļēāļāļĨāļąāļš ðŸ“Œāļ­āļ˜āļīāļšāļēāļĒ āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” Add Numbers āļĢāļąāļšāļ„āđˆāļēāļ•āļąāļ§āđ€āļĨāļ‚ 2 āļ„āđˆāļē (a, b) āļˆāļēāļāļ™āļąāđ‰āļ™ āļ„āļģāļ™āļ§āļ“āļœāļĨāļĢāļ§āļĄāđāļĨāļ°āļŠāđˆāļ‡āļ„āđˆāļēāļāļĨāļąāļšāļ”āđ‰āļ§āļĒ RETURN
  • 164. Babel Coder Babel Coder https://www.babelcoder.com RETURN āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāđˆāļ‡āļ„āđˆāļēāļāļĨāļąāļšāļĄāļēāļāļāļ§āđˆāļēāļŦāļ™āļķāđˆāļ‡āļ„āđˆāļē āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ RETURN āđāļĨāļ°āļ„āļąāđˆāļ™āļ„āđˆāļēāļ”āđ‰āļ§āļĒ SPACE 📌āļ­āļ˜āļīāļšāļēāļĒ āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” Get Name And Age āļ„āļ·āļ™āļ„āđˆāļēāļ—āļąāđ‰āļ‡ name āđāļĨāļ° age āđ‚āļ”āļĒ Test Case āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ„āļ”āđ‰
  • 165. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS āđƒāļ™ Robot Framework āļĄāļĩāļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒ "Should" āļŦāļĨāļēāļĒāļ•āļąāļ§āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļš āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ (Assertions) āļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆ āđ„āļ”āđ‰āļĢāļąāļšāļ•āļĢāļ‡āļāļąāļšāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļāļēāļĢ āļ•āļĢāļ§āļˆ āļŠāļ­āļšāļœāļĨāļĨāļąāļžāļ˜āđŒ āļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļš āļ„āļģāļŠāļąāđˆāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļšāļĢāļĢāļˆāļļāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ•āđ‰āđ„āļĨāļšāļĢāļēāļĢāļĩāđˆāļŠāļ·āđˆāļ­ Builtin āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāđˆ āļĄāļēāļ•āļĢāļāļēāļ™āļ—āļĩāđˆāļĢāļ§āļĄ Keyword āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļšāđˆāļ­āļĒ āđ† āđ€āļ‚āđ‰āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļāļąāļ™ āđ‚āļ”āļĒ Builtin āļˆāļ°āļ–āļđāļāļĢāļ§āļĄāđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡ āļ—āļģāļāļēāļĢāļ™āļģāđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļŠāđ‰āļœāđˆāļēāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļ§āđˆāļē Library Builtin
  • 166. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be Equal – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ€āļ—āđˆāļēāļāļąāļ™ āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡ (Hello āđāļĨāļ° Hello) āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™ âŒāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ„āļĄāđˆāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™
  • 167. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Not Be Equal – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡ (Hello āđāļĨāļ° World) āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ âŒāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™
  • 168. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be True – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ True ❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ False
  • 169. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be False – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ False ❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ„āđˆāļēāđ€āļ›āđ‡āļ™ True
  • 170. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Contain – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĄāļĩāļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "Hello World" āļĄāļĩāļ„āļģāļ§āđˆāļē "World" ❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļē "World" āđ„āļĄāđˆāļ­āļĒāļđāđˆāđƒāļ™ "Hello World"
  • 171. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Not Contain – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļĄāļĩāļ„āļģāļ—āļĩāđˆ āļāļģāļŦāļ™āļ” āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "Hello World" āđ„āļĄāđˆāļĄāļĩ "Python" ❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļē "Python" āļ­āļĒāļđāđˆāđƒāļ™ "Hello World"
  • 172. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should End With – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒ āļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ "Hello World" āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒ "World" ❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļĄāđˆāļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒ "World"
  • 173. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be Empty – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ§āđˆāļēāļ‡ ("") ❌āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļĄāļĩāļ„āđˆāļēāļ­āļĒāļđāđˆ
  • 174. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Not Be Empty – āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļ§āđˆāļēāļ‡ āđ€āļ›āļĨāđˆāļē āļœāļĨāļĨāļąāļžāļ˜āđŒ ✅āļœāđˆāļēāļ™ āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļĄāđˆāļ§āđˆāļēāļ‡ âŒāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ (Fail) āļ–āđ‰āļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ§āđˆāļēāļ‡
  • 175. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be Equal As Integers - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļē āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ (Integers) āļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļāļąāđˆ āļ‡ āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļĄāđˆāđƒāļŠāđˆāļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡ āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļāđˆāļ­āļ™āđ€āļŠāļĄāļ­ āļœāļĨāļĨāļąāļžāļ˜āđŒ āļŦāļēāļ ${result} āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 30 āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™ āļŦāļēāļāđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§
  • 176. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be Equal As Numbers - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļē āļ•āļąāļ§āđ€āļĨāļ‚ (Numbers) āļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āđ‚āļ”āļĒāļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡ āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāđāļĨāļ°āļ—āļĻāļ™āļīāļĒāļĄ āļ–āđ‰āļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļāļąāđˆ āļ‡āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļĄāđˆāđƒāļŠāđˆ āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļĨāļ‚āļāđˆāļ­āļ™āđ€āļŠāļĄāļ­ āļœāļĨāļĨāļąāļžāļ˜āđŒ āļŦāļēāļ ${result} āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš 31.0 āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļœāđˆāļēāļ™ āļŦāļēāļāđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§
  • 177. Babel Coder Babel Coder https://www.babelcoder.com SHOULD KEYWORDS Should Be Equal As Strings - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļē āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (Strings) āļ§āđˆāļēāļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļāļąāđˆ āļ‡āļ‚āļ­āļ‡āļāļēāļĢ āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ„āļĄāđˆāđƒāļŠāđˆāļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™ āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļāđˆāļ­āļ™āđ€āļŠāļĄāļ­ āļœāļĨāļĨāļąāļžāļ˜āđŒ āļŦāļēāļ ${text} āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš Hello, World! āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ° āļœāđˆāļēāļ™ āļŦāļēāļāđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§
  • 178. Babel Coder Babel Coder https://www.babelcoder.com āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ Should Be Equal āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ€āļ—āđˆāļēāļāļąāļ™ Should Not Be Equal āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāđ€āļ—āđˆāļēāļāļąāļ™ Should Be True āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ (True) Should Be False āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļĄāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļ—āđ‡āļˆ (False) SHOULD KEYWORDS Should Contain āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĄāļĩāļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ” Should Not Contain āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļĄāļĩāļ„āļģāļ—āļĩāđˆāļāļģāļŦāļ™āļ” Should Start With āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļ„āļģāļ—āļĩāđˆ āļāļģāļŦāļ™āļ” Should End With āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒāļ„āļģāļ—āļĩāđˆ āļāļģāļŦāļ™āļ” Should Be Empty āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē Should Not Be Empty āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē
  • 179. Babel Coder Babel Coder https://www.babelcoder.com RUN KEYWORDS RUN KEYWORDS āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™ Robot Framework āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™āļŦāļĨāļēāļĒāļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ” (Keywords) āđƒāļ™āļšāļĢāļĢāļ—āļąāļ”āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ„āļ”āđ‰ āđ‚āļ”āļĒāļ„āļąāđˆāļ™āđāļ•āđˆāļĨāļ°āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ AND āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļĄāļĩāļ„āļ§āļēāļĄāļāļĢāļ°āļŠāļąāļšāđāļĨāļ°āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ Keyword 1, Keyword 2, Keyword 3 āļ„āļ·āļ­āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļ—āļĩāđˆāļ•āļ­āļ‡āļāļēāļĢāļĢāļąāļ™ AND āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ„āļąāđˆāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”
  • 180. Babel Coder Babel Coder https://www.babelcoder.com RUN KEYWORDS āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
  • 182. Babel Coder Babel Coder https://www.babelcoder.com Data-Driven Tests āđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ (Test Data) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ‚āļąāļšāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ‚āļ”āļĒāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļˆāļ°āļ–āļđāļāļĢāļąāļ™āļ‹āđ‰āļģ āđ† āļāļąāļšāļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ– āļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđƒāļŦāļĄāđˆāļ—āļļāļ āļ„āļĢāļąāđ‰āļ‡ āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ‚āļ­āļ‡ Data-Driven Tests āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™: āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāļŠāļļāļ” āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļē: āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆ āļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļāđ‰āđ„āļ‚āđ‚āļ„āđ‰āļ”āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļš: āļŠāļēāļĄāļēāļĢāļ–āļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒ āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ DATA-DRIVEN TESTS āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ $ poetry add robotframework-datadriver $ poetry add robotframework-datadriver[xls]
  • 183. Babel Coder Babel Coder https://www.babelcoder.com Test Template āđ€āļ›āđ‡āļ™āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡ Robot Framework āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰ āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ” Keyword āļ—āļĩāđˆāļˆāļ°āļ–āļđāļāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āđ€āļ—āļĄāđ€āļžāļĨāļ•āļŠāļģāļŦāļĢāļąāļšāđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™ Test Suite āđ„āļ”āđ‰ TEST TEMPLATE āļœāļĨāļĨāļąāļžāļ˜āđŒ: āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ All Positive Numbers āļˆāļ°āļĢāļąāļ™ Keyword Add āļ”āđ‰āļ§āļĒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ 1, 2, āđāļĨāļ° 3 āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ All Negative Numbers āļˆāļ°āļĢāļąāļ™ Keyword Add āļ”āđ‰āļ§āļĒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ -1, -2, āđāļĨāļ° -3 āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠ Positive and Negative Numbers āļˆāļ°āļĢāļąāļ™ Keyword Add āļ”āđ‰āļ§āļĒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ -1, 2, āđāļĨāļ° 1
  • 184. Babel Coder Babel Coder https://www.babelcoder.com āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļ”āļŠāļ­āļšāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āđ€āļāđ‡āļšāđƒāļ™āđ„āļŸāļĨāđŒ Excel āđ„āļ”āđ‰ āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āđāļ–āļ§āđƒāļ™ Worksheet āļˆāļ°āđāļ—āļ™āļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āļķāđˆāļ‡āļŠāļļāļ” āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ Excel āļ—āļĩāđˆāļ§āļēāļ‡āđ„āļŸāļĨāđŒāđ„āļ§āđ‰āļ—āļĩāđˆ ${EXECDIR}/data/demo/math.xlsx āđāļĨāļ°āļĄāļĩ Worksheet āļŠāļ·āđˆāļ­ add āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļš TEST DATA āđƒāļ™āđ„āļŸāļĨāđŒ EXCEL āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ DataDriver āļœāļĨāļĨāļąāļžāļ˜āđŒ Robot Framework āļˆāļ°āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđ„āļŸāļĨāđŒ Excel āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āļŠāļ•āđŒ āđ€āļ„āļŠāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āđāļ–āļ§āđƒāļ™ Worksheet add āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļˆāļ°āļĢāļąāļ™ Keyword Add āļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđāļ•āđˆāļĨāļ°āđāļ–āļ§
  • 186. Babel Coder Babel Coder https://www.babelcoder.com Browser Library āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđ€āļ—āļŠāļ•āđŒāđ€āļ„āļŠāļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡ āļ‡āđˆāļēāļĒāļ”āļēāļĒ āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āļ—āļĩāđˆāđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒāđāļĨāļ°āđ€āļ›āđ‡āļ™āļ˜āļĢāļĢāļĄāļŠāļēāļ•āļīāļāļąāļšāļ āļēāļĐāļē Robot Framework āđ‚āļ”āļĒāđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āļāļēāļĢ āļ—āļģāļ‡āļēāļ™āļˆāļ°āđƒāļŠāđ‰ Playwright āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļāļąāļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ Chrome, Firefox, WebKit āđāļĨāļ° Edge BROWSER LIBRARY āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ $ poetry add robotframework-browser $ poetry run rfbrowser init
  • 187. Babel Coder Babel Coder https://www.babelcoder.com BROWSER KEYWORDS New Browser - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđƒāļŦāļĄāđˆ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Arguments browser: āļĢāļ°āļšāļļāļ›āļĢāļ°āđ€āļ āļ—āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ āđ€āļŠāđˆāļ™ chromium, firefox, webkit āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: chromium headless: āļĢāļ°āļšāļļāļ§āđˆāļēāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļˆāļ°āļ—āļģāļ‡āļēāļ™āđƒāļ™āđ‚āļŦāļĄāļ” Headless (āđ„āļĄāđˆāļĄāļĩ UI) āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ„āđˆāļēāđ€āļ›āđ‡āļ™ True āļŦāļĢāļ·āļ­ False āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: True
  • 188. Babel Coder Babel Coder https://www.babelcoder.com BROWSER KEYWORDS New Context - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡ Context āđƒāļŦāļĄāđˆ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļŠāļ āļēāļž āđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļāđƒāļ™āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Arguments viewport: āļĢāļ°āļšāļļāļ‚āļ™āļēāļ”āļŦāļ™āđ‰āļēāļˆāļ­ (Width x Height) āļŠāļģāļŦāļĢāļąāļš Context āđƒāļŦāļĄāđˆ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: {'width': 1280, 'height': 720}
  • 189. Babel Coder Babel Coder https://www.babelcoder.com BROWSER KEYWORDS New Page - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļīāļ”āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđƒāļŦāļĄāđˆ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Arguments url: URL āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ›āļīāļ” *** āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ New Browser āļŦāļĢāļ·āļ­ New Context āļāđˆāļ­āļ™āļŦāļ™āđ‰āļē New Page āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđāļĨāļ° Context āđƒāļŦāļĄāđˆāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
  • 190. Babel Coder Babel Coder https://www.babelcoder.com BROWSER KEYWORDS Close Browser - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
  • 191. Babel Coder Babel Coder https://www.babelcoder.com BROWSER KEYWORDS Get Title - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡ Title āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
  • 192. Babel Coder Babel Coder https://www.babelcoder.com BROWSER KEYWORDS Get Url - āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡ URL āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Arguments assertion_operator: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš URL āļ—āļĩāđˆāđ„āļ”āđ‰ āļāļąāļšāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡ ^=: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē URL āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡ $=: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē URL āļĨāļ‡āļ—āđ‰āļēāļĒāļ”āđ‰āļ§āļĒāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡ *=: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē URL āļĄāļĩāļ„āđˆāļēāļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡āļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ expected: āļ„āđˆāļē URL āļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 194. Babel Coder Babel Coder https://www.babelcoder.com ELEMENTS KEYWORDS āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš (Element) āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ”āđ‰āļ§āļĒ Robot Framework āđ‚āļ”āļĒāđƒāļŠāđ‰ Browser Library āđ€āļĢāļēāļˆāļ°āļŠāļģāļĢāļ§āļˆāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Keywords āļ•āđˆāļēāļ‡ āđ† āđ€āļžāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļš Elements āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ„āļ”āđ‰āđāļāđˆ Get Element Get Element Get Element By Get Element By Role Get Text Get Attribute
  • 195. Babel Coder Babel Coder https://www.babelcoder.com CSS SELECTORS āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ‡āđˆāļēāļĒāđāļĨāļ°āļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļēāļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Elements āļšāļ™ āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļ„āļ·āļ­āļāļēāļĢāđƒāļŠāđ‰ CSS Selectors āļœāđˆāļēāļ™ Keywords Get Element āđāļĨāļ° Get Elements Get Element: āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļē Element āđāļĢāļāļ—āļĩāđˆ āļ•āļĢāļ‡āļāļąāļš Selector āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Get Elements: āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļē Elements āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļš Selector āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™ Get Element āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļē Element āđāļĢāļāļ—āļĩāđˆāļĄāļĩ āļ„āļĨāļēāļŠ submit-btn āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ Get Elements āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļē āļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ Elements āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļĄāļĩāļ„āļĨāļēāļŠ submit-btn
  • 196. Babel Coder Babel Coder https://www.babelcoder.com CSS SELECTORS āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Element āļ—āļĩāđˆāļĄāļĩ attribute āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļš āđ„āļ”āđ‰āļœāđˆāļēāļ™ [attr-name=value] Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
  • 197. Babel Coder Babel Coder https://www.babelcoder.com CSS SELECTORS āđāļĄāđ‰āļ§āđˆāļē CSS Selectors āļˆāļ°āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒ āđāļ•āđˆāļāđ‡āļĄāļĩāļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļšāļēāļ‡ āļ›āļĢāļ°āļāļēāļĢ āđ€āļŠāđˆāļ™ āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Elements āļ•āļēāļĄāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰ āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Elements āļ•āļēāļĄāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­ Attribute āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āđ‰āļ­āļˆāļģāļāļąāļ” āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Parent Element (<div id="parent">) āļˆāļēāļ Child Element (<span class="child">) āļ”āđ‰āļ§āļĒ CSS āļˆāļ° āļ—āļģāđ„āļ”āđ‰āļĒāļēāļ
  • 198. Babel Coder Babel Coder https://www.babelcoder.com XPATH SELECTORS XPath (XML Path Language) āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āđ‰āļ™āļŦāļē āđāļĨāļ°āđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđƒāļ™āđ€āļ­āļāļŠāļēāļĢ XML āļŦāļĢāļ·āļ­ HTML āđ‚āļ”āļĒ āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰ Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ // āđāļŠāļ”āļ‡āļ–āļķāļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ element āļ›āļĨāļēāļĒāļ—āļēāļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ™āđƒāļˆāļ§āđˆāļēāļ­āļĒāļđāđˆ āļĢāļ°āļ”āļąāļšāļĨāļķāļāđ€āļžāļĩāļĒāļ‡āđƒāļ”
  • 199. Babel Coder Babel Coder https://www.babelcoder.com XPATH SELECTORS āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ [text()=āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ] āđ€āļžāļ·āđˆāļ­āļāļĢāļ­āļ‡āđ€āļ‰āļžāļēāļ° Element āļ—āļĩāđˆ āļĄāļĩāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ”āļąāļ‡āļāļĨāđˆāļēāļ§āđ„āļ”āđ‰ Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ āđ€āļĢāļēāđƒāļŠāđ‰ XPath āđ€āļžāļ·āđˆāļ­āđ€āļĨāļ·āļ­āļ <button> āļ—āļĩāđˆāļĄāļĩāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļ§āđˆāļē "Submit"
  • 200. Babel Coder Babel Coder https://www.babelcoder.com XPATH SELECTORS āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ [@attr=value] āđ€āļžāļ·āđˆāļ­āļāļĢāļ­āļ‡āđ€āļ‰āļžāļēāļ° Element āļ—āļĩāđˆāļĄāļĩ attr āļ•āļēāļĄāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ”āđ‰ Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 201. Babel Coder Babel Coder https://www.babelcoder.com XPATH SELECTORS XPath āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļ Elements āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰ āđ€āļŠāđˆāļ™ Elements āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ Elements āļ­āļ·āđˆāļ™ āļŦāļĢāļ·āļ­āļāļēāļĢāđ€āļĨāļ·āļ­āļ Parent Element Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđāļĢāļ āđ€āļĢāļēāđ€āļĨāļ·āļ­āļ <input> āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ <div> āļ—āļĩāđˆāļĄāļĩ id āđ€āļ›āđ‡āļ™ container āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆāļŠāļ­āļ‡ āđ€āļĢāļēāđ€āļĨāļ·āļ­āļ Parent Element āļ‚āļ­āļ‡ <input> āđ‚āļ”āļĒāđƒāļŠāđ‰ ..
  • 202. Babel Coder Babel Coder https://www.babelcoder.com XPATH SELECTORS āļŦāļēāļ XPath āļ—āļĩāđˆāđ€āļĢāļēāđƒāļŠāđ‰āļ•āļĢāļ‡āļāļąāļšāļŦāļĨāļēāļĒ Elements āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Get Elements āđ€āļžāļ·āđˆāļ­āļĢāļąāļšāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ Elements āđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™ Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ Get Elements āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļēāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ <li> āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ—āļĩāđˆāļĄāļĩāļ„āļĨāļēāļŠ item
  • 203. Babel Coder Babel Coder https://www.babelcoder.com XPATH SELECTORS āļāļēāļĢāđƒāļŠāđ‰ XPath āļ­āļēāļˆāļĄāļĩāļ›āļąāļāļŦāļēāđ€āļĄāļ·āđˆāļ­āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ āļŦāļēāļāļ™āļąāļāļžāļąāļ’āļ™āļēāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļĢāļ·āļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Elements āļˆāļ°āļ—āļģāđƒāļŦāđ‰ XPath āļ—āļĩāđˆāđ€āļĢāļēāđƒāļŠāđ‰āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ āļŠāđˆāļ‡āļœāļĨāđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđāļĨāļ°āļ•āđ‰āļ­āļ‡āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡ XPath āđƒāļŦāļĄāđˆ āđ€āļ›āļĢāļēāļ°āļšāļēāļ‡āļ•āđˆāļ­āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡: āļŦāļēāļāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ HTML āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ XPath āļ­āļēāļˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰ āļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđāļĨāļ°āļ­āđˆāļēāļ™āļĒāļēāļ: XPath āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āļ­āđˆāļēāļ™āļĒāļēāļāđāļĨāļ°āļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāļĒāļēāļ
  • 204. Babel Coder Babel Coder https://www.babelcoder.com TEST-ID SELECTORS Test ID āđ€āļ›āđ‡āļ™āđāļ™āļ§āļ—āļēāļ‡āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Elements āļĄāļĩāļ„āļ§āļēāļĄ āđ€āļŠāļ–āļĩāļĒāļĢāļĄāļēāļāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāđƒāļŠāđ‰ Attribute data-testid āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāļĨāļ”āļœāļĨāļ āļĢāļ°āļ—āļšāļˆāļēāļāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ DOM āđ€āļžāļĢāļēāļ° Test ID āļĄāļąāļāļˆāļ°āđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļšāđˆāļ­āļĒ Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļāļĢāļ“āļĩāļ—āļĩāđˆ Elements āļĄāļĩāļĄāļēāļāļāļ§āđˆāļē 1 āļ•āļąāļ§ āđƒāļŦāđ‰āđ€āļ•āļīāļĄ all_elements=True āđ€āļŠāđˆāļ™
  • 205. Babel Coder Babel Coder https://www.babelcoder.com ROLE SELECTORS āļāļēāļĢāđƒāļŠāđ‰ Role āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āđ€āļžāļĢāļēāļ° āļŠāļ™āļąāļšāļŠāļ™āļļāļ™ Accessibility: Role āļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļš WAI- ARIA Roles āļ—āļģāđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāđ„āļ”āđ‰āļ§āđˆāļēāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ āļ‡āļēāļ™āđ„āļ”āđ‰āđ‚āļ”āļĒāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļļāļāļāļĨāļļāđˆāļĄ āļĨāļ”āļ„āļ§āļēāļĄāđ€āļ›āļĢāļēāļ°āļšāļēāļ‡: Role āļĄāļąāļāļˆāļ°āđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļšāđˆāļ­āļĒāđāļĄāđ‰ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ HTML āļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ Robot Framework āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđāļ—āđ‡āļ button āļˆāļ°āļĄāļĩ Role āđ€āļ›āđ‡āļ™ button
  • 206. Babel Coder Babel Coder https://www.babelcoder.com WAI-AREA ROLES Role āđƒāļ™ WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰ āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļŠāđˆāļ§āļĒāđ€āļŦāļĨāļ·āļ­ āđ€āļŠāđˆāļ™ Screen Readers āđ€āļ‚āđ‰āļēāđƒāļˆāđāļĨāļ°āđ‚āļ•āđ‰āļ•āļ­āļšāļāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ„āļ”āđ‰āļ”āļĩāļ‚āļķāđ‰āļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡ Roles āļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ āđ€āļŠāđˆāļ™ BUTTON: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āļļāđˆāļĄ TEXTBOX: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ­āļ‡āļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ LINK: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĨāļīāļ‡āļāđŒ HEADING: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŦāļąāļ§āļ‚āđ‰āļ­ (āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļĢāļ°āļ”āļąāļšāđ„āļ”āđ‰) PARAGRAPH: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĒāđˆāļ­āļŦāļ™āđ‰āļē ARTICLE: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļšāļ—āļ„āļ§āļēāļĄ
  • 207. Babel Coder Babel Coder https://www.babelcoder.com BUTTON ROLE Role button āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļļāđˆāļĄ āļ‹āļķāđˆāļ‡ āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāđ„āļ”āđ‰āđ€āļžāļ·āđˆāļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰ <button> <input type="button"> <input type="submit"> <input type="reset"> <div role="button"> āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 208. Babel Coder Babel Coder https://www.babelcoder.com TEXTBOX ROLE Role textbox āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļŠāđˆāļ­āļ‡āļ›āđ‰āļ­āļ™ āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰ <input type="text"> <textarea> <div role="textbox"> āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 209. Babel Coder Babel Coder https://www.babelcoder.com LINK ROLE Role link āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļĨāļīāļ‡āļāđŒ āļ‹āļķāđˆāļ‡ āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāđ€āļžāļ·āđˆāļ­āļ™āļģāļœāļđāđ‰āđƒāļŠāđ‰āđ„āļ›āļĒāļąāļ‡āļŦāļ™āđ‰āļēāļ­āļ·āđˆāļ™āļŦāļĢāļ·āļ­āļŠāđˆāļ§āļ™āļ­āļ·āđˆāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰ <a> <div role="link"> āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 210. Babel Coder Babel Coder https://www.babelcoder.com HEADING ROLE Role heading āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļŦāļąāļ§āļ‚āđ‰āļ­ āļ‹āļķāđˆāļ‡ āļĄāļąāļāđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰ <h1> āļ–āļķāļ‡ <h6> <div role="heading" aria-level="1"> āļ–āļķāļ‡ <div role="heading" aria-level="6"> āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 211. Babel Coder Babel Coder https://www.babelcoder.com PARAGRAPH ROLE Role paragraph āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ āļĒāđˆāļ­āļŦāļ™āđ‰āļē āļ‹āļķāđˆāļ‡āļĄāļąāļāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĒāļēāļ§ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰ <p> <div role="paragraph"> āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 212. Babel Coder Babel Coder https://www.babelcoder.com ARTICLE ROLE Role article āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļšāļ—āļ„āļ§āļēāļĄ āļŦāļĢāļ·āļ­āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ­āļīāļŠāļĢāļ° āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML HTML Tags āļ—āļĩāđˆāļĄāļĩ Role āļ™āļĩāđ‰ <article> <div role="article"> āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 213. Babel Coder Babel Coder https://www.babelcoder.com GET TEXT Get Text āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (Text) āļˆāļēāļ Element āļ—āļĩāđˆāļĢāļ°āļšāļļ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 214. Babel Coder Babel Coder https://www.babelcoder.com GET ATTRIBUTE Get Attribute āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ„āđˆāļēāļ‚āļ­āļ‡ Attribute āļˆāļēāļ Element āļ—āļĩāđˆāļĢāļ°āļšāļļ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āļœāļĨāļĨāļąāļžāļ˜āđŒ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ selector: Selector āļ‚āļ­āļ‡ Element āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļķāļ‡ Attribute attribute: āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡ Attribute āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļķāļ‡āļ„āđˆāļē ${attribute}: āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ„āđˆāļēāļ‚āļ­āļ‡ Attribute āļ—āļĩāđˆāļ”āļķāļ‡āļĄāļē
  • 215. Babel Coder Babel Coder https://www.babelcoder.com CLICK Click āđ€āļ›āđ‡āļ™ Keyword āđƒāļ™ Browser Library āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āļĨāļīāļ Element āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ€āļŠāđˆāļ™ Button, Link, āļŦāļĢāļ·āļ­ Checkbox āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ Element āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļĨāļīāļāđ„āļ”āđ‰āļœāđˆāļēāļ™ Selector āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 216. Babel Coder Babel Coder https://www.babelcoder.com DIALOG āļāļēāļĢāļ—āļ”āļŠāļ­āļš Alert āđāļĨāļ° Confirm āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļĩāļāļēāļĢāđ‚āļ•āđ‰āļ•āļ­āļšāļāļąāļšāļœāļđāđ‰ āđƒāļŠāđ‰āļœāđˆāļēāļ™āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ āļŦāļąāļ§āļ‚āđ‰āļ­āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļš Alert āđāļĨāļ° Confirm āļ”āđ‰āļ§āļĒ Browser Library āđƒāļ™ Robot Framework āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ” HTML āđāļĨāļ°āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™ Robot Framework āđ‚āļ”āļĒāđƒāļŠāđ‰ Wait For Alert āļ„āļ§āļšāļ„āļđāđˆāļāļąāļš Promise To Wait For Alert: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļš Alert āļŦāļĢāļ·āļ­ Confirm āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļ„āļĨāļīāļāļ›āļļāđˆāļĄ "accept" (OK) āļŦāļĢāļ·āļ­ "dismiss" (Cancel) āđ„āļ”āđ‰ Promise To: āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļĢāļ­āđƒāļŦāđ‰āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Wait For Alert āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ•āđˆāļ­āđ„āļ› āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ: āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļ™ Alert āļŦāļĢāļ·āļ­ Confirm āđ„āļ”āđ‰āđ‚āļ”āļĒāļĢāļ°āļšāļļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļ™āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒ text
  • 217. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ—āļ”āļŠāļ­āļš ALERT Alert āđ€āļ›āđ‡āļ™āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđāļĨāļ°āļĄāļĩāļ›āļļāđˆāļĄ "OK" āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļ„āļĨāļīāļ āļāļēāļĢāļ—āļ”āļŠāļ­āļš Alert āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆ āđāļŠāļ”āļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāļ›āļļāđˆāļĄ "OK" āđ„āļ”āđ‰ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 218. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ—āļ”āļŠāļ­āļš CONFIRM Confirm āđ€āļ›āđ‡āļ™āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĒāļ·āļ™āļĒāļąāļ™āđāļĨāļ°āļĄāļĩāļ›āļļāđˆāļĄ "OK" āđāļĨāļ° "Cancel" āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āđ€āļĨāļ·āļ­āļ āļāļēāļĢāļ—āļ”āļŠāļ­āļš Confirm āļˆāļ° āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ„āļĨāļīāļāļ›āļļāđˆāļĄ "OK" āļŦāļĢāļ·āļ­ "Cancel" āđ„āļ”āđ‰ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 219. Babel Coder Babel Coder https://www.babelcoder.com FILE DOWNLOAD āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļĩāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” āđ„āļŸāļĨāđŒ Promise To Wait For Download: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ„āļēāļ”āļ§āđˆāļēāļˆāļ°āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™ Wait For: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđƒāļŦāđ‰ Promise āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āđāļĨāļ°āļ„āļ·āļ™āļ„āđˆāļēāļœāļĨāļĨāļąāļžāļ˜āđŒāļ‚āļ­āļ‡āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ Wait For āļāļąāļš Promise To Wait For Download āļˆāļ°āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļ›āđ‡āļ™ Object āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļē DownloadInfo āļ‹āļķāđˆāļ‡āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ saveAs: path āļ—āļĩāđˆāđ„āļŸāļĨāđŒāļ–āļđāļāļšāļąāļ™āļ—āļķāļāđ„āļ§āđ‰āđƒāļ™āļĢāļ°āļšāļš suggestedFilename: āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđāļ™āļ°āļ™āļģāđƒāļŦāđ‰āđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” (āļŠāļąāļ‡āđ€āļāļ•āļˆāļēāļāđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒ download āļ‚āļ­āļ‡āđāļ—āđ‡āļ a)
  • 220. Babel Coder Babel Coder https://www.babelcoder.com FILE DOWNLOAD āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 221. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ STATES āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļąāļāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļĢāļ­āđƒāļŦāđ‰āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆāļŠāļĄāļšāļđāļĢāļ“āđŒāļŦāļĢāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡ Element āļšāļ™ āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āļˆāļ°āđƒāļŠāđ‰ Keywords āļŠāļ­āļ‡āļ•āļąāļ§ āļ”āļąāļ‡āļ™āļĩāđ‰ Wait For Load State: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđƒāļŦāđ‰āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆāļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļāļģāļŦāļ™āļ” Get Element States: āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡ Element āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš
  • 222. Babel Coder Babel Coder https://www.babelcoder.com WAIT FOR LOAD STATE āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework Wait For Load State āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļ­āđƒāļŦāđ‰āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆ āļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļāļģāļŦāļ™āļ” āđ€āļŠāđˆāļ™ load, domcontentloaded, āļŦāļĢāļ·āļ­ networkidle āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš load: āļĢāļ­āļˆāļ™āļāļ§āđˆāļēāļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļˆāļ°āđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆāļŠāļĄāļšāļđāļĢāļ“āđŒ (āļĢāļ§āļĄāļ–āļķāļ‡ āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ€āļŠāđˆāļ™ āļ āļēāļžāđāļĨāļ°āļŠāļ„āļĢāļīāļ›āļ•āđŒ) domcontentloaded: āļĢāļ­āļˆāļ™āļāļ§āđˆāļē DOM āļˆāļ°āđ‚āļŦāļĨāļ”āđ€āļŠāļĢāđ‡āļˆ āļŠāļĄāļšāļđāļĢāļ“āđŒ (āđ„āļĄāđˆāļĢāļ§āļĄāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ­āļ·āđˆāļ™ āđ†) networkidle: āļĢāļ­āļˆāļ™āļāļ§āđˆāļēāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļˆāļ°āļ§āđˆāļēāļ‡ (āđ„āļĄāđˆāļĄāļĩāļ„āļģāļ‚āļ­āđ€āļ„āļĢāļ·āļ­ āļ‚āđˆāļēāļĒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ)
  • 223. Babel Coder Babel Coder https://www.babelcoder.com GET ELEMENT STATES āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework Get Element States āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡ Element āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ€āļŠāđˆāļ™ visible, hidden, enabled, āļŦāļĢāļ·āļ­ disabled āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš visible: Element āļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš hidden: Element āđ„āļĄāđˆāļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš enabled: Element āļŠāļēāļĄāļēāļĢāļ–āđ‚āļ•āđ‰āļ•āļ­āļšāđ„āļ”āđ‰ disabled: Element āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ‚āļ•āđ‰āļ•āļ­āļšāđ„āļ”āđ‰ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML
  • 224. Babel Coder Babel Coder https://www.babelcoder.com FORM āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļš āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļŦāļąāļ§āļ‚āđ‰āļ­āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄāļ”āđ‰āļ§āļĒ Browser Library āđƒāļ™ Robot Framework āđ‚āļ”āļĒāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ Keywords āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ Fill Text, Check Checkbox, Select Options By, āđāļĨāļ° Upload File By Selector āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ” HTML āđāļĨāļ°āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™ Robot Framework
  • 225. Babel Coder Babel Coder https://www.babelcoder.com FILL TEXT Fill Text āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĨāļ‡āđƒāļ™āļŠāđˆāļ­āļ‡āļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļĄāļđāļĨ (Text Input) āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 226. Babel Coder Babel Coder https://www.babelcoder.com CHECK CHECKBOX Check Checkbox āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļĨāļ·āļ­āļ Checkbox āļŦāļĢāļ·āļ­ Radio Button āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 227. Babel Coder Babel Coder https://www.babelcoder.com SELECT OPTIONS BY Select Options By āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļĨāļ·āļ­āļāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļˆāļēāļ Dropdown āļŦāļĢāļ·āļ­ List Box āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 228. Babel Coder Babel Coder https://www.babelcoder.com UPLOAD FILE BY SELECTOR Upload File By Selector āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāļœāđˆāļēāļ™ Input āļ›āļĢāļ°āđ€āļ āļ— File āļšāļ™āđ€āļ§āđ‡āļšāļŸāļ­āļĢāđŒāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ HTML āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 230. API TESTING Babel Coder Babel Coder https://www.babelcoder.com
  • 232. Babel Coder Babel Coder https://www.babelcoder.com RESTFUL API C 1 C 2 C 2 C 2 RESTful API āļ„āļ·āļ­āđ€āļ§āđ‡āļšāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠāļĢāļđāļ›āđāļšāļšāļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđƒāļŦāđ‰ API āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆ Client āļŠāļēāļĄāļēāļĢāļ–āļĢāđ‰āļ­āļ‡āļ‚āļ­āđ€āļžāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰ āđ‚āļ”āļĒ Client āļˆāļ°āļ—āļģāļāļēāļĢāļĢāļ°āļšāļļāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļœāđˆāļēāļ™ URL āđāļĨāļ°āļĢāļ°āļšāļļāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļœāđˆāļēāļ™ HTTP Method /products Product Order User Comment URL Method GET āđ€āļĄāļ·āđˆāļ­ API āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļˆāļ°āļ„āļ·āļ™āļœāļĨāļĨāļąāļžāļ˜āđŒāļāļĨāļąāļšāļĄāļēāđƒāļ™āļŸāļ­āļĢāđŒāđāļĄāļ•āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ JSON āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ Client āļ—āļĢāļēāļšāļ§āđˆāļēāļœāļĨāļĨāļąāļžāļ˜āđŒāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ›āđ‡āļ™āđ€āļŠāđˆāļ™ āđ„āļĢ API āļ•āđ‰āļ­āļ‡āļŠāđˆāļ‡ HTTP Status Code āļāļĨāļąāļšāļ”āđ‰āļ§āļĒ āļžāļĢāđ‰āļ­āļĄāļĢāļ°āļšāļļ MIME Type āđ€āļžāļ·āđˆāļ­āļšāļ­āļāļŠāļ™āļīāļ”āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļŠāđˆāļ‡āļāļĨāļąāļš MIME Type Status Response application/json 200 OK
  • 233. Babel Coder Babel Coder https://www.babelcoder.com HTTP Method URL āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ Status āđ€āļĄāļ·āđˆāļ­āļŠāļģāđ€āļĢāđ‡āļˆ Status āđ€āļĄāļ·āđˆāļ­āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ GET /products āļĢāđ‰āļ­āļ‡āļ‚āļ­āļ‚āđ‰āļ­āļĄāļđāļĨ Products āļ—āļąāđ‰āļ‡āļŦāļĄāļ” 200 OK GET /products/1 āļĢāđ‰āļ­āļ‡āļ‚āļ­āļ‚āđ‰āļ­āļĄāļđāļĨ Product āļ—āļĩāđˆāļĄāļĩ ID āđ€āļ›āđ‡āļ™ 1 200 OK 404 NOT FOUND POST /products āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ Product āļ•āļąāļ§āđƒāļŦāļĄāđˆ 201 CREATED 400 BAD REQUEST 422 UNPROCESSIBLE ENTITY PATCH /products/1 āļ­āļąāļžāđ€āļ”āļ—āļ‚āđ‰āļ­āļĄāļđāļĨāļšāļēāļ‡āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡ Product āļ—āļĩāđˆāļĄāļĩ ID āđ€āļ›āđ‡āļ™ 1 200 OK 400 BAD REQUEST 422 UNPROCESSIBLE ENTITY DELETE /products/1 āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡ Product āļ—āļĩāđˆāļĄāļĩ ID āđ€āļ›āđ‡āļ™ 1 200 OK 204 NO CONTENT 404 NOT FOUND RESTFUL API
  • 234. Babel Coder Babel Coder https://www.babelcoder.com PAYLOAD /products Product Order User Comment URL Method POST MIME Type application/json Validate 400 BAD REQUEST 422 UNPROCESSIBLE ENTITY
  • 235. Babel Coder Babel Coder https://www.babelcoder.com Request Library āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāđƒāļ™ Robot Framework āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ‡ āļ„āļģāļ‚āļ­ HTTP āđ„āļ›āļĒāļąāļ‡ API āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļąāļš Response āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš āđ‚āļ”āļĒāļĢāļ­āļ‡āļĢāļąāļš āļ§āļīāļ˜āļĩāļāļēāļĢāļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ GET, POST, PUT, DELETE āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļš Response āđ„āļ”āđ‰āļ—āļąāđ‰āļ‡āđƒāļ™āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡ Body āđāļĨāļ° Status Code REQUEST LIBRARY
  • 236. Babel Coder Babel Coder https://www.babelcoder.com GET āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ API
  • 237. Babel Coder Babel Coder https://www.babelcoder.com POST āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ›āļĒāļąāļ‡ API āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆ
  • 238. Babel Coder Babel Coder https://www.babelcoder.com PUT āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļšāļ™ API
  • 239. Babel Coder Babel Coder https://www.babelcoder.com DELETE āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļšāļ™ API
  • 240. Babel Coder Babel Coder https://www.babelcoder.com āļ•āļĢāļ§āļˆāļŠāļ­āļš RESPONSE BODY āđāļšāļš JSON āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Response Response Body āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļˆāļēāļ API āļĄāļąāļāļ­āļĒāļđāđˆāđƒāļ™āļĢāļđāļ›āđāļšāļš JSON āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āđˆāļēāđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 241. Babel Coder Babel Coder https://www.babelcoder.com GET FILE FOR STREAMING UPLOAD Get File For Streaming Upload āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒāđ„āļ›āļĒāļąāļ‡ API āđ‚āļ”āļĒāļŠāđˆāļ‡āđ„āļŸāļĨāđŒāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡ āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Robot Framework
  • 243. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŠāļīāļ‡āļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ (RDBMS) āļ„āļ·āļ­āļ­āļ°āđ„āļĢ? RDBMS (Relational Database Management System) āļ„āļ·āļ­āļĢāļ°āļšāļšāļˆāļąāļ”āļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļđāļ›āđāļšāļšāļ‚āļ­āļ‡ āļ•āļēāļĢāļēāļ‡ (Table) āļ‹āļķāđˆāļ‡āļĄāļĩ āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ RDBMS āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄ āđ„āļ”āđ‰āđāļāđˆ: PostgreSQL: āđ€āļ›āđ‡āļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ­āđ€āļžāđˆāļ™āļ‹āļ­āļĢāđŒāļŠāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡ āđ€āļŠāđˆāļ™ JSON, Full-text search āđāļĨāļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļš ACID MySQL: āđ€āļ›āđ‡āļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒāđāļĨāļ°āđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄāđƒāļ™āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ SQL āļ„āļ·āļ­āļ­āļ°āđ„āļĢ? SQL (Structured Query Language) āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ RDBMS āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡ āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āļāļēāļĢāļ”āļķāļ‡ āļ‚āđ‰āļ­āļĄāļđāļĨ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļēāļāļ•āļēāļĢāļēāļ‡ users RDBMS āđāļĨāļ° SQL
  • 244. Babel Coder Babel Coder https://www.babelcoder.com āļ•āļēāļĢāļēāļ‡āđƒāļ™ RDBMS āļĄāļĩ āļ„āļ­āļĨāļąāļĄāļ™āđŒ (Columns) āđāļĨāļ° āđāļ–āļ§ (Rows) āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āļ„āļ­āļĨāļąāļĄāļ™āđŒāļĄāļĩāļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ (Data Type) āļ—āļĩāđˆ āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰ āđ€āļŠāđˆāļ™ INTEGER: āđƒāļŠāđ‰āđ€āļāđ‡āļšāļ•āļąāļ§āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ VARCHAR(255): āđƒāļŠāđ‰āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļĄāđˆāđ€āļāļīāļ™ 255 āļ•āļąāļ§āļ­āļąāļāļĐāļĢ DATE: āđƒāļŠāđ‰āđ€āļāđ‡āļšāļ§āļąāļ™āļ—āļĩāđˆ āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡ (TABLE) āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ” id SERIAL PRIMARY KEY: āļŠāļĢāđ‰āļēāļ‡āļ„āļ­āļĨāļąāļĄāļ™āđŒ id āđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ—āļĩāđˆ āđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļĨāļ°āđ€āļ›āđ‡āļ™ Primary Key (āļ„āđˆāļēāļŦāļĨāļąāļ) email VARCHAR(255) UNIQUE NOT NULL: āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰ email āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ‹āđ‰āļģāļāļąāļ™āđ„āļ”āđ‰ ** āđƒāļŠāđ‰ CREATE TABLE IF NOT EXISTS users āļāļĢāļ“āļĩāļ—āļĩāđˆ āļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āļŠāļĢāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡āđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āđ„āļĄāđˆāļĄāļĩāļ•āļēāļĢāļēāļ‡ users āļĄāļēāļāđˆāļ­āļ™
  • 245. Babel Coder Babel Coder https://www.babelcoder.com id name email created_at 1 Alice [email protected] 2024-02-24 12:00:00 āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ INSERT INTO āđ€āļžāļ·āđˆāļ­āđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļĨāļ‡āđƒāļ™āļ•āļēāļĢāļēāļ‡ āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨ (INSERT) āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļœāļđāđ‰āđƒāļŠāđ‰āđƒāļŦāļĄāđˆ
  • 246. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ SELECT āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ•āļēāļĢāļēāļ‡ āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ (SELECT) āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļĩāđˆāļĄāļĩ ID = 1 āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđāļ„āđˆāļŸāļīāļĨāļ”āđŒ name āđāļĨāļ° email āđƒāļŠāđ‰ SELECT name, email FROM users
  • 247. Babel Coder Babel Coder https://www.babelcoder.com ORDER BY āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™ SQL āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆ āđ„āļ”āđ‰āļˆāļēāļāļ„āļģāļŠāļąāđˆāļ‡ SELECT āļ•āļēāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒāļ—āļĩāđˆāļāļģāļŦāļ™āļ” āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļ‡ āļĨāļģāļ”āļąāļšāļˆāļēāļāļ™āđ‰āļ­āļĒāđ„āļ›āļĄāļēāļ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™) āļŦāļĢāļ·āļ­āļˆāļēāļāļĄāļēāļāđ„āļ›āļ™āđ‰āļ­āļĒāļāđ‡āđ„āļ”āđ‰ ORDER BY āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ column1, column2, ...: āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļš ASC: āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļˆāļēāļāļ™āđ‰āļ­āļĒāđ„āļ›āļĄāļēāļ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™) DESC: āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļˆāļēāļāļĄāļēāļāđ„āļ›āļ™āđ‰āļ­āļĒ āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļēāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒ salary āļˆāļēāļāļ™āđ‰āļ­āļĒāđ„āļ›āļĄāļēāļ āđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļēāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒ salary āļˆāļēāļāļĄāļēāļāđ„āļ›āļ™āđ‰āļ­āļĒ
  • 248. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ UPDATE āđ€āļžāļ·āđˆāļ­āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļ•āļēāļĢāļēāļ‡ āļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨ (UPDATE) id name email created_at 1 Alice [email protected] 2024-02-24 12:00:00
  • 249. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ DELETE āđ€āļžāļ·āđˆāļ­āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļšāļēāļ‡āđāļ–āļ§āļ­āļ­āļāļˆāļēāļāļ•āļēāļĢāļēāļ‡ āļāļēāļĢāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨ (DELETE) āļāļĢāļ“āļĩāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļēāļāļ•āļēāļĢāļēāļ‡ orders āđƒāļŦāđ‰āđƒāļŠāđ‰āļ„āļģ āļŠāļąāđˆāļ‡ DELETE FROM orders
  • 250. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ TRUNCATE āđ€āļžāļ·āđˆāļ­āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™āļ•āļēāļĢāļēāļ‡ āđāļĨāļ°āļĢāļĩāđ€āļ‹āđ‡āļ•āļ„āđˆāļē Primary Key āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļˆāļ°āļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđāļĨāļ°āļĢāļĩāđ€āļ‹āđ‡āļ•āļ„āđˆāļē id āđƒāļŦāđ‰āđ€āļĢāļīāđˆāļĄāļ—āļĩāđˆ 1 āđƒāļŦāļĄāđˆ āļāļēāļĢāļĨāđ‰āļēāļ‡āļ•āļēāļĢāļēāļ‡ (TRUNCATE)
  • 251. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš E2E Testing āđ€āļŠāđˆāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļĄāļĩ āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš API āđ‚āļ”āļĒāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ„āļ›āļĒāļąāļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļĩāļāļ—āļĩāļ™āļąāđ‰āļ™ āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢ āļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āļšāļ™āđ€āļ§āđ‡āļš āđ€āļŠāđˆāļ™ āļ—āļģāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆāļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš āđ€āļĢāļē āļ•āđ‰āļ­āļ‡āļĄāļĩāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļ›āļĒāļąāļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āđˆāļēāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āļšāļ™āđ€āļ§āđ‡āļšāļ™āļąāđ‰āļ™āļ—āļģāđƒāļŦāđ‰ āđ€āļāļīāļ”āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆāļšāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āđ€āļĢāļēāđƒāļŠāđ‰ Database Library āđƒāļ™āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļˆāļēāļ Robot Framework āđ„āļ›āļĒāļąāļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĨāļēāļĒāļ—āļēāļ‡ DATABASE TESTING
  • 252. Babel Coder Babel Coder https://www.babelcoder.com DATABASE LIBRARY Database Library āđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāđƒāļ™ Robot Framework āļ—āļĩāđˆ āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ āļšāļ—āđ€āļĢāļĩāļĒāļ™āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Keywords āļ•āđˆāļēāļ‡ āđ† āđƒāļ™ Database Library āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ PostgreSQL, MySQL, āđāļĨāļ° SQLite āļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ āļāļēāļĢāļĢāļąāļ™ SQL Script, āļāļēāļĢāļĢāļąāļ™ SQL String, āđāļĨāļ° āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ”āđ‰āļ§āļĒ Query $ poetry add robotframework-databaselibrary $ poetry add psycopg2 # āļāļĢāļ“āļĩāļ‚āļ­āļ‡ PostgreSQL $ poetry add pymysql# āļāļĢāļ“āļĩāļ‚āļ­āļ‡ MySQL $ poetry add pysqlite # āļāļĢāļ“āļĩāļ‚āļ­āļ‡ SQLite
  • 253. Babel Coder Babel Coder https://www.babelcoder.com CONNECT TO DATABASE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđ‚āļ”āļĒāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄ āļ•āđˆāļ­ āđ€āļŠāđˆāļ™ āļŠāļ·āđˆāļ­āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ, āļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰, āļĢāļŦāļąāļŠāļœāđˆāļēāļ™, āđāļĨāļ°āđ‚āļŪāļŠāļ•āđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ MySQL āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ PostgreSQL āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ SQLite
  • 254. Babel Coder Babel Coder https://www.babelcoder.com DISCONNECT FROM DATABASE āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ›āļīāļ”āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ
  • 255. Babel Coder Babel Coder https://www.babelcoder.com EXECUTE SQL SCRIPT āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļąāļ™ SQL Script āļˆāļēāļāđ„āļŸāļĨāđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđ„āļŸāļĨāđŒ create_tables.sql
  • 256. Babel Coder Babel Coder https://www.babelcoder.com id name email 1 Alice [email protected] 2 Bob [email protected] EXECUTE SQL STRING āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļąāļ™ SQL Command āđ‚āļ”āļĒāļ•āļĢāļ‡ āļœāļĨāļĨāļąāļžāļ˜āđŒ (āļ•āļēāļĢāļēāļ‡ users) āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
  • 257. Babel Coder Babel Coder https://www.babelcoder.com QUERY āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ return_dict=True āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļ›āđ‡āļ™ Dictionary āļœāļĨāļĨāļąāļžāļ˜āđŒ: ${records} āļˆāļ°āļĄāļĩāļ„āđˆāļēāļ”āļąāļ‡āļ™āļĩāđ‰ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™
  • 259. APPIUM MOBILE TESTING Babel Coder Babel Coder https://www.babelcoder.com
  • 260. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš Android āļ™āļąāđ‰āļ™āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ—āļģāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ„āļ·āļ­ Android Studio Android Studio āđ€āļ›āđ‡āļ™ Integrated Development Environment (IDE) āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Android āđ„āļ”āđ‰ āļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ Google āđāļĨāļ°āļ­āļīāļ‡āļˆāļēāļ IntelliJ IDEA ANDROID STUDIO
  • 261. Babel Coder Babel Coder https://www.babelcoder.com āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Android Studio āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļĩāđˆāļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļĄāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļš Android Studio āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰ āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē Environment Variables āļ”āļąāļ‡āļ™āļĩāđ‰ ANDROID STUDIO [System.Environment]::SetEnvironmentVariable("ANDROID_HOME", "C:Users$env:USERNAMEAppDataLocalAndroidSdk", [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable("ANDROID_SDK_ROOT", "C:Users$env:USERNAMEAppDataLocalAndroidSdk", [System.EnvironmentVariableTarget]::Machine) $envPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine) $androidSdkPath = "C:Users$env:USERNAMEAppDataLocalAndroidSdk" $newPaths = @( "$androidSdkPathplatform-tools", "$androidSdkPathemulator", "$androidSdkPathcmdline-toolslatestbin", "$androidSdkPathtools", "$androidSdkPathtoolsbin", "$androidSdkPathbuild-tools" ) foreach ($path in $newPaths) { if ($envPath -notlike "*$path*") { $envPath += ";$path" } } [System.Environment]::SetEnvironmentVariable("Path", $envPath, [System.EnvironmentVariableTarget]::Machine) $env:Path = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
  • 262. Babel Coder Babel Coder https://www.babelcoder.com āļŠāļģāļŦāļĢāļąāļš MacOS āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđƒāļ™ ~/.zshrc āļŦāļĢāļ·āļ­ ~/.bash_profile ANDROID STUDIO export ANDROID_HOME=$HOME/Library/Android/sdk export ANDROID_SDK_ROOT=$ANDROID_HOME export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/platform-tools export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/build-tools
  • 263. Babel Coder Babel Coder https://www.babelcoder.com āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āđƒāļŦāđ‰āđ€āļ›āļīāļ”āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Android Studio āļ‚āļķāđ‰āļ™āļĄāļē āļ”āļąāļ‡āļ āļēāļž āļˆāļēāļāļ™āļąāđ‰āļ™āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļ More Actions -> Virtual Device Manager VIRTUAL DEVICE MANAGER
  • 264. Babel Coder Babel Coder https://www.babelcoder.com Virtual Device Manager (VDM) āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļ™ Android Studio āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ° āļˆāļąāļ”āļāļēāļĢ Android Emulator āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ– āļ—āļ”āļŠāļ­āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡ āđƒāļŠāđ‰ āļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļĢāļīāļ‡ (Physical Device) 📌āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļāļ‚āļ­āļ‡ Virtual Device Manager ✅āļŠāļĢāđ‰āļēāļ‡ Emulator āđ„āļ”āđ‰āļŦāļĨāļēāļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡: āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāļĢāļļāđˆāļ™ āļŦāļĨāļēāļĒāļ‚āļ™āļēāļ”āļŦāļ™āđ‰āļēāļˆāļ­ âœ…āļ—āļ”āļŠāļ­āļšāđāļ­āļ›āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ•āđˆāļēāļ‡ āđ†: āļ›āļĢāļąāļš Android Version, RAM, CPU āļŊāļĨāļŊ ✅āļĢāļ­āļ‡āļĢāļąāļš Google Play Services: āđƒāļŠāđ‰āļ‡āļēāļ™āđāļ­āļ›āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ Google APIs āđ„āļ”āđ‰ ✅āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš ADB (Android Debug Bridge): āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ adb āđ€āļžāļ·āđˆāļ­āļ—āļ”āļŠāļ­āļšāđāļĨāļ°āļ”āļĩāļšāļąāļ VIRTUAL DEVICE MANAGER
  • 265. Babel Coder Babel Coder https://www.babelcoder.com āļˆāļēāļāļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡ Devise Manager āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāļ„āļĨāļīāļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ + āļˆāļēāļāļ™āļąāđ‰āļ™āļˆāļķāļ‡āđ€āļĨāļ·āļ­āļāļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļŠāļĄāļ·āļ­āļ™ āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ VIRTUAL DEVICE MANAGER
  • 266. Babel Coder Babel Coder https://www.babelcoder.com āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Device āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļāđƒāļŠāđ‰āļ‡āļēāļ™ Device āļ—āļĩāđˆāļžāļķāđˆāļ‡āļŠāļĢāđ‰āļēāļ‡ VIRTUAL DEVICE MANAGER
  • 267. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļšāļ™ iOS āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ“āđŒ MacOS āđāļĨāļ°āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ iOS āļ”āđ‰āļ§āļĒ iOS Simulator āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē macOS āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™ iOS Simulator āđ„āļ”āđ‰āļ™āļąāđ‰āļ™ āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Xcode āđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļĩāđˆ āđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰ Homebrew āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđ‚āļ”āļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ” IOS SIMULATOR
  • 268. Babel Coder Babel Coder https://www.babelcoder.com Xcode āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŦāļĨāļąāļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļšāļ™ iOS āđāļĨāļ° macOS āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡ iOS Simulator āļ”āđ‰āļ§āļĒ āđ€āļ›āļīāļ” App Store āļšāļ™ Mac āļ‚āļ­āļ‡āļ„āļļāļ“ 1. āļ„āđ‰āļ™āļŦāļē Xcode āđāļĨāļ°āļ„āļĨāļīāļ Get āđ€āļžāļ·āđˆāļ­āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡ 2. āļŦāļĨāļąāļ‡āļˆāļēāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™ āđ€āļ›āļīāļ” Xcode āđāļĨāļ°āļĒāļ­āļĄāļĢāļąāļšāļ‚āđ‰āļ­ āļ•āļāļĨāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ (License Agreement) 3. XCODE
  • 269. Babel Coder Babel Coder https://www.babelcoder.com Command Line Tools āđ€āļ›āđ‡āļ™āļŠāļļāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļ·āđˆāļ™ āđ† āđ€āļ›āļīāļ” Terminal 1. āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Command Line Tools āđāļĨāļ°āļ—āļģāļ•āļēāļĄāļ„āļģāđāļ™āļ°āļ™āļģāļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­āđ€āļžāļ·āđˆāļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ 2. COMMAND LINE TOOLS
  • 270. Babel Coder Babel Coder https://www.babelcoder.com Homebrew āđ€āļ›āđ‡āļ™ package manager āļŠāļģāļŦāļĢāļąāļš macOS āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ€āļ›āļīāļ” Terminal 1. āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Homebrew āđāļĨāļ°āļ—āļģāļ•āļēāļĄāļ„āļģāđāļ™āļ°āļ™āļģāļ•āđˆāļ­āđ„āļ› 2. HOMEBREW $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 271. Babel Coder Babel Coder https://www.babelcoder.com āļˆāļēāļāļ™āļąāđ‰āļ™āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡ āđ† āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē iOS āļœāđˆāļēāļ™ Homebrew āđ„āļ”āđ‰ āļ•āļīāļ”āļ•āļąāđ‰āļ‡ CocoaPods āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™ dependency manager āļŠāļģāļŦāļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļ„ iOS āļ•āļīāļ”āļ•āļąāđ‰āļ‡ fastlane āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļģāļŦāļĢāļąāļšāļ­āļ­āđ‚āļ•āđ€āļĄāļŠāļąāļ™āļāļēāļĢ deploy āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ› iOS HOMEBREW $ brew install cocoapods $ brew install fastlane
  • 272. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāđ€āļžāļīāđˆāļĄ Runtime āļ‚āļ­āļ‡ Simulator āđ€āļ›āļīāļ” Xcode āļˆāļēāļāļ™āļąāđ‰āļ™āđ„āļ›āļ—āļĩāđˆāđāļ–āļšāđ€āļĄāļ™āļđāļ”āđ‰āļēāļ™āļšāļ™āļ‚āļ­āļ‡ Xcode āđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļ Xcode > Settingsâ€Ķ (āļŦāļĢāļ·āļ­ Xcode > Preferencesâ€Ķ āļšāļēāļ‡ āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™) 1. āđ„āļ›āļ—āļĩāđˆāđāļ—āđ‡āļš Platforms 2. āđƒāļ™āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡ Settings āđƒāļŦāđ‰āļ„āļĨāļīāļāļ—āļĩāđˆāđāļ—āđ‡āļš Platforms āđ€āļžāļ·āđˆāļ­āļ”āļđāļĢāļēāļĒāļāļēāļĢ Platform āđāļĨāļ° Runtime āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ 3. āđ€āļžāļīāđˆāļĄ Runtime āđƒāļŦāļĄāđˆ āđ‚āļ”āļĒāļ„āļĨāļīāļāļ›āļļāđˆāļĄ Get 4. āļŦāļĨāļąāļ‡āļˆāļēāļāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™ āđ€āļĢāļēāļˆāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Simulator āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ™āļąāđ‰āļ™ āđ† āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩ IOS SIMULATOR
  • 273. Babel Coder Babel Coder https://www.babelcoder.com āļŦāļĨāļąāļ‡āļˆāļēāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Xcode āđāļĨāđ‰āļ§ āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ iOS Simulator āđ„āļ”āđ‰ āđ‚āļ”āļĒāļ•āļĢāļ‡āļœāđˆāļēāļ™ Xcode āļŦāļĢāļ·āļ­āļœāđˆāļēāļ™ Terminal āđ€āļ›āļīāļ” Xcode 1. āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļ„āđƒāļŦāļĄāđˆāļŦāļĢāļ·āļ­āđ€āļ›āļīāļ”āđ‚āļ›āļĢāđ€āļˆāļ„āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ 2. āđ€āļĨāļ·āļ­āļāļ­āļļāļ›āļāļĢāļ“āđŒ Simulator āļˆāļēāļāđ€āļĄāļ™āļđāļ”āđ‰āļēāļ™āļšāļ™ (āđƒāļāļĨāđ‰āļāļąāļšāļ›āļļāđˆāļĄ Run) āđāļĨāļ°āļ„āļĨāļīāļ Run āđ€āļžāļ·āđˆāļ­āđ€āļ›āļīāļ” Simulator 3. āļŦāļĢāļ·āļ­āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļīāļ” Simulator āđ‚āļ”āļĒāļ•āļĢāļ‡āļˆāļēāļ Terminal āđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ IOS SIMULATOR $ open -a Simulator
  • 274. Babel Coder Babel Coder https://www.babelcoder.com āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļˆāļ°āđāļŠāļ”āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļ›āđ‡āļ™āļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ iOS Simulators āļ—āļĩāđˆāļ•āļīāļ” āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆ āđāļĨāļ°āļˆāļ°āđāļŠāļ”āļ‡āļŠāļ–āļēāļ™āļ° (Booted) āļ–āđ‰āļēāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ™āļąāđ‰āļ™āļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™ āļ­āļĒāļđāđˆ IOS SIMULATOR $ xcrun simctl list devices āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ: -- iOS 16.2 -- iPhone 14 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Booted) iPhone 13 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Shutdown) -- iOS 15.0 -- iPhone 12 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Shutdown) ** āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰, deviceName āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāļ„āļ·āļ­ iPhone 14 āļ‹āļķāđˆāļ‡āļĄāļĩāļŠāļ–āļēāļ™āļ°āđ€āļ›āđ‡āļ™ Booted. āļŠāļēāļĄāļēāļĢāļ–āļāļĢāļ­āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļēāļāļ„āļģāļŠāļąāđˆāļ‡āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđƒāļŦāđ‰āđāļŠāļ”āļ‡āđ€āļ‰āļžāļēāļ°āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļšāļđāļ—āļ­āļĒāļđāđˆ (āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™) āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰ grep (āļŦāļēāļāđƒāļŠāđ‰ terminal āđƒāļ™ macOS) $ xcrun simctl list devices | grep Booted āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāđāļŠāļ”āļ‡āļŠāļ·āđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆ (Booted) āđ€āļŠāđˆāļ™: iPhone 14 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (Booted)
  • 275. Babel Coder Babel Coder https://www.babelcoder.com Appium āđ€āļ›āđ‡āļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (Automation Testing Tool) āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļ·āļ­āļ–āļ·āļ­ āđ‚āļ”āļĒāļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡ Android āđāļĨāļ° iOS āđ‚āļ”āļĒāļ—āļĩāđˆ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļāđ‰āđ„āļ‚āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āđāļ­āļ› (āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđˆ SDK āļŦāļĢāļ·āļ­āļĢāļĩāļ„āļ­āļĄāđ„āļžāļĨāđŒāđāļ­āļ›āđƒāļŦāļĄāđˆ) 📌āļˆāļļāļ”āđ€āļ”āđˆāļ™āļ‚āļ­āļ‡ Appium ✅Cross-platform: āļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļ—āļąāđ‰āļ‡ Android āđāļĨāļ° iOS āļ”āđ‰āļ§āļĒāđ‚āļ„āđ‰āļ”āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ âœ…āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāļ āļēāļĐāļē: āđƒāļŠāđ‰āđ„āļ”āđ‰āļāļąāļš Python, Java, JavaScript, C#, Ruby āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ âœ…Open-source: āđƒāļŠāđ‰āļ‡āļēāļ™āļŸāļĢāļĩāđāļĨāļ°āļĄāļĩāļŠāļļāļĄāļŠāļ™āļ™āļąāļāļžāļąāļ’āļ™āļēāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ ✅āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļāđ‰āđ„āļ‚āđāļ­āļ›āļ•āđ‰āļ™āļ‰āļšāļąāļš: āđƒāļŠāđ‰āļ‡āļēāļ™āļāļąāļšāđāļ­āļ›āļˆāļĢāļīāļ‡ (.apk, .ipa) āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩ APPIUM
  • 276. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĄāļ·āļ­āļ–āļ·āļ­āļ”āđ‰āļ§āļĒ Appium āļŠāđˆāļ§āļĒāđƒāļŦāđ‰ QA Engineer āđāļĨāļ° Developer āļŠāļēāļĄāļēāļĢāļ– âœ…āļ—āļ”āļŠāļ­āļš UI āđāļĨāļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ­āļ› āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī ✅āļ—āļģ Regression Testing āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ âœ…āļĨāļ” Human Error āļˆāļēāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš Manual ✅āļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļšāļ™ āļŦāļĨāļēāļĒāļ­āļļāļ›āļāļĢāļ“āđŒāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ (Parallel Testing) ✅āđƒāļŠāđ‰āļĢāđˆāļ§āļĄāļāļąāļš CI/CD (āđ€āļŠāđˆāļ™ Jenkins, GitHub Actions) āđ„āļ”āđ‰ āļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡ APPIUM 📌Appium āđ€āļŦāļĄāļēāļ°āļāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ›āļĢāļ°āđ€āļ āļ—āļ•āđˆāļēāļ‡ āđ† āđ„āļ”āđ‰āđāļāđˆ Functional Testing: āļ—āļ”āļŠāļ­āļšāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļ­āļ› UI Testing: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI End-to-End Testing: āļ—āļ”āļŠāļ­āļšāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ Performance Testing: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļšāļ™ āļŦāļĨāļēāļĒāļ­āļļāļ›āļāļĢāļ“āđŒ
  • 277. Babel Coder Babel Coder https://www.babelcoder.com Appium āđƒāļŠāđ‰ WebDriver Protocol (JSON Wire Protocol) āđ€āļžāļ·āđˆāļ­āļ„āļ§āļšāļ„āļļāļĄāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ Android āđāļĨāļ° iOS āđ‚āļ”āļĒ āļ­āļēāļĻāļąāļĒ Appium Server āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļāļĨāļēāļ‡ ðŸ“Œāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Appium Appium Client 1. āđ€āļ‚āļĩāļĒāļ™āļŠāļ„āļĢāļīāļ›āļ•āđŒāļ—āļ”āļŠāļ­āļšāļ”āđ‰āļ§āļĒāļ āļēāļĐāļē Java, Python, JavaScript āļŊāļĨāļŊ āđƒāļŠāđ‰ Selenium WebDriver API āđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āđ„āļ›āļĒāļąāļ‡ Appium Server Appium Server 2. āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļāļĨāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ Client āđāļĨāļ°āļ­āļļāļ›āļāļĢāļ“āđŒ āđƒāļŠāđ‰ WebDriver Protocol āļŠāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āđ„āļ›āļĒāļąāļ‡ Emulator/Device Appium Driver 3. āļŠāļģāļŦāļĢāļąāļš Android: āđƒāļŠāđ‰ UiAutomator2 āļŦāļĢāļ·āļ­ Espresso āļŠāļģāļŦāļĢāļąāļš iOS: āđƒāļŠāđ‰ XCUITest Android Emulator / iOS Simulator / Physical Device 4. Appium āļˆāļ°āļ„āļ§āļšāļ„āļļāļĄāđāļ­āļ›āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­ Emulator/Simulator āļŦāļĨāļąāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™
  • 279. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ $ npm install -g appium āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Appium Server $ MSYS_NO_PATHCONV=1 appium --base-path="/wd/hub" --allow-cors āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āđ€āļĢāļīāđˆāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļšāļ™ Appium Server ** āļŠāļģāļŦāļĢāļąāļš MacOS āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļ MSYS_NO_PATHCONV=1
  • 280. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ DRIVERS āļŦāļēāļāļ›āļĢāļēāļĻāļˆāļēāļ Drivers āđāļĨāđ‰āļ§ Appium āļˆāļ°āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļ”āļŠāļ­āļš Android āđ„āļ”āđ‰āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡ āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Driver āļŠāļ·āđˆāļ­āļ§āđˆāļē UiAutomator2 āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Driver āļŠāļ·āđˆāļ­āļ§āđˆāļē XCUITest āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš iOS $ appium driver install uiautomator2 $ appium driver install xcuitest āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ appium driver list --installed āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡ Drivers āļ—āļĩāđˆāļ–āļđāļāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āđāļĨāđ‰āļ§
  • 281. Babel Coder Babel Coder https://www.babelcoder.com APPIUM INSPECTOR Appium Inspector āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ GUI āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ– āļŠāļģāļĢāļ§āļˆ UI āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļŦāļĢāļ·āļ­āļ­āļĩāļĄāļđāđ€āļĨāđ€āļ•āļ­āļĢāđŒ āļ‹āļķāđˆāļ‡āđƒāļŠāđ‰ āļĢāđˆāļ§āļĄāļāļąāļš Appium Server āđ€āļžāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš UI Elements (XPath, ID, Class, Text āļŊāļĨāļŊ) āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āđƒāļ™ āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļŠāļ„āļĢāļīāļ›āļ•āđŒāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ ðŸ”đāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļ āļ„āđ‰āļ™āļŦāļē UI Elements āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ”āļē XPath āđ€āļ­āļ‡ āļŠāđˆāļ§āļĒāļŠāļĢāđ‰āļēāļ‡ āļ„āļģāļŠāļąāđˆāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (Automation Code) āđ„āļ”āđ‰āļ—āļąāļ™āļ—āļĩ āļŠāđˆāļ§āļĒāđƒāļ™āļāļēāļĢ Debugging āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ‚āļ­āļ‡āđāļ­āļ› āļĨāļ” Human Error āļˆāļēāļāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Locator āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļ­āļ‡
  • 282. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ $ appium plugin install --source=npm appium-inspector-plugin āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Appium Inspector $ MSYS_NO_PATHCONV=1 appium --base-path="/wd/hub" --use-plugins=inspector --allow-cors āļŦāļĒāļļāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ”āļīāļĄāļ‚āļ­āļ‡ Appium Server āđāļĨāđ‰āļ§āļˆāļķāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāļĄāđˆāđ€āļžāļ·āđˆāļ­āđ€āļĢāļīāđˆāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡ ** āļŠāļģāļŦāļĢāļąāļš MacOS āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļ MSYS_NO_PATHCONV=1
  • 283. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļœāđˆāļēāļ™āđ€āļ§āđ‡āļšāđ‚āļ”āļĒāđ„āļ›āļĒāļąāļ‡ URL āļ„āļ·āļ­ http://localhost:4723/inspector āļ—āļģāļāļēāļĢāļĢāļ°āļšāļļāļ„āđˆāļēāļ‚āļ­āļ‡ Capability āļ•āđˆāļēāļ‡ āđ† āđƒāļŦāđ‰āļ„āļĢāļšāļ–āđ‰āļ§āļ™ āļˆāļēāļāļ™āļąāđ‰āļ™āļˆāļķāļ‡āļāļ”āļ›āļļāđˆāļĄ Start Session
  • 287. Babel Coder Babel Coder https://www.babelcoder.com MOBILE TESTING āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ§āđˆāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āļšāļ™ āļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļ—āļĩāđˆāļ•āđˆāļēāļ‡ āđ† āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰ Appium āļĢāđˆāļ§āļĄāļāļąāļš Robot Framework āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļ›āđ‡āļ™āđ„āļ›āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļ‡āđˆāļēāļĒāļ”āļēāļĒ āļĄāļēāļāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāļĄāļĩ Keywords āļŠāļģāļ„āļąāļāļ”āļąāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰ Open Application Close Application āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āļ”āđ‰āļ§āļĒāļāļēāļĢāđƒāļŠāđ‰ Locators āļ›āļĢāļ°āđ€āļ āļ—āļ•āđˆāļēāļ‡ āđ† āđ„āļ”āđ‰āđāļāđˆ accessibility_id, id, xpath, android, ios Element Should Be Visible Wait Until Element Is Visible Get Element Size Get Element Location Click Element Input Text āđāļĨāļ° Hide Keyboard Swipe āđāļĨāļ°āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒ Switch Application
  • 288. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāđ€āļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđāļĢāļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ—āļģāļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ Open Application āđ€āļžāļ·āđˆāļ­āđ€āļ›āļīāļ” āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ OPEN APPLICATION Arguments āļŦāļĨāļąāļ remote_url: URL āļ‚āļ­āļ‡ Appium Server (āđ€āļŠāđˆāļ™ http://localhost:4723/wd/hub) 1. platformName: āļŠāļ·āđˆāļ­āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ (āđ€āļŠāđˆāļ™ Android āļŦāļĢāļ·āļ­ iOS) 2. deviceName: āļŠāļ·āđˆāļ­āļ­āļļāļ›āļāļĢāļ“āđŒāļŦāļĢāļ·āļ­ Emulator (āđ€āļŠāđˆāļ™ emulator-5554 āļŦāļĢāļ·āļ­ iPhone 13) 3. app: āļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ APK āļŦāļĢāļ·āļ­ IPA āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāļ°āđ€āļ›āļīāļ” (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđƒāļŦāļĄāđˆ) 4. appPackage: āļŠāļ·āđˆāļ­āđāļžāđ‡āļāđ€āļāļˆāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ) 5. appActivity: āļŠāļ·āđˆāļ­ Activity āļŦāļĨāļąāļāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ) 6.
  • 289. Babel Coder Babel Coder https://www.babelcoder.com OPEN APPLICATION Arguments āļ­āļ·āđˆāļ™ āđ† āļ—āļĩāđˆāđƒāļŠāđ‰āļšāđˆāļ­āļĒ: automationName: āļŠāļ·āđˆāļ­ Automation Engine (āđ€āļŠāđˆāļ™ UiAutomator2 āļŠāļģāļŦāļĢāļąāļš Android āļŦāļĢāļ·āļ­ XCUITest āļŠāļģāļŦāļĢāļąāļš iOS) platformVersion: āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ (āđ€āļŠāđˆāļ™ 11.0 āļŠāļģāļŦāļĢāļąāļš Android āļŦāļĢāļ·āļ­ 15.0 āļŠāļģāļŦāļĢāļąāļš iOS) noReset: āđ„āļĄāđˆāļĢāļĩāđ€āļ‹āđ‡āļ•āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļāđˆāļ­āļ™āđ€āļ›āļīāļ” (āļ„āđˆāļēāđ€āļ›āđ‡āļ™ true āļŦāļĢāļ·āļ­ false) fullReset: āļĢāļĩāđ€āļ‹āđ‡āļ•āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđāļĨāļ°āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļāđˆāļ­āļ™āđ€āļ›āļīāļ” (āļ„āđˆāļēāđ€āļ›āđ‡āļ™ true āļŦāļĢāļ·āļ­ false) udid: UDID āļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒ (āđƒāļŠāđ‰āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļŦāļĨāļēāļĒāļ­āļļāļ›āļāļĢāļ“āđŒāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­) newCommandTimeout: āđ€āļ§āļĨāļēāļĢāļ­āļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāļĄāđˆ (āļŦāļ™āđˆāļ§āļĒāđ€āļ›āđ‡āļ™āļ§āļīāļ™āļēāļ—āļĩ)
  • 290. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰ appPackage āđāļĨāļ° appActivity (āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ āđ€āļŠāđˆāļ™ Calculator) EXAMPLE 1 āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ remote_url: http://localhost:4723/wd/hub (Appium Server) platformName: Android (āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ Android) deviceName: emulator-5554 (āļŠāļ·āđˆāļ­ Emulator) appPackage: com.android.calculator2 (āļŠāļ·āđˆāļ­āđāļžāđ‡āļāđ€āļāļˆ āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Calculator) appActivity: com.android.calculator2.Calculator (āļŠāļ·āđˆāļ­ Activity āļŦāļĨāļąāļāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Calculator)
  • 291. Babel Coder Babel Coder https://www.babelcoder.com āđƒāļŠāđ‰ app (āļĢāļ°āļšāļļāļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ APK) EXAMPLE 2 āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ remote_url: http://localhost:4723/wd/hub (Appium Server) platformName: Android (āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ Android) deviceName: emulator-5554 (āļŠāļ·āđˆāļ­ Emulator) app: ${CURDIR}/calculator.apk (āļžāļēāļ˜āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ APK āļ—āļĩāđˆ āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāļ°āđ€āļ›āļīāļ”)
  • 292. Babel Coder Babel Coder https://www.babelcoder.com āļŦāļĨāļąāļ‡āļˆāļēāļāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļĢāļēāļ„āļ§āļĢāļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Close Application CLOSE APPLICATION
  • 293. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđƒāļ™ Mobile Application āļŠāļēāļĄāļēāļĢāļ– āļ—āļģāđ„āļ”āđ‰āļŦāļĨāļēāļĒāļ§āļīāļ˜āļĩ āđ‚āļ”āļĒāđƒāļŠāđ‰ Locators āļ›āļĢāļ°āđ€āļ āļ—āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ accessibility_id, id, xpath, android, chain āļ‹āļķāđˆāļ‡ āđāļ•āđˆāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāļ°āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ—āļĩāđˆāđāļ•āļ āļ•āđˆāļēāļ‡āļāļąāļ™ LOCATORS
  • 294. Babel Coder Babel Coder https://www.babelcoder.com accessibility_id āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ‚āļ”āļĒ āļ­āļīāļ‡āļˆāļēāļāļ„āđˆāļē content-desc (āļšāļ™ Android) āļŦāļĢāļ·āļ­ accessibilityIdentifier (āļšāļ™ iOS) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰ āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļšāļāļžāļĢāđˆāļ­āļ‡āļ—āļēāļ‡āļāļēāļĢāļĄāļ­āļ‡āđ€āļŦāđ‡āļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰ āļŠāļ°āļ”āļ§āļāļ‚āļķāđ‰āļ™ ACCESSIBILITY_ID āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ accessibility_id=login_button āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē content-desc āļŦāļĢāļ·āļ­ accessibilityIdentifier āđ€āļ›āđ‡āļ™ login_button āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī content- desc āļŦāļĢāļ·āļ­ accessibilityIdentifier āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰
  • 296. Babel Coder Babel Coder https://www.babelcoder.com ID id āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāļ„āđˆāļē resource-id (āļšāļ™ Android) āļŦāļĢāļ·āļ­ name (āļšāļ™ iOS) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āđˆāļē āđ€āļ‰āļžāļēāļ°āļ—āļĩāđˆāđƒāļŠāđ‰āļĢāļ°āļšāļļ Element āđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ id=com.example.app:id/login_button āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢ āļ„āđ‰āļ™āļŦāļē Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē resource-id āđ€āļ›āđ‡āļ™ com.example.app:id/login_button (āļšāļ™ Android) āļŦāļĢāļ·āļ­ name āđ€āļ›āđ‡āļ™ login_button (āļšāļ™ iOS) resource-id āļĄāļąāļāđƒāļŠāđ‰āđƒāļ™ Android āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļ Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē ID āđ€āļ‰āļžāļēāļ° name āļĄāļąāļāđƒāļŠāđ‰āđƒāļ™ iOS āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļ Element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļē Name āđ€āļ‰āļžāļēāļ° āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 297. Babel Coder Babel Coder https://www.babelcoder.com XPATH xpath āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡ XML āļŦāļĢāļ·āļ­ UI Hierarchy āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Element āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĨāļ°āđ€āļ­āļĩāļĒāļ” āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ xpath=//android.widget.Button[@text='Login'] āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē Element āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļļāđˆāļĄ (Button) āđāļĨāļ°āļĄāļĩ āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (text) āđ€āļ›āđ‡āļ™ Login xpath āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Element āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡ āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡ UI āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļĢāļ“āļĩāļ—āļĩāđˆ Element āđ„āļĄāđˆāļĄāļĩ id āļŦāļĢāļ·āļ­ accessibility_id āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 299. Babel Coder Babel Coder https://www.babelcoder.com ANDROID android āđ€āļ›āđ‡āļ™ Locator āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āđ‰āļēāļ–āļķāļ‡ Element āļšāļ™ Android āđ‚āļ”āļĒāđƒāļŠāđ‰ UiSelector āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āļĨāļēāļŠāđƒāļ™ Android SDK āļ—āļĩāđˆ āļŠāđˆāļ§āļĒāļĢāļ°āļšāļļ Element āļ•āļēāļĄāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™ text, resourceId, className āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ android=UiSelector().text("Login") āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē Element āļ—āļĩāđˆāļĄāļĩāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ (text) āđ€āļ›āđ‡āļ™ Login āļšāļ™ Android UiSelector āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļ Element āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĨāļ°āđ€āļ­āļĩāļĒāļ” āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ•āđˆāļēāļ‡ āđ† āļ‚āļ­āļ‡ Element āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 301. Babel Coder Babel Coder https://www.babelcoder.com iOS CHAIN Chain Locator āđ€āļ›āđ‡āļ™āļāļēāļĢāļĢāļ§āļĄ Locator āļŦāļĨāļēāļĒ āđ† āļ•āļąāļ§āđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™ āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļŦāļĢāļ·āļ­āļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ‰āļžāļēāļ° āđ‚āļ”āļĒāđƒāļŠāđ‰ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ && āļŦāļĢāļ·āļ­ || āđ€āļžāļ·āđˆāļ­āđ€āļŠāļ·āđˆāļ­āļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ•āđˆāļēāļ‡ āđ† āđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
  • 303. Babel Coder Babel Coder https://www.babelcoder.com iOS PREDICATE Predicate Locator āđ€āļ›āđ‡āļ™āļāļēāļĢāļĢāļ°āļšāļļāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI āđ‚āļ”āļĒāđƒāļŠāđ‰āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļēāļ‡āļ•āļĢāļĢāļāļ° (predicate) āļ‹āļķāđˆāļ‡āļĄāļąāļāđƒāļŠāđ‰ āļāļąāļšāđāļ­āļ› iOS āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ€āļ‰āļžāļēāļ° āđ€āļŠāđˆāļ™ name, label, value, enabled, āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
  • 305. Babel Coder Babel Coder https://www.babelcoder.com ELEMENT SHOULD BE VISIBLE āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Element āļ™āļąāđ‰āļ™āļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
  • 306. Babel Coder Babel Coder https://www.babelcoder.com WAIT UNTIL ELEMENT IS VISIBLE āļĢāļ­āļˆāļ™āļāļ§āđˆāļē Element āļˆāļ°āļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāļˆāļ­ āđ€āļŠāđˆāļ™ āļāļĢāļ“āļĩāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļāļ”āļ›āļļāđˆāļĄāđāļĨāđ‰āļ§āļˆāļ°āļĄāļĩ Dialog āđ‚āļœāļĨāđˆāļ‚āļķāđ‰āļ™āļĄāļē āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ Dialog āđ„āļĄāđˆāđ€āļ„āļĒāļ›āļĢāļēāļāļŽāļšāļ™ āļŦāļ™āđ‰āļēāļˆāļ­āļĄāļēāļāđˆāļ­āļ™ āđ€āļĢāļēāļˆāļķāļ‡āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļāļąāļš Dialog āđ‚āļ”āļĒāļ•āļĢāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰ āļˆāļ°āļ•āđ‰āļ­āļ‡āļĢāļ­āļˆāļ™āļāļ§āđˆāļē Dialog āļˆāļ°āļ›āļĢāļēāļāļŽāļœāđˆāļēāļ™ Wait Until Element Is Visible āļāđˆāļ­āļ™
  • 307. Babel Coder Babel Coder https://www.babelcoder.com āļĢāļąāļšāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡ Element āļ§āđˆāļēāļāļ§āđ‰āļēāļ‡āđāļĨāļ°āļŠāļđāļ‡āđ€āļ—āđˆāļēāđ„āļĢ GET ELEMENT SIZE width: āļ„āļ§āļēāļĄāļāļ§āđ‰āļēāļ‡āļ‚āļ­āļ‡ Element āđƒāļ™āļŦāļ™āđˆāļ§āļĒ āļžāļīāļāđ€āļ‹āļĨ height: āļ„āļ§āļēāļĄāļŠāļđāļ‡āļ‚āļ­āļ‡ Element āđƒāļ™āļŦāļ™āđˆāļ§āļĒ āļžāļīāļāđ€āļ‹āļĨ āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ Element āļĄāļĩāļ‚āļ™āļēāļ”āļāļ§āđ‰āļēāļ‡ 200 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ°āļŠāļđāļ‡ 50 āļžāļīāļāđ€āļ‹āļĨ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 308. Babel Coder Babel Coder https://www.babelcoder.com āļĢāļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ Element āđƒāļ™āļžāļīāļāļąāļ” x āđāļĨāļ° y GET ELEMENT LOCATION x: āļ•āļģāđāļŦāļ™āđˆāļ‡āđāļāļ™ X āļ‚āļ­āļ‡ Element āđ‚āļ”āļĒāļ§āļąāļ”āļˆāļēāļ āļ‚āļ­āļšāļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­ y: āļ•āļģāđāļŦāļ™āđˆāļ‡āđāļāļ™ Y āļ‚āļ­āļ‡ Element āđ‚āļ”āļĒāļ§āļąāļ”āļˆāļēāļ āļ‚āļ­āļšāļ”āđ‰āļēāļ™āļšāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­ āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ Element āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 100 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 300 āļžāļīāļāđ€āļ‹āļĨ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ
  • 310. Babel Coder Babel Coder https://www.babelcoder.com āļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĨāļ‡āđƒāļ™ Element āļ”āđ‰āļ§āļĒ Input Text INPUT TEXT āđāļĨāļ° HIDE KEYBOARD āļ āļēāļĒāļŦāļĨāļąāļ‡āļāļēāļĢāļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļēāļĄāļēāļĢāļ–āļŠāļąāđˆāļ‡āļ‹āđˆāļ­āļ™āļ„āļĩāļĒāđŒāļšāļ­āļĢāđŒāđ„āļ”āđ‰āļœāđˆāļēāļ™ Hide Keyborad
  • 312. Babel Coder Babel Coder https://www.babelcoder.com āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­ (Swipe) āđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļ„āļģāļŠāļąāđˆāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āđ€āļžāļ·āđˆāļ­āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļ‚āļķāđ‰āļ™āļĨāļ‡ āļ‹āđ‰āļēāļĒāļ‚āļ§āļē āļŦāļĢāļ·āļ­āđƒāļ™āļ—āļīāļĻāļ—āļēāļ‡āļ•āđˆāļēāļ‡ āđ† āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Swipe āđƒāļ™ Robot Framework āļœāđˆāļēāļ™ Appium āļĄāļĩāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡ Arguments āđāļ•āđˆāļĨāļ°āļ•āļąāļ§ āļ”āļąāļ‡āļ™āļĩāđ‰ SWIPE start_x: āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļšāļ™āđāļāļ™ X (āļžāļīāļāđ€āļ‹āļĨ) start_y: āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļšāļ™āđāļāļ™ Y (āļžāļīāļāđ€āļ‹āļĨ) offset_x: āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļ™āđāļāļ™ X (āļžāļīāļāđ€āļ‹āļĨ) offset_y: āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļ™āđāļāļ™ Y (āļžāļīāļāđ€āļ‹āļĨ) duration: āđ€āļ§āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™ (āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) Arguments
  • 313. Babel Coder Babel Coder https://www.babelcoder.com SWIPE start_x=500, start_y=1500: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 1500 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­) offset_x=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ X offset_y=-1000: āđ€āļĨāļ·āđˆāļ­āļ™āļ‚āļķāđ‰āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ Y āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 1000 āļžāļīāļāđ€āļ‹āļĨ duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™ āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļĨāđˆāļēāļ‡āļ‚āļķāđ‰āļ™āļšāļ™ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 314. Babel Coder Babel Coder https://www.babelcoder.com SWIPE start_x=500, start_y=500: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 500 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļšāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­) offset_x=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ X offset_y=1000: āđ€āļĨāļ·āđˆāļ­āļ™āļĨāļ‡āđƒāļ™āđāļ™āļ§āđāļāļ™ Y āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 1000 āļžāļīāļāđ€āļ‹āļĨ duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™ āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļšāļ™āļĨāļ‡āļĨāđˆāļēāļ‡ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 315. Babel Coder Babel Coder https://www.babelcoder.com SWIPE start_x=100, start_y=800: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 100 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 800 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­) offset_x=800: āđ€āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļ—āļēāļ‡āļ‚āļ§āļēāđƒāļ™āđāļ™āļ§āđāļāļ™ X āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 800 āļžāļīāļāđ€āļ‹āļĨ offset_y=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ Y duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™ āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļ‹āđ‰āļēāļĒāđ„āļ›āļ‚āļ§āļē āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 316. Babel Coder Babel Coder https://www.babelcoder.com SWIPE start_x=900, start_y=800: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 900 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 800 āļžāļīāļāđ€āļ‹āļĨ (āļ”āđ‰āļēāļ™āļ‚āļ§āļēāļ‚āļ­āļ‡āļŦāļ™āđ‰āļēāļˆāļ­) offset_x=-800: āđ€āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļ—āļēāļ‡āļ‹āđ‰āļēāļĒāđƒāļ™āđāļ™āļ§āđāļāļ™ X āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ° 800 āļžāļīāļāđ€āļ‹āļĨ offset_y=0: āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āđƒāļ™āđāļ™āļ§āđāļāļ™ Y duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™ āđ€āļĨāļ·āđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļˆāļēāļāļ‚āļ§āļēāđ„āļ›āļ‹āđ‰āļēāļĒ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
  • 317. Babel Coder Babel Coder https://www.babelcoder.com SWIPE āđƒāļ™āļāļĢāļ“āļĩāļ‚āļ­āļ‡ Android āļ„āđˆāļē Offset (offset_x, offset_y) āđ„āļĄāđˆāđ„āļ”āđ‰āļŦāļĄāļēāļĒāļ–āļķāļ‡āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āđāļ•āđˆāđƒāļŦāđ‰āļ–āļ·āļ­āļ§āđˆāļēāđ€āļ›āđ‡āļ™ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĨāļēāļĒ āļ—āļēāļ‡ (destination points) āđ‚āļ”āļĒāļ•āļĢāļ‡ āļ‹āļķāđˆāļ‡āļ•āđˆāļēāļ‡āļˆāļēāļāļāļĢāļ“āļĩāļ‚āļ­āļ‡ iOS āļ—āļĩāđˆ offset_x āđāļĨāļ° offset_y āļŦāļĄāļēāļĒāļ–āļķāļ‡āļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ start_x=500, start_y=800: āđ€āļĢāļīāđˆāļĄāđ€āļĨāļ·āđˆāļ­āļ™āļˆāļēāļāļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 800 āļžāļīāļāđ€āļ‹āļĨ offset_x=500, offset_y=500: āđ€āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļĒāļąāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡ X = 500 āļžāļīāļāđ€āļ‹āļĨ āđāļĨāļ° Y = 500 āļžāļīāļāđ€āļ‹āļĨ āļŠāļģāļŦāļĢāļąāļš Android āđƒāļŦāđ‰āļ–āļ·āļ­āļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ•āļģāđāļŦāļ™āđˆāļ‡ āļ›āļĨāļēāļĒāļ—āļēāļ‡ duration=1000: āđƒāļŠāđ‰āđ€āļ§āļĨāļē 1 āļ§āļīāļ™āļēāļ—āļĩ (1000 āļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) āđƒāļ™āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™
  • 318. Babel Coder Babel Coder https://www.babelcoder.com SWITCH APPLICATION āļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (Switch Application) āđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš Mobile Application āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡ āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒ āđ† āļ•āļąāļ§āđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļąāļāđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĢāļ­āļ‡ āļŦāļĢāļ·āļ­āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢ āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ•āļąāļ§ āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāļ‚āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™: āđ€āļŠāđˆāļ™ āļāļēāļĢ āļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļąāļāđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĢāļ­āļ‡ āđ€āļžāļ·āđˆāļ­ āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āļŠāļ–āļēāļ™āļ°āļ•āđˆāļēāļ‡ āđ† āļĒāļąāļ‡āļ„āļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ 1. āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Deep Linking: āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļ›āļīāļ” āļĨāļīāļ‡āļāđŒāļˆāļēāļāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļ™āļķāđˆāļ‡āđ„āļ›āļĒāļąāļ‡āļ­āļĩāļāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļ™āļķāđˆāļ‡ 2. āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ•āļąāļ§: āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļĨāļąāļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļāļēāļĢāļ—āļģāļ‡āļēāļ™ āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļĒāļąāļ‡āļ„āļ‡āđ€āļŠāļ–āļĩāļĒāļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ 3. āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļŠāļĨāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒ Robot Framework āļœāđˆāļēāļ™ AppiumLibrary āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ Switch Application āđ€āļžāļ·āđˆāļ­āļŠāļĨāļąāļš āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāđ€āļ›āļīāļ”āđ„āļ§āđ‰ āđ‚āļ”āļĒāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļĄāļĩāļ”āļąāļ‡āļ™āļĩāđ‰ āđ€āļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđāļĢāļāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Open Application 1. āđ€āļ›āļīāļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļŠāļ­āļ‡āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Open Application 2. āļŠāļĨāļąāļšāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđāļĢāļāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Switch Application 3. āļŠāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļŠāļ­āļ‡āļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ Switch Application 4. āļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ 5.