Slide 1

Slide 1 text

1 BUILD SOFTWARE TO TEST SOFTWARE BUILD SOFTWARE TO TEST SOFTWARE exactpro.com Process Automation using Python ease and streamline repetitive tasks that daily routine entails 15 JUNE 2023

Slide 2

Slide 2 text

2 BUILD SOFTWARE TO TEST SOFTWARE © Sweigart, A. (2019). Automate the boring stuff with python. “You’ve just done in two hours what it takes the three of us two days to do”

Slide 3

Slide 3 text

3 BUILD SOFTWARE TO TEST SOFTWARE 3 BUILD SOFTWARE TO TEST SOFTWARE Process Automation Presentation Roadmap 1 3 4 2 Importance and advantages of using Python for automation (why to automate) Exploring the Power of Python (what to automate) Techniques and tools for process automation using Python (how to automate) Future scope of process automation and AI (what are limitations)

Slide 4

Slide 4 text

4 BUILD SOFTWARE TO TEST SOFTWARE 4 BUILD SOFTWARE TO TEST SOFTWARE Human judgement/critical thinking ● interpreting the data ● identifying trends ● making strategic decisions ● ensuring the accuracy of results Importance of process automation Technology ● data collection ● aggregation ● initial analysis +

Slide 5

Slide 5 text

5 BUILD SOFTWARE TO TEST SOFTWARE Importance of process automation ● Business Process Automation ● RPA (Robotic Process Automation) ● Intelligent Process Automation Hyperautomation leads to: ✔ Less prone to human errors ✔ Improved Productivity ✔ Rapid Reactions ✔ Cost Savings ✔ Data-Led Insight ✔ Customer satisfaction TensorFlow, PyTorch, and scikit-learn

Slide 6

Slide 6 text

6 BUILD SOFTWARE TO TEST SOFTWARE Advantages of using Python for automation ● general-purpose ● Interpreted ● Interactive ● object-oriented ● high-level programming language ● dynamically typed ● garbage collected

Slide 7

Slide 7 text

7 BUILD SOFTWARE TO TEST SOFTWARE Readability and Simplicity ● simple and concise keywords (i.e, if, else, for, while, and def convey their purpose clearly) ● utilizes whitespace indentation instead of curly brackets to indicate code blocks ● readable Data Structures: Python provides built-in data structures like lists, dictionaries, and sets that are easy to read and understand. Example of lists, list comprehension, sorting, summation, and conditional statements in just several lines of code

Slide 8

Slide 8 text

8 BUILD SOFTWARE TO TEST SOFTWARE Broad Range of Libraries Pandas – data manipulation BeautifulSoup, PyQuery – web scrapping NumPy, SciPy – scientific computing Selenium, Pyppeteer – web testing Paramiko – SSH automation Why use libraries: 1) abstract away the complexity of low-level tasks 2) predefined functions encapsulate complex operations 3) well-defined interfaces and reusable component

Slide 9

Slide 9 text

9 BUILD SOFTWARE TO TEST SOFTWARE Platform Independence ● Run on various OSs (Windows, Linux, macOS…) Integration Capabilities ● robust support for APIs and can communicate with databases, web services, and external applications ● extensibility allows to wrap functionality from C/C++ libraries or leverage Python's inter-language communication capabilities

Slide 10

Slide 10 text

10 BUILD SOFTWARE TO TEST SOFTWARE Community and Support ● Python Package Index (PyPI) hosts thousands of open-source libraries and packages that can be installed using tools like pip ● Open source contributions ● Documentation (docs.python.org), forums and tutorials ● Community-driven Initiatives e.g., Python Enhancement Proposals (PEPs) ● StackOverflow

Slide 11

Slide 11 text

11 BUILD SOFTWARE TO TEST SOFTWARE Goes beyond game of Tic Tac Toe 1. File handling and manipulation (Regex, edit files in more efficient ways) 2. Data Manipulation and Analysis 3. Web Scraping and Automation 4. Email and Communication 5. Text Processing and Natural Language Processing (NLP) - NLTK (Natural Language Toolkit), spaCy, and scikit-learn, that offer pre-built models and tools 6. Data Scraping and APIs Exploring the Power of Python (what to automate)

Slide 12

Slide 12 text

12 BUILD SOFTWARE TO TEST SOFTWARE 12 BUILD SOFTWARE TO TEST SOFTWARE Edit files in more efficient ways using Regex used with the re module, which provides functions and methods for working with regular expressions

Slide 13

Slide 13 text

13 BUILD SOFTWARE TO TEST SOFTWARE Techniques and tools for process automation using Python (how to automate) 1. Pandas for data processing and analysis 2. Selenium for web automation 3. Numpy and SciPy for scientific computations 4. Flask and Django web frameworks 5. Requests and pyserial for API automation 6. PyAutoGUI for desktop automation 7. parallelism and concurrency `multiprocessing` and `asyncio` 8. Playwright 9. Robot Framework 10. ….

Slide 14

Slide 14 text

14 BUILD SOFTWARE TO TEST SOFTWARE 14 BUILD SOFTWARE TO TEST SOFTWARE Demo Code snippets of practical examples

Slide 15

Slide 15 text

15 BUILD SOFTWARE TO TEST SOFTWARE 15 BUILD SOFTWARE TO TEST SOFTWARE Verhoeven, P. (1987). RoboCop. Self driving car Balance Automation And The Human Touch Modern day Golden Ratio problem

Slide 16

Slide 16 text

16 BUILD SOFTWARE TO TEST SOFTWARE Q&A Thank you for your attention!