Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Process Automation using Python

Process Automation using Python

Exactpro

June 20, 2023
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  1. 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

    View full-size slide

  2. 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”

    View full-size slide

  3. 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)

    View full-size slide

  4. 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
    +

    View full-size slide

  5. 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

    View full-size slide

  6. 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

    View full-size slide

  7. 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

    View full-size slide

  8. 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

    View full-size slide

  9. 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

    View full-size slide

  10. 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

    View full-size slide

  11. 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)

    View full-size slide

  12. 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

    View full-size slide

  13. 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. ….

    View full-size slide

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

    View full-size slide

  15. 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

    View full-size slide

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

    View full-size slide