当前位置: 首页 > news >正文

python之web自动化测试框架

梳理下搭建web自动化框架的流程:

创建目录:

cases:存放测试用例,unittest框架要求用例名必须以test开头,所以命名test_case.py

test_case.py代码如下:继承unittest.TestCase类下面的方法setupclass(),teardownclass()。然后把用例放进去。每个页面作为一个用例

‘’‘这里写业务的用例 用例要用到page unittest’‘’
from page.basePage import Page
import unittest

class UiTester(unittest.TestCase):#继承unittest.TestCase类下面的方法setup(),teardown()
# def setUp(self):#每条测试用例执行之前,先执行它
# pass
# def tearDown(self):#每条测试用例执行之后,执行它
# pass
@classmethod
def setUpClass(cls):#类里面的函数执行之前,最先执行它(所有用例执行之前,执行一次)
cls.page=Page()#实例化,打开浏览器
cls.page.open()#打开url网页

def test_a_login(self):#这是case,每个页面里的功能点,用例与数据源分离,方便维护self.page.send_username()self.page.send_passwd()self.page.login()self.assertTrue(self.page.check_login())
def test_b_creatbug(self):self.page.clickbug()  # 进入到bug页面self.page.mentionbug()  # 点击提bug按钮,进入到提bug页面self.page.selectmodule()  # 选择所属模块self.page.bugtype()  # 选择bug类型self.page.os()  # 选择操作系统self.page.browser()  # 选择浏览器self.page.version()  # 选择影响版本self.page.assignto()  # 选择分配人self.page.deadline()  # 选择截止日期self.page.bugtitle()  # bug标题self.page.context()  # bug步骤self.page.mailto()  # 超送人self.page.file()self.page.save()self.assertTrue(self.page.check_creatbug())
@classmethod
def tearDownClass(cls):#类里面的所有测试用例执行之后,最后执行它(所有用例执行之后,执行一次)cls.page.quit()
lib目录:pyse.py文件主要存放操作元素的方法比如:click(),send_keys(),double_click(),drag_and_drop()等等page目录:basepage.py,根据PO思想,将每个页面作为一个类,每个页面的功能点作为这个类的一个函数。将所有页面写出来在用例文件test_case.py中调用上面的函数,每个页面作为一个用例,调用每个页面的函数bin:start.py写运行用例的流程:创建测试集合,找到测试用例,将每个测试用例加到测试集合中,运行用例,产生报告。

from lib.logger import logger
from lib.path import WEBCASEPATH,REPORTPATH
from lib.HTMLTestRunner import HTMLTestRunner
import unittest
from lib.tool import Tool
class Main(object):
def run(self):
Tool().clear_picture()
suite = unittest.TestSuite()
cases = unittest.defaultTestLoader.discover(WEBCASEPATH)
print(cases)
for case in cases:
print(case)
suite.addTest(case)
f = open(REPORTPATH,‘wb’)#打开一个报告文件
runner = HTMLTestRunner(f,verbosity=1,title=u’测试报告’, description=u’用例执行情况:')
runner.run(suite)
f.flush()
f.close()

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

http://www.lryc.cn/news/23464.html

相关文章:

  • 算法笔记(十五)—— 动态规划(暴力递归到动态规划)习题训练!
  • 云原生架构基础概念及应用办法
  • RedisTemplate 的基本使用手把手教
  • Hbase -- Compact工具梳理
  • 【java代码审计】SQL注入
  • 前置知识-辛 Runge-Kutta 方法
  • require 与 import 两种引入模块方式到底有什么区别?
  • 软考信息系统监理师备考建议
  • 第八届蓝桥杯省赛——4承压计算(二维数组,嵌套循环)
  • 【ECNU】3645. 莫干山奇遇(C++)
  • 为什么需要学习shell、shell的作用
  • pgsql-Create_ALTER_GRANT_REVOKE命令语法
  • 【linux】:进程概念
  • 创建对象的方式和对属性的操作
  • GO时间相关操作说明
  • 选择和分支结构
  • Elasticsearch总结笔记
  • Ubuntu 安装指定版本 Mysql,并设置远程连接(以安装mysql 5.5 为例)
  • NumPy:Python中的强大数学工具
  • Hbase资源隔离操作指南
  • TPS2012B泰克Tektronix隔离通道示波器
  • 9.4 PIM-DM
  • 程序员推荐的良心网站合集!
  • 信息安全概论之《密码编码学与网络安全----原理与实践(第八版)》
  • 跬智信息全新推出云原生数据底座玄武,助力国产化数据服务再次升级
  • 【离线数仓-9-数据仓库开发DWS层设计要点-DWS层汇总表以及数据装载】
  • 我的十年编程路 序
  • xs 180
  • 时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序)
  • 0101基础-认证授权-springsecurity