Web自动化测试项目(三)用例的组织与运行
一、Unittest用例组织
在test_case目录下创建test*.py,组织测试用例
├── test_case
│ ├── __init__.py
│ └── test_login.py
test_login.py
import unittest
from pages.login_page import LoginPageAction
from utils.constants import LOGIN_URL
class TestLoginCase(unittest.TestCase):
def test_login_success(self):
username = 'XXXXX'
password = 'XXXXX'
login_page = LoginPageAction(path=LOGIN_URL)
home_page = login_page.login(username=username, password=password)
user_title = home_page.get_user_title
expect_ret = 'XXXXXX'
self.assertEqual(expect_ret, user_title)
def test_login_success_(self):
username = 'XXXXX'
password = 'XXXXX'
login_page = LoginPageAction(path=LOGIN_URL)
home_page = login_page.login(username=username, password=password)
user_title = home_page.get_user_title
expect_ret = 'XXXXXX'
self.assertEqual(expect_ret, user_title)
if __name__ == '__main__':
unittest.main()
二、组织测试用例
在run_case目录下创建run_login_case.py,用于运行登陆用例集
├── run_case
│ ├── __init__.py
│ └── run_login_case.py
run_login_case.py
import unittest
from test_case.test_login import TestLoginCase
from utils.se_utils import Driver
if __name__ == '__main__':
cases = unittest.TestLoader().loadTestsFromTestCase(TestLoginCase)
runner = unittest.TextTestRunner(verbosity=2)
runner.run(cases)
# 所有用例运行完后关闭浏览器
Driver.quit_driver()
三、添加Python引包路径
创建module_path.py,存放所有引包的绝对路径 放在run_case下,
所有的执行策略均先调用module_path.py,防止找到模块的异常: ModuleNotFoundError: No module named 'XXXXXX'
├── run_case
│ ├── __init__.py
│ └── run_login_case.py
│ └── moudle_path.py
module_path.py
# 添加Python存放模块的路径
import os
import sys
web_auto_test_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
pages_dir_path = web_auto_test_path + '/pages'
config_dir_path = web_auto_test_path + '/config'
run_case_dir_path = web_auto_test_path + '/run_case'
test_case_dir_path = web_auto_test_path + '/test_case'
utils_dir_path = web_auto_test_path + '/utils'
sys.path.extend([
web_auto_test_path,
pages_dir_path,
config_dir_path,
run_case_dir_path,
test_case_dir_path,
utils_dir_path,
])
from pprint import pprint
print('python引包路径:')
pprint(sys.path)
run_login_case.py
# 在执行入口添加引包路径
from module_path import *
·
·
·
Web自动化测试项目(三)用例的组织与运行的更多相关文章
- Web自动化测试项目搭建目录
Web自动化测试项目搭建(一) 需求与设计 Web自动化测试项目(二)BasePage实现 Web自动化测试项目(三)用例的组织与运行 Web自动化测试项目(四)测试报告 Web自动化测试项目(五)测 ...
- Web自动化测试项目(四)测试报告
测试报告生成 使用HTMLTestRunner 生成测试报告 本文使用的 HTMLTestRunner 来源于github: https://github.com/githublitao/HTMLTe ...
- selenium3 web自动化测试框架 三:项目实战中PO模型的设计与封装
po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面 ...
- Web自动化测试项目(二)BasePage实现
一.BasePage介绍 创建一个BasePage类,对Selenium Api进行二次封装 为了快速创建项目并投产,用到的Selenium Api才进行封装,没用到的则不封装 优先封装最重要的几个方 ...
- Web自动化测试项目(五)测试结果通知
一.邮件通知 使用第三方邮件发送库yagmail github地址:https://github.com/kootenpv/yagmail 安装 pip3 install yagmail demo.p ...
- Web自动化测试项目(七)日志
一.日志作用 调试程序 了解系统程序运行的情况,是否正常 系统程序运行故障分析与问题定位 用来做用户行为分析和数据统计 二.为项目添加日志 └── utils ├── log_utils.py └── ...
- Web自动化测试项目(六)多环境执行
需求 使用命令行运行脚本,可以指定测试/预发布/生产环境的url,如果找不到该环境变量则默认为测试环境 python3 xxxxxx.py test 修改constants.py # DOMAIN = ...
- Web自动化测试项目搭建(一) 需求与设计
一.项目需求 测试/生产环境更新后,自动化回归测试 项目易于维护和运行 支持多种测试策略 支持可视化测试报告 运行结果,支持多种方式通知相关人员 可定时/触发的方式运行自动化测试用例 二.设计 2.1 ...
- python web自动化测试中失败截图方法汇总
在使用web自动化测试中,用例失败则自动截图的网上也有,但实际能落地的却没看到,现总结在在实际应用中失败截图的几种方法: 一.使用unittest框架截图方法: 1.在tearDown中写入截图的 ...
随机推荐
- C语言中的断言
一.原型定义:void assert( int expression ); assert宏的原型定义在<assert.h>中,其作用是先计算表达式 expression ,如果expres ...
- seek方法补充
seek 默认模式是从文件的开始移动光标,一共有0.1.2三种模式 f=open('seek.txt','r',encoding='utf-8') print(f.tell()) f.seek(10, ...
- springboot 动态修改定时任务
1.静态定时 1)启动类加上注解@EnableScheduling @EnableAsync @EnableScheduling @SpringBootApplication @MapperScan( ...
- 0029 定位:position(相对、绝对、固定、绝对定位盒子居中、z-index、绝对定位改变display属性)
目标 理解 能说出为什么要用定位 能说出定位的4种分类 能说出四种定位的各自特点 能说出我们为什么常用子绝父相布局 应用 能写出淘宝轮播图布局 1. CSS 布局的三种机制 网页布局的核心 -- 就是 ...
- 日期格式化跨年bug,是否与你不期而遇?
2020年来临之前,日期格式化操作也为程序员准备了一个跨年级别的bug,不知你的系统是否遇到? 临近2020年元旦的几天,不少网站出现了类似2020/12/29,2020/12/30,2020/12/ ...
- kotlin + springboot启用elasticsearch搜索
参考自: http://how2j.cn/k/search-engine/search-engine-springboot/1791.html?p=78908 工具版本: elasticsearch ...
- SpringBoot简介与快速入门
一.SpringBoot简介 1.1 原有Spring优缺点分析 1.1.1 Spring的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE ...
- 【题解】#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT)
[题解]#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT) 之前做这道题不理解,有一点走火入魔了,甚至想要一本近世代数来看,然后通过人类智慧思考后发现, ...
- 【题解】[HNOI2015]菜肴制作(贪心+topo序)
[题解][HNOI2015]菜肴制作(贪心+topo序) 题意:请你构造一个排列\(p[i]\)使得对于数组\(arc[i]=p[i]\)的字典序最小,并且对于给定的有序数对\((u,v)\)保证你给 ...
- Go合集,gRPC源码分析,算法合集
年初时,朋友圈见到的最多的就是新的一年新的FlAG,年末时朋友圈最多的也是xxxx就要过去了,你的FLAG实现了吗? 这个公众号2016就已经创建了,但截至今年之前从来没发表过文章,现在想想以前很忙, ...