1. Course ID: 210173
  2. Time: 2hij, Tuesday 16:10-19:00
  3. Classroom: Lib-027
  4. 師生晤談時間及地點Instructor office hours: 3fg 科三213-1
  5. Software:
    1. Firefox
    2. Putty v0.83
    3. Anaconda (64-bit) for Windows 11, Python 3.13. This includes IPython, Spyder, and Jupyter Notebook.
  6. Course Name: Selenium Automation Testing with Python (Selenium 網頁測試自動化技術)
  7. Overview: This course provides step by step directions to get started with Selenium using Python as a programming language. Selenium is the most popular open source test automation tool available in the market. In the last decade, its usage has dramatically increased in the IT sector across all types of organizations. The reason for its popularity is mainly because it supports multiple programming languages, test executions on multiple browsers and operating systems. In this course, we will learn about the different components of Selenium. We will discuss the concepts of WebDriver and learn how to apply test automation concepts with it to automate the testing of our application. We will learn the process of recognizing the test objects on the screen and writing Selenium commands using Python as a programming language. We will also discuss how to use design patterns like the page object mode and data-driven testing to ensure building a robust test framework, which is modular and scalable in nature.
  8. Prerequisite: Each student must be acquainted with Python language programming
  9. Target Students: g
  10. Upper-limit: 4 students
  11. Instructor: Dr. Ying-Chieh Chang and Dr. Quincy Wu
  12. Teaching Approach: Lectures & Hands-On Exercises
  13. TA:
  14. Credit: 3
  15. 彈性教學 (Flexible Teaching): 以本學期課程為範圍,以二至三人為一組,參考網路資源,討論並完成期末專題(六小時) 。程式及簡報繳交期限在學期結束前一個月。
  16. Grading Criteria:
  17. Textbook:
  18. References:
  19. Agenda
    1. Week 1 - Introduction to Python
    2. Week 2 - Introduction to HTML
    3. Week 3 - Introduction to JavaScript
    4. Week 4 - Introduction to Selenium
    5. Week 5 - Locators in Selenium
    6. Week 6 - Term Project Discussion
    7. Week 7 - Understanding WebDriver and WebElement
    8. Week 8 - Unittest in Python
    9. Week 9 - Synchronizing Test
    10. Week 10 - Midterm Exam
    11. Week 11 - Concept of Parameterization
    12. Week 12 - Working with Different WebElements
    13. Week 13 - Frame, Alerts, and Action Class
    14. Week 14 - Page Object Model
    15. Week 15 - Term Project Demonstration
    16. Week 16 - Term Project Demonstration
  20. Educational Goals:
    1. 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
    2. 配合國家科技發展,培養具備前瞻資訊科技研發潛能的人才
    3. 配合全球永續發展潮流,培養具備國際視野、工程倫理、人文關懷及社會責任的科技人才
  21. Core Capabilities:
    1. 具備資訊科學基礎數理知識並應用於發掘、分析與解釋數據的能力
    2. 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
    3. 具備使用英文閱讀資訊領域技術文件及學術論文的能力
    4. 具備團隊合作及獨立執行資訊工程領域學術研究的能力
    5. 理解資訊工程專業倫理、敬業態度、環境保護及社會責任
  22. TA協助事項
    1. Homework Evaluation: Assess and provide constructive feedback on student homework assignments. Ensure timely and accurate grading, offering guidance to help students understand and learn from their mistakes.
    2. Presentation Rehearsals: Assist students in preparing and rehearsing their presentations. Provide tips on public speaking, structure, and content delivery to enhance their confidence and performance.
    3. Hands-On Assistance: Offer in-class support during practical sessions, guiding students through exercises and projects. Address individual queries and provide personalized assistance to ensure comprehension and skill development.
  23. Related Links
    1. Quiz: Web Automation With Python and Selenium
    2. Modern Web Automation With Python and Selenium

    Exercises

    1. Books66
    2. purple calendar
    3. NCNU Library
    4. Moodle
    5. Dcard
    6. Hero Wars