auotest-demo/README.md

98 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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