Go to file
chenyh cc1f5371b1 first commit 2021-09-24 13:59:45 +08:00
api first commit 2021-09-24 13:59:45 +08:00
common first commit 2021-09-24 13:59:45 +08:00
config first commit 2021-09-24 13:59:45 +08:00
data first commit 2021-09-24 13:59:45 +08:00
lib first commit 2021-09-24 13:59:45 +08:00
page first commit 2021-09-24 13:59:45 +08:00
test_api first commit 2021-09-24 13:59:45 +08:00
test_app first commit 2021-09-24 13:59:45 +08:00
test_ui first commit 2021-09-24 13:59:45 +08:00
tools first commit 2021-09-24 13:59:45 +08:00
.gitignore first commit 2021-09-24 13:59:45 +08:00
Pipfile first commit 2021-09-24 13:59:45 +08:00
Pipfile.lock first commit 2021-09-24 13:59:45 +08:00
README.md first commit 2021-09-24 13:59:45 +08:00
conftest.py first commit 2021-09-24 13:59:45 +08:00
pytest.ini first commit 2021-09-24 13:59:45 +08:00
requirements.txt first commit 2021-09-24 13:59:45 +08:00
run.py first commit 2021-09-24 13:59:45 +08:00

README.md

auotest

python+request/selenium+pytest_allure集成的API & UI自动化测试框架

项目结构

├────.gitignore git上传时忽略的文件 ├────api/ 存放项目的基础API信息 │ ├────__init__.py │ ├────login_api.py 登录接口 │ └────project_api.py 项目接口 ├────common/ 存放公共方法 │ ├────__init__.py │ ├────baseapi.py 封装基础的request方法 │ ├────basepage.py 封装浏览器基础的操作方法用于UI自动化测试 │ ├────download_img.py 封装通过URL下载图片的方法 │ ├────handle_email.py python自带的SMTP模块发送邮件 (目前项目未使用该模块) │ ├────handle_excel.py 使用openpyxl对excel进行读写操作 │ ├────handle_faker.py 使用faker模块造测试数据 │ ├────handle_log.py python自带的logging模块对日志进行处理目前项目未使用该模块 │ ├────handle_mysql.py 使用pymysql对mysql数据库进行操作 │ ├────handle_platform.py 跨平台的支持allure用于生成allure测试报告 │ ├────handle_time.py 处理时间的类 │ ├────handle_yagmail.py 使用yagmail对自动发送报告邮件 │ ├────handle_yaml.py 使用pyyaml对yaml文件的读写方法 │ ├────helper.py 封装一些小方法 │ └────project_tree.py 获取项目文件树的方法 ├────config/ 存放环境配置信息 │ ├────__init__.py │ ├────report_template.html 直接通过python发送邮件的内容正文模板 │ ├────report_template_jenkins.html 通过jenkins发送邮件的内容正文模板 │ ├────settings.py 项目配置文件 │ └────settings_example.py 项目配置示例 ├────data/ 存放测试数据 │ ├────api_data/ 存放API测试的测试数据 │ │ └────login_data.yaml 登录用例的测试数据 │ └────ui_data/ 存放UI测试的测试数据 │ │ ├────login_data.py 登录用例的测试数据 │ │ └────new_project_data.py 新建项目的测试数据 ├────page/ 封装页面元素定位和操作用于UI自动化测试 │ ├────__init__.py │ ├────login_page.py 登录页面的元素定位和操作 │ ├────project_detail_page.py 项目详情页的元素定位和操作 │ └────users_center_page.py 个人主页的元素定位和操作 ├────tools/ │ ├────__init__.py │ └────export_issue.py ├────lib/ 存放第三方库 │ └────__init__.py ├────log/ 存放日志文件 ├────test_api/ 存放api测试用例 │ ├────__init__.py │ └────conftest.py 作用于当前包的fixture的配置文件 ├────test_app/ 存放app测试用例 │ ├────__init__.py │ └────conftest.py 作用于当前包的fixture的配置文件 ├────test_ui/ 存放UI测试用例 │ ├────__init__.py │ └────conftest.py 作用于当前包的fixture的配置文件 ├────report/ 存放allure测试报告 ├────image/ 存放UI测试过程中的截图 ├────conftest.py 作用于整个项目的全局的fixture的配置文件 ├────Pipfile 记录虚拟环境的相关信息 ├────Pipfile.lock 记录了当前虚拟环境中安装的依赖的版本号以及哈希 ├────pytest.ini pytest的配置文件 ├────README.md ├────requirements.txt 项目依赖包使用了pipenv后该文件不需要 └────run.py 项目的运行文件

pipenv使用

参考连接:https://zhuanlan.zhihu.com/p/71598248

安装pipenv: pip3 install pipenv 创建虚拟环境pipenv install 激活已存在的虚拟环境如果不存在会创建一个pipenv shell

#注意:以下三个参数只能单独使用。它们还具有破坏性,会删除当前的虚拟环境,然后用适当版本的虚拟环境替代。 指定使用Python3.6的虚拟环境: pipenv --python 3.6 使用系统的Python2在创建虚拟环境: pipenv --two
使用系统的Python3在创建虚拟环境: pipenv --three

列出本地工程路径: pipenv --where 列出虚拟环境路径pipenv --venv 列出虚拟环境python的可执行路径pipenv --py 安装包pipenv isntall 包名 安装包到开发环境pipenv install 包名--dev 更新包pipenv update 包名 卸载包pipenv uninstall 包名 卸载所有包pipenv uninstall --all 查看包依赖pipenv graph 更新Pipfile.lock文件锁定当前环境的依赖版本pipenv lock 运行py文件pipenv run python "python文件.py" 删除虚拟环境pipenv --rm 退出虚拟环境exit

命令参考

更新依赖包pipreqs . --encoding=utf8 --force 安装依赖包pipenv install -r requirements.txt jenkins工作目录/var/lib/jenkins/workspace