# tp商城_ui自动化_案例 **Repository Path**: maidang_study/tp-products-ui-automation-case ## Basic Information - **Project Name**: tp商城_ui自动化_案例 - **Description**: 案例是tp商城自动购物下单,使用了python+selenium等相关自动化技术实现的webUI自动化测试,感兴趣的同学可以参考下代码,大家相互学习,相互进步! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2023-07-09 - **Last Updated**: 2024-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, unittest, Selenium ## README # tp商品_ui自动化_案例 #### 介绍 - 案例是模拟用在tpshop商城购物下单操作,使用了python+selenium+数据驱动+测试报告等相关自动化测试技术实现的。 - 使用的相关操作及使用的技术如下: - tp商城页面操作:selenium(3.12.0) - tp商城账号登录相关:cookie - tp商城的用例数据:json - tp商城的测试报告:HTMLTestRunner - tp商城的日志操作:logging - tp商城的参数化操作:parameterized(0.9.0) - 其他相关操作及技术详情见源码 #### 项目架构 ![输入图片说明](Snipaste_2023-07-09_16-36-21.png) - 项目目录说明 - base:存放基类,基类的作用就是提供基本的操作,例如:点击元素,输入内容,获取元素文本内容等 - data:存放数据文件,数据文件存储着用例中的数据,例如:xxx.json - image:存放图片,用于截图存放 - log:存放日志文件,例如:xxx.log - page:存放页面对象文件,页面对象就是根据页面相关操作而设计的类,用于被测试文件调用进行测试 - report:存放测试报告,用于生成的测试报告存放 - scripts:存放测试业务文件,测试业务就是将调用页面对象执行操作,最后生成测试报告等相关操作 - tool:存放工具类文件,例如存放 read_json.py(读取json文件)get_driver.py(获取driver)get_logger.py(获取logger) #### 安装教程 - 0. 安装步骤可以百度自行解决! - 1. 安装python(3.11.2),下载地址:https://www.python.org/downloads/ - 2. 安装pycharm(社区版),下载地址:https://www.jetbrains.com/pycharm/download/ - 3. 安装selenium(3.12.0),可在pycharm安装或pip命令安装,命令:pip install -v selenium==3.12.0 - 4. 安装parameterized(0.9.0),可在pycharm安装或pip命令安装,命令:pip install -v parameterized==0.9.0 - 5. 安装浏览器,Chrome、Firefox(本项目推荐)等 - 6. 安装driver,根据浏览器版本选择对应的浏览器驱动,否则会无法驱动浏览器并报错! - 注: - pycharm安装扩展位置:settings-project-python:interpreter - chrome浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html - firefox浏览器驱动下载地址:Https://github.com/mozilla/geckodriver/releases #### 使用说明 - 运行代码前提:已完成环境搭建,使用的相关软件版本一致,否则会出现bug !!! ![输入图片说明](Snipaste_2023-07-09_17-05-05.png) 1. 运行入口文件是scripts目录下的run_html.py文件 ![输入图片说明](Snipaste_2023-07-09_17-06-45.png) 2. 运行前请修改page目录下的__init__.py文件 ![输入图片说明](Snipaste_2023-07-09_17-07-45.png) 3. 将sessid、uname、userid等cookie信息修改为最新的 - 注:因tp商城每天都会自动删除账号,所以运行前请先注册账号,无法保证用户登录时,请重新抓包,获取最新的sessid(会过期) - tp商城首页地址:http://demo6.tp-shop.cn/index.php - 运行效果链接:https://b23.tv/m8HBY3o - 测试报告展示如下: ![输入图片说明](Snipaste_2023-07-10_12-01-15.png) - log日志展示如下: ![输入图片说明](Snipaste_2023-07-10_12-00-49.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)