了解使用 Python、BDD、Selenium WebDriver 和 Postman 进行自动化软件测试,重点关注 Web 应用程序 此教程共13.5小时,中英双语字幕,画质清晰无水印,源码附件全 课程英文名:Automated Software Testing with Python
下载地址百度网盘地址:https://pan.baidu.com/s/1qIv3le1IDR-ihta9oXm3kw?pwd=fo4n
课程内容你将会学到的- 您需要了解的有关使用 Python 进行自动化软件测试的所有信息(以及如何享受测试的乐趣!)
- 编写自动化测试时的常见陷阱和最佳实践
- 如何使用 Python 和 Postman 等工具编写完整的系统测试
- 通过使用 Travis CI 设置持续集成管道来自动化您的应用程序测试
- 使用 Behave 和 Selenium WebDriver 进行基于浏览器的验收测试
本课程包含所有最新技术,供您在专业和个人项目中使用:
- unittest库,Python的标准自动化软件测试库;
- Mocking 和 patching,两个在测试时减少依赖的基本工具;
- 单元测试、集成测试、系统测试和验收测试——所有类型的测试都能让您完全覆盖;
- Postman便于在开发时进行协作和测试;
- Selenium WebDriver用于自动浏览器测试;
- Git和Travis用于持续集成您的项目。
.
├── 1. Welcome!
│ ├── 1. How to take this course.html
│ ├── 2. A self-assessment.html
│ ├── 2.1 3_python_self_assessment.pdf
│ ├── 3. Installing Python and PyCharm on Windows.html
│ └── 4. Installing Python and PyCharm on OS X.html
├── 10. Acceptance testing and browser automation with Selenium
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 10. Page locators and models.mp4
│ ├── 10. Page locators and models.srt
│ ├── 11. The blog page.mp4
│ ├── 11. The blog page.srt
│ ├── 12. Using pages in navigation.mp4
│ ├── 12. Using pages in navigation.srt
│ ├── 13. Don't over-generalise tests!.mp4
│ ├── 13. Don't over-generalise tests!.srt
│ ├── 14. Waits and timeouts with Selenium.mp4
│ ├── 14. Waits and timeouts with Selenium.srt
│ ├── 15. Debugging acceptance tests in PyCharm.mp4
│ ├── 15. Debugging acceptance tests in PyCharm.srt
│ ├── 16. Our final complex scenario.mp4
│ ├── 16. Our final complex scenario.srt
│ ├── 17. Filling in forms with Selenium.mp4
│ ├── 17. Filling in forms with Selenium.srt
│ ├── 18. Access the final code of this section here.html
│ ├── 18.1 final_code.zip
│ ├── 19. Conclusion of this section.mp4
│ ├── 19. Conclusion of this section.srt
│ ├── 2. What is acceptance testing.mp4
│ ├── 2. What is acceptance testing.srt
│ ├── 3. Introduction to our project.mp4
│ ├── 3. Introduction to our project.srt
│ ├── 3.1 video_code.zip
│ ├── 4. Our first acceptance test step.mp4
│ ├── 4. Our first acceptance test step.srt
│ ├── 5. Getting the Chrome webdriver.mp4
│ ├── 5. Getting the Chrome webdriver.srt
│ ├── 6. Verifying everything works.mp4
│ ├── 6. Verifying everything works.srt
│ ├── 7. Finishing our first test.mp4
│ ├── 7. Finishing our first test.srt
│ ├── 8. Re-using steps with the regular expression matcher.mp4
│ ├── 8. Re-using steps with the regular expression matcher.srt
│ ├── 9. Our first content test.mp4
│ └── 9. Our first content test.srt
├── 11. Bonus Material
│ └── 1. Bonus lecture other courses and next steps.html
├── 2. A Full Python Refresher
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 10. Advanced set operations.mp4
│ ├── 10. Advanced set operations.srt
│ ├── 11. Lists, tuples, and sets.html
│ ├── 12. Solution to coding exercise lists, tuples, sets.mp4
│ ├── 12. Solution to coding exercise lists, tuples, sets.srt
│ ├── 13. Booleans in Python.mp4
│ ├── 13. Booleans in Python.srt
│ ├── 14. If statements.mp4
│ ├── 14. If statements.srt
│ ├── 15. The 'in' keyword in Python.mp4
│ ├── 15. The 'in' keyword in Python.srt
│ ├── 16. If statements with the 'in' keyword.mp4
│ ├── 16. If statements with the 'in' keyword.srt
│ ├── 17. Loops in Python.mp4
│ ├── 17. Loops in Python.srt
│ ├── 18. Flow control—loops and ifs.html
│ ├── 19. Solution to coding exercise flow control.mp4
│ ├── 19. Solution to coding exercise flow control.srt
│ ├── 2. Access the code for this section here.html
│ ├── 20. List comprehensions in Python.mp4
│ ├── 20. List comprehensions in Python.srt
│ ├── 21. Dictionaries.mp4
│ ├── 21. Dictionaries.srt
│ ├── 22. Destructuring variables.mp4
│ ├── 22. Destructuring variables.srt
│ ├── 23. Functions in Python.mp4
│ ├── 23. Functions in Python.srt
│ ├── 24. Function arguments and parameters.mp4
│ ├── 24. Function arguments and parameters.srt
│ ├── 25. Default parameter values.mp4
│ ├── 25. Default parameter values.srt
│ ├── 26. Functions returning values.mp4
│ ├── 26. Functions returning values.srt
│ ├── 27. Functions.html
│ ├── 28. Solution to coding exercise Functions.mp4
│ ├── 28. Solution to coding exercise Functions.srt
│ ├── 29. Lambda functions in Python.mp4
│ ├── 29. Lambda functions in Python.srt
│ ├── 3. Variables in Python.mp4
│ ├── 3. Variables in Python.srt
│ ├── 3.1 How to set up VSCode with Python.html
│ ├── 30. Dictionary comprehensions.mp4
│ ├── 30. Dictionary comprehensions.srt
│ ├── 31. Dictionaries and students.html
│ ├── 32. Solution to coding exercise dictionaries.mp4
│ ├── 32. Solution to coding exercise dictionaries.srt
│ ├── 33. Unpacking arguments.mp4
│ ├── 33. Unpacking arguments.srt
│ ├── 34. Unpacking keyword arguments.mp4
│ ├── 34. Unpacking keyword arguments.srt
│ ├── 35. Object-Oriented Programming in Python.mp4
│ ├── 35. Object-Oriented Programming in Python.srt
│ ├── 36. Magic methods __str__ and __repr__.mp4
│ ├── 36. Magic methods __str__ and __repr__.srt
│ ├── 37. Classes and objects.html
│ ├── 38. Solution to coding exercise classes and objects.mp4
│ ├── 38. Solution to coding exercise classes and objects.srt
│ ├── 39. @classmethod and @staticmethod.mp4
│ ├── 39. @classmethod and @staticmethod.srt
│ ├── 4. Variables.html
│ ├── 40. @classmethod and @staticmethod.html
│ ├── 41. Solution to coding exercise @classmethod and @staticmethod.mp4
│ ├── 41. Solution to coding exercise @classmethod and @staticmethod.srt
│ ├── 42. Class inheritance.mp4
│ ├── 42. Class inheritance.srt
│ ├── 43. Class composition.mp4
│ ├── 43. Class composition.srt
│ ├── 44. Type hinting in Python 3.5 .mp4
│ ├── 44. Type hinting in Python 3.5 .srt
│ ├── 45. Imports in Python.mp4
│ ├── 45. Imports in Python.srt
│ ├── 46. Relative imports in Python.mp4
│ ├── 46. Relative imports in Python.srt
│ ├── 47. Errors in Python.mp4
│ ├── 47. Errors in Python.srt
│ ├── 48. Custom error classes.mp4
│ ├── 48. Custom error classes.srt
│ ├── 49. First-class functions.mp4
│ ├── 49. First-class functions.srt
│ ├── 5. Solution to coding exercise Variables.mp4
│ ├── 5. Solution to coding exercise Variables.srt
│ ├── 50. Simple decorators in Python.mp4
│ ├── 50. Simple decorators in Python.srt
│ ├── 51. The 'at' syntax for decorators.mp4
│ ├── 51. The 'at' syntax for decorators.srt
│ ├── 52. Decorating functions with parameters.mp4
│ ├── 52. Decorating functions with parameters.srt
│ ├── 53. Decorators with parameters.mp4
│ ├── 53. Decorators with parameters.srt
│ ├── 54. Mutability in Python.mp4
│ ├── 54. Mutability in Python.srt
│ ├── 55. Mutable default parameters (and why they're a bad idea).mp4
│ ├── 55. Mutable default parameters (and why they're a bad idea).srt
│ ├── 56. Conclusion of this section.mp4
│ ├── 56. Conclusion of this section.srt
│ ├── 6. String formatting in Python.mp4
│ ├── 6. String formatting in Python.srt
│ ├── 7. Getting user input.mp4
│ ├── 7. Getting user input.srt
│ ├── 8. Writing our first Python app.mp4
│ ├── 8. Writing our first Python app.srt
│ ├── 9. Lists, tuples, and sets.mp4
│ └── 9. Lists, tuples, and sets.srt
├── 22.txt
├── 3. Your first automated software test
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 10. Patching the input method and returning values.mp4
│ ├── 10. Patching the input method and returning values.srt
│ ├── 11. Taking our patching further.mp4
│ ├── 11. Taking our patching further.srt
│ ├── 12. The last few patches!.mp4
│ ├── 12. The last few patches!.srt
│ ├── 13. The TestCase setUp method.mp4
│ ├── 13. The TestCase setUp method.srt
│ ├── 14. Conclusion of this section.mp4
│ ├── 14. Conclusion of this section.srt
│ ├── 2. Access the code for this section here.html
│ ├── 3. Setting up our project.mp4
│ ├── 3. Setting up our project.srt
│ ├── 4. Writing our first test.mp4
│ ├── 4. Writing our first test.srt
│ ├── 5. Testing dictionary equivalence.mp4
│ ├── 5. Testing dictionary equivalence.srt
│ ├── 6. Writing blog tests and PyCharm run configurations.mp4
│ ├── 6. Writing blog tests and PyCharm run configurations.srt
│ ├── 7. The __repr__ method, and intro to TDD.mp4
│ ├── 7. The __repr__ method, and intro to TDD.srt
│ ├── 8. Integration tests and finishing the blog.mp4
│ ├── 8. Integration tests and finishing the blog.srt
│ ├── 9. Mocking, patching, and system tests.mp4
│ └── 9. Mocking, patching, and system tests.srt
├── 4. Testing a Flask Endpoint
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 2. Access the code for this section here.html
│ ├── 3. Setting our project up.mp4
│ ├── 3. Setting our project up.srt
│ ├── 4. Creating our Flask app.mp4
│ ├── 4. Creating our Flask app.srt
│ ├── 5. Our first System test.mp4
│ ├── 5. Our first System test.srt
│ ├── 6. Refactoring our System Tests.mp4
│ ├── 6. Refactoring our System Tests.srt
│ ├── 7. Conclusion of this section.mp4
│ └── 7. Conclusion of this section.srt
├── 5. REST API Testing, Part I
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 2. Access the code for this section here.html
│ ├── 3. A look at a REST API with Flask.mp4
│ ├── 3. A look at a REST API with Flask.srt
│ ├── 3.1 starter_code.zip
│ ├── 4. Unit testing a REST API.mp4
│ ├── 4. Unit testing a REST API.srt
│ ├── 5. Setting up our generic BaseTest.mp4
│ ├── 5. Setting up our generic BaseTest.srt
│ ├── 6. Integration testing a REST API.mp4
│ ├── 6. Integration testing a REST API.srt
│ ├── 7. Conclusion of this section.mp4
│ └── 7. Conclusion of this section.srt
├── 6. REST API Testing, Part II
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 2. Access the code for this section here.html
│ ├── 3. Setting up our project.mp4
│ ├── 3. Setting up our project.srt
│ ├── 3.1 starter_code.zip
│ ├── 4. Testing foreign key constraints with Python.mp4
│ ├── 4. Testing foreign key constraints with Python.srt
│ ├── 5. Unit testing models and SQLAlchemy mappers.mp4
│ ├── 5. Unit testing models and SQLAlchemy mappers.srt
│ ├── 6. Finishing our Store tests.mp4
│ ├── 6. Finishing our Store tests.srt
│ ├── 7. Conclusion of this section.mp4
│ └── 7. Conclusion of this section.srt
├── 7. System testing a REST API
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 10. Writing our Item System tests and testing authentication.mp4
│ ├── 10. Writing our Item System tests and testing authentication.srt
│ ├── 11. Conclusion of this section.mp4
│ ├── 11. Conclusion of this section.srt
│ ├── 2. Access the code for this section here.html
│ ├── 3. Setting project up and creating User model.mp4
│ ├── 3. Setting project up and creating User model.srt
│ ├── 4. Allowing users to log in.mp4
│ ├── 4. Allowing users to log in.srt
│ ├── 5. Writing our User tests.mp4
│ ├── 5. Writing our User tests.srt
│ ├── 6. The setUpClass method in the BaseTest.mp4
│ ├── 6. The setUpClass method in the BaseTest.srt
│ ├── 7. Testing user registration.mp4
│ ├── 7. Testing user registration.srt
│ ├── 8. Finalising user System tests.mp4
│ ├── 8. Finalising user System tests.srt
│ ├── 9. Writing Store System tests.mp4
│ └── 9. Writing Store System tests.srt
├── 8. System testing with Postman and Newman
│ ├── 1. Introduction to this section.mp4
│ ├── 1. Introduction to this section.srt
│ ├── 10. Conclusion of this section.mp4
│ ├── 10. Conclusion of this section.srt
│ ├── 2. Access the code and Postman files here.html
│ ├── 3. Introduction to Postman.mp4
│ ├── 3. Introduction to Postman.srt
│ ├── 4. Our first Posman tests.mp4
│ ├── 4. Our first Posman tests.srt
│ ├── 5. Setting and clearing environment variables in Postman.mp4
│ ├── 5. Setting and clearing environment variables in Postman.srt
│ ├── 6. Running a test folder in Postman.mp4
│ ├── 6. Running a test folder in Postman.srt
│ ├── 7. Advanced PyCharm run configurations.mp4
│ ├── 7. Advanced PyCharm run configurations.srt
│ ├── 8. Installing Node and Newman.mp4
│ ├── 8. Installing Node and Newman.srt
│ ├── 9. Multirun in PyCharm—Running app and tests together.mp4
│ └── 9. Multirun in PyCharm—Running app and tests together.srt
└── 9. Continuous Integration with Travis CI
├── 1. Introduction to this section.mp4
├── 1. Introduction to this section.srt
├── 10. The Travis config file and running tests.mp4
├── 10. The Travis config file and running tests.srt
├── 11. Adding our test badge to the Readme.mp4
├── 11. Adding our test badge to the Readme.srt
├── 12. Conclusion of this section.mp4
├── 12. Conclusion of this section.srt
├── 2. The code for this section.html
├── 3. Installing Git.mp4
├── 3. Installing Git.srt
├── 4. What is a Git repository.mp4
├── 4. What is a Git repository.srt
├── 5. A local Git workflow.mp4
├── 5. A local Git workflow.srt
├── 6. GitHub and remote repositories.mp4
├── 6. GitHub and remote repositories.srt
├── 7. Adding our project to GitHub.mp4
├── 7. Adding our project to GitHub.srt
├── 8. What is Travis CI.mp4
├── 8. What is Travis CI.srt
├── 9. Adding our repository to Travis.mp4
└── 9. Adding our repository to Travis.srt
11 directories, 282 files