可以同时安装多个Python版本;
但是这样cmd使用pip或Python时会出现冲突,可以将对应的pip改成对应的版本;
如pip3.7使用时 pip3.7 install pytest。
Python重装后所有的包也要重新安装;
导出所有已安装的包到TXT文件 pip freeze > requi.txt ;
一次性重新安装所有的包 pip install -r requi.txt .
Git
- 初始化一个代码
- 提交自己的代码
- 远程 clone 代码库
- 拉取pull / push 推送
git 的作用:
1, 你当天写的代码,不小心删除了,重启
2, 你今天写了一些新代码,想退回到原来的老代码。
2.5, 上线的时候回滚
3, 协作,
管理你的历史版本
git 操作 / svn
1, 创建一个版本库 git init git status查看状态
2, 需要管理的文件放到版本库当中 git add .
3, 提交, 文件的历史记录就会生成在版本 git commit -m "init"
4, git log 展示历史版本
po模式
注意po模式封装函数的返回值
分层:
1, po 模式, 将页面 和测试
2, basepage, 浏览器通用 和 页面具体
3, 元素定位层,
4, 数据层
元素定位分层:
页面当中的所有元素定位都可以作为类属性保存,
当前端页面发生变化,代码只需要维护修改 对应的 Page 类当中的属性。
另一种元素定位分层的手段:
保存到单独的模块
web 通用的操作,和项目没关系,任何项目都可以直接调用
- iframe
- 单击
- 双击
- 拖拽
- 键盘
- 显性等待
basepage:
保存所有的页面通用操作
login_page 单个页面的操作。
父类的所有方法或者属性 都可以在子类当中使用。
自动化测试的流程
1, 使用 selenium 和 pytest 实现其中的一个用例
2, 把启动浏览器过程作为一个夹具管理
3, 有多个用例需要共用的步骤封装成函数或者类
4, TODO: 数据管理, 数据驱动, Page object, 元素定位提取, basepage 提取。
web 测试:
- 需求稳定,不会频繁变更。
- 研发和测试周期长,需要频繁执行回归测试
- 需要在多种平台上重复运行相同测试的场景
- 某些测试项目通过手工测试无法实现,或者手工成本太高
- 被测软件的开发较为规范,能够保证系统的可测试行