A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我是楠楠 于 2019-9-25 14:02 编辑

【郑州校区】web自动化讲义之项目实战 下
编写代码
目标
1. 掌握如何采用PO模式的分层思想对页面进行封装
2. 掌握如何使用UnitTest管理项目中的测试用例
1. 抽取PO
根据用例分析待测功能,提取页面对象
1. 定义页面对象文件
登录页:login_page.py首页:index_page.py
后台页面(个人中心页):home_page.py商品搜索页:goods_search_page.py商品详情页:goods_detail_page.py购物车页:cart_page.py
下订单页:order_page.py
订单支付页:order_pay_page.py我的订单页:my_order_page.py
1. 分别编写对象库层、操作层、业务层的代码

2. 编写测试脚本
1. 定义测试脚本文件
登录模块:test_login.py购物车模块:test_cart.py订单模块:test_order.py
3. 执行测试脚本
1. 使用unittest执行测试脚本
2. 调试代码
完善代码
目标
1. 掌握如何把数据驱动应用到项目中
2. 能够把日志收集功能应用到项目中
3. 掌握如何使用UnitTest生成测试报告
1. 数据驱动
1.1 定义数据文件
1. 定义存放测试数据的目录,目录名称:data
2. 分模块定义数据文件
登录模块:login.json购物车模块:cart.json订单模块:order.json
1. 根据业务编写用例数据

1.2测试数据参数化
修改测试脚本,使用  parameterized  实现参数化
1. 日志收集
使用logging模块实现日志的收集

2.1 示例代码
[AppleScript] 纯文本查看 复制代码
import  logging.handlers import  os

# 工程目录
BASE_DIR  =  os.path.dirname(os.path.abspath(    file    ))
def  init_log_config(): """
初始化日志配置
"""

# 日志输出格式
fmt  =  "%(asctime)s  %(levelname)s  [%(filename)s(%(funcName)s:%(lineno)d)]  -  %(messag e)s"

# 创建日志器
logger  =  logging.getLogger() logger.setLevel(logging.INFO)

# 创建格式化器
formatter  =  logging.Formatter(fmt)

# 输出到控制台
sh  =  logging.StreamHandler() sh.setFormatter(formatter) logger.addHandler(sh)

# 输出到文件,每日一个文件
log_path  =  os.path.join(BASE_DIR,  "log",  "tpshop.log")
fh  =  logging.handlers.TimedRotatingFileHandler(log_path,  when='MIDNIGHT',  interval=1
,  backupCount=3) fh.setFormatter(formatter) logger.addHandler(fh)
3. 生成测试报告
使用HTMLTestRunner生成测试报告
[AppleScript] 纯文本查看 复制代码
report_file  =  "./report/report{}.html".format(time.strftime("%Y%m%d-%H%M%S")) with  open(report_file,  "wb")  as  f:
runner  =  HTMLTestRunner(f,  title="TPshop商城自动化测试报告",  description="Win10.Fire
fox")
runner.run(suite)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马