# selenium-demo **Repository Path**: joyamon/selenium-demo ## Basic Information - **Project Name**: selenium-demo - **Description**: 介绍了Selenium WebDriver的各个方面,并提供了一个完整的UI自动化测试Demo。这个Demo框架具有良好的扩展性,可以根据需要添加更多的页面类和测试用例,构建更复杂的自动化测试套件。通过这个Demo,你可以学习到 如何搭建Selenium测试框架,Page Object Model设计模式的应用,等待机制和元素定位的最佳实践,如何组织测试用例和生成报告,如何处理常见的自动化测试问题 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-02 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: UI自动化, Selenium ## README # selenium-demo ### 1.1 selenium-demo 详细介绍了Selenium WebDriver的各个方面,并提供了一个完整的UI自动化测试Demo。这个Demo框架具有良好的扩展性,你可以根据需要添加更多的页面类和测试用例,构建更复杂的自动化测试套件。通过这个Demo,你可以学习到: - 如何搭建Selenium测试框架 - Page Object Model设计模式的应用 - 等待机制和元素定位的最佳实践 - 如何组织测试用例和生成报告 - 如何处理常见的自动化测试问题 ### 1.2 Selenium组件 - **Selenium IDE**:浏览器扩展,用于录制和回放测试脚本 - **Selenium WebDriver**:核心组件,提供API来控制浏览器 - **Selenium Grid**:用于并行执行测试,支持跨浏览器和跨平台测试 ### 2.1 Python环境安装 ```bash # 安装Python # 从官网下载安装:https://www.python.org/ # 安装Selenium pip install selenium # 安装浏览器驱动(以Chrome为例) # 1. 查看Chrome版本:chrome://settings/help # 2. 下载对应版本的ChromeDriver:https://chromedriver.chromium.org/ # 3. 将chromedriver.exe放到Python安装目录或添加到系统PATH # 4. 建议使用 webdriver-manager,可以自动管理浏览器驱动,无需手动下载 ``` #### 项目结构 ```bash selenium-demo/ ├── config/ │ └── config.py # 配置文件 ├── pages/ │ ├── base_page.py # 页面基类 │ ├── login_page.py # 登录页面 │ └── home_page.py # 首页 ├── tests/ │ ├── test_login.py # 测试用例 │ └── conftest.py # pytest配置 ├── utils/ │ ├── logger.py # 日志工具 │ └── screenshot.py # 截图工具 ├── reports/ # 测试报告 ├── screenshots/ # 截图目录 ├── requirements.txt # 依赖包 └── run_tests.py # 运行脚本 ``` #### 运行方式 ```bash # 运行所有测试 python run_tests.py # 指定浏览器 python run_tests.py --browser firefox # 使用无头模式 python run_tests.py --headless # 运行特定测试文件 python run_tests.py --test tests/test_login.py # 使用pytest直接运行 pytest tests/test_login.py -v --html=report.html ``` ### SauceDemo网站介绍 * SauceDemo 是一个常用于自动化测试的演示网站,主要应用于UI测试和API测试。以下是关键信息: ##### 网站用途 - UI自动化测试:支持Selenium、Python、Java等工具进行网页元素交互测试,如登录、购物车操作等 。 - API测试:提供REST API接口,用于练习HTTP请求和响应处理 。 ##### 技术实现 - 测试框架:常与Page Object Model(POM)设计模式结合,封装页面元素和行为,提升代码可维护性 。 - 工具支持:兼容SpecFlow、Cucumber等行为驱动开发(BDD)框架 。 ### 执行结果 ### 交流群