0722回顾
-
1.unittest后续部分
unittest执行条件以及需要类继承unittest.TestCase
unittest.skip系列跳过的装饰器 -
2.工程结构&设计模式
这部分装饰器最主要使用的是skipIf(条件表达式,msg)
工程建设请看课程作业内的结构图Path拼接 import os
project_path =os.path.dirname(os.path.abspath(“.”))
当前执行文件的上级目录 os.path.abspath(os.path.dirname(file)) <–这里file是魔法前后二个下划线的。markdown把他变成这个了,注意。设计模式 二层,pageObject的二种介绍,用第一种就是课程上讲的。
from [path/filename] import * path/filename里面所有属性 如果不是*就是指向某个类(所以导入py文件里面同做1件事的函数最好都需要包装到1个类里来管理)
这个类里面全局变量和类以外的函数可以直接用。
from [path] import filename 就是导入的整个文件,里面的全局变量和函数 需要filename.全局变量引用 filename.函数调用。 -
3.数据驱动
介绍几种数据文件格式
封装读取ini文件,用到构造函数
yaml 需要import yaml <—这个课堂上没有讲
课堂上提到JSON格式和读取excel的openpyxl可以预习下,读取excel版本需要2007以上。 -
4.路径拼接
不同的测试条件路径在testcase文件目录下test_.py
test_.py最终是定义到(0707)suite = unittest.defaultTestLoader.discover(TestDir,pattern=‘test_*.py’)
pattern里面也是这样写的,*代表模糊匹配。 -
5.API封装
在设计模式后简单介绍了webdriver
from selenium import webdriver
webdriver的API封装
主要看课程作业里面的传送门
代码要有几点重要思维
1 知道代码具体执行的步骤
2 代码在什么文件夹内,什么文件夹和什么文件夹(模块和模块之间)做什么样的交互。
3 不同的函数有微小差异,都封装成二个,不适合直接对函数内操作,函数封装好的功能就是暴露在外部的接口。
4 函数之间的拼接和解耦。解耦和顺序具体在设计模式和工程文件夹展开那边提到了。
课堂上有个做了一半的作业,后面赶进度,作业如下:
#前往 http://v.baidu.com/
#点击登录link 定位器根据选择来做。
#弹出alert框 <---必须要先到这个区域才能拿到下面的id
username的id:TANGRAM__PSP_11__userName
password的id:TANGRAM__PSP_11__password
#获取password的get_attribute("type")属性
就和定位器你手指按在键盘数字"7"上面,但是实际上要先判断是不是你自己的电脑键盘,如果是其他人的,那就不满足预期。
课程作业
0721作业传送门
3个网站需要3个文件,放在testcase/下面起名test_*.py
下次课程
- 核心完成封装的api讲解
- 读取excel需要安装openpyxl,excel版本>=2007
- 日志系统
- 生成报告
- 装饰器 -具体看时间,也可以后续文档提供。
课程下周杀青后,会列1个完整的集合贴。