【功能自动化】使用测试套件运行测试函数

news2024/9/21 17:28:12

1.创建registers.py

将registers.py放在文件夹下

registers.py

代码实现

# 导入包
from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep
import unittest
import parameterized

driver = None
file = open(r"user.txt")
data = []
for row in file:
    t = row.split()
    data.append(t)

class Reg(unittest.TestCase):
    
    @classmethod
    def setUpClass(cls):
        global driver
        driver = webdriver.Chrome()
    
    @classmethod
    def tearDownClass(cls):
        driver.quit()
    
    # def setUp(self):
    #     driver.get("http://127.0.0.1:1080/WebTours/")
    #     sleep(3)
    def testOpenWeb(self):
        u'''打开网站'''
        driver.get("http://127.0.0.1:1080/WebTours/")
        # 等待3秒
        sleep(3)

        driver.switch_to.default_content()
        driver.switch_to_frame("body")
        driver.switch_to_frame("info")
        actual = driver.find_element_by_tag_name("body").text
        expect = 'Welcome to the Web Tours site.'
        assert expect in actual,"实际结果:"+actual
    
    @parameterized.parameterized.expand(data)
    def testRegister(self,yhm,mm):
        u'''注册账号'''
        driver.get("http://127.0.0.1:1080/WebTours/")
        sleep(1)
        driver.switch_to.default_content()
        driver.switch_to.frame("body")
        driver.switch_to.frame("info")

        driver.find_element_by_link_text("sign up now").click()

        sleep(3)
        # 跳转页面,还是需要切换框架
        driver.switch_to.default_content()
        driver.switch_to.frame("body")
        driver.switch_to.frame("info")

        driver.find_element_by_name("username").send_keys(yhm)
        driver.find_element_by_name("password").send_keys(mm)
        driver.find_element_by_name("passwordConfirm").send_keys(mm)
        driver.find_element_by_name("register").click()
        sleep(3)
        
        driver.switch_to.default_content()
        driver.switch_to.frame("body")
        driver.switch_to.frame("info")
        
        expect = "Thank you, "+yhm
        actual = driver.find_element_by_tag_name("body").text
        
        assert expect in actual,"实际结果:"+actual


if __name__=="__main__":
    # verbosity=2 显示详细信息,可以省略,测试信息不详细
    unittest.main(verbosity=2)

2.使用测试套件运行测试函数

代码实现

import unittest
from test.registers import Reg
suite = unittest.TestSuite()
suite.addTest(Reg("testOpenWeb"))
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)

3.运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2085269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ImportError:DLL load failed while importing cv2:找不到指定的模块

用pyinsatller打包好脚本执行后,出现上面的错误,这个错误很明显就是缺少了必需的dll文件,这个网上的资料也比较少,我搜了很久也没找出能解决的方法。 方法1 看官网:https://pypi.org/project/opencv-python/ 拉倒下…

MDS100-16-16-ASEMI三相整流模块MDS100-16

编辑:ll MDS100-16-16-ASEMI三相整流模块MDS100-16 型号:MDS100-16 品牌:ASEMI 封装:M18 批号:2024 类型:整流模块 电流:100A 电压:1600V 安装方式:直插式封装 …

IDEA没有SQL语句提示

解决已经在IDEA连接数据库,但是写SQL语句不会提示列名、属性之类的 Mapper 映射没有 SQL 提示 设置中搜索,把方言改成 MySQL SQL Dialects

Requestium - 将Requests和Selenium合并在一起的自动化测试工具

Requests 是 Python 的第三方库,主要用于发送 http 请求,常用于接口自动化测试等。 Selenium 是一个用于 Web 应用程序的自动化测试工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 本篇介绍一款将 Requests 和 Seleniu…

谷粒商城实战笔记-281-商城业务-订单服务-锁定库存

文章目录 一,锁定库存的基本逻辑二,具体实现 创建订单时,有一个非常重要的步骤,就是锁定库存,或者称之为预占库存。 尽管还没有卖出去,但是因为订单已经创建,所以要确保这个订单对应商品是有库…

最后一波,漂亮、简洁的登录页面模板分享,拿来即用(三)

文章目录 前言一、很有质感的jQuery登录模板二、纯CSS实现的清凉风格的登录三、基于layui的后台管理登录模板四、jQuery个性化登录模板五、带下雪背景的登录注册页面 前言 在做管理系统的时候,有时为了做一个漂亮简洁的登录页面,对应擅长搞后端开发的老…

15行为型设计模式——责任链模式

一、责任链模式简介 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,也叫职责链模式或者职责连锁模式。用于处理请求的多个对象,以实现请求的分发和处理。它的核心思想是将请求的处理职责链式地传递给多个对象…

NRP-Z24功率探头RS/NRP-Z23详情参数NRP-Z21功率传感器

USB 功率传感器: NRP-Z11 频率范围:10 MHz - 8 GHz 功率范围:-67 dBm to 23 dBm. NRP-Z21 频率范围:10 MHz - 18 GHz 功率范围:-67 dBm to 23 dBm. NRP-Z22 频率范围:10 MHz - 18 GHz 功率范围&#xff…

Java:简述类的加载机制-双亲委派

类加载的机制过程分为以下:加载、验证、准备、解析、初始化等。 在第一步的加载环节,Java类加载器有四种:Bootstrap类加载器、Extention 类加载器、Application类加载器、Custom自定义类加载器,其中会涉及“双亲委派”模式。 一…

Linux 安装Mysql保姆级教程

一、检查环境 我们登录服务器,查看之前是否安装过mysql rpm -qa | grep mysql 由于我之前安装过,所以这里是有数据的 如果需要删除重新下载,可以使用 rpm -e mysql57-community-release-el7-10.noarch.rpm 二、安装 1、下载 接下来下载安装包 wget -i -c http:/…

CAM Back Again论文详解

论文名称:Large Kernel CNNs from a Weakly Supervised ObjectLocalization Perspective 论文地址:[2403.06676] CAM Back Again: Large Kernel CNNs from a Weakly Supervised Object Localization Perspective (arxiv.org) 出发点 据报道&#xff0c…

通配符证书的简介和申请方法

通配符证书是一种SSL证书,它利用域名字段中的通配符(*)来指示,允许用户在一个证书中关联多个顶级域名及其子域,从而简化证书管理流程,节省成本和时间。以下是通配符证书的简介和申请方法的详细说明&#xf…

微信小程序开发--详情【开发一次 多端覆盖】

目录 1、准备工作 了解 uni-app : 准备开发工具: 下载 : 安装完成后,打开这个开发者工具: 对微信小程序进行配置: 使用开发工具HBuilderX:: 先安装终端插件 2、初始化一个demo 创建项目&#xff1…

分类预测|基于麻雀优化核极限学习机的数据分类预测Matlab程序SSA-KELM 多特征输入多类别输出 含基础KELM

分类预测|基于麻雀优化核极限学习机的数据分类预测Matlab程序SSA-KELM 多特征输入多类别输出 含基础KELM 文章目录 前言分类预测|基于麻雀优化核极限学习机的数据分类预测Matlab程序SSA-KELM 多特征输入多类别输出 含基础KELM 一、SSA-KELM模型SSA-KELM 分类预测的详细原理和流…

软考 -- 软件设计师 -- 二轮复习(1) -- 计算机系统基础知识错题集和重点知识(持续更新)

软考 – 软件设计师 – 二轮复习(1) – 计算机系统基础知识错题集和重点知识(持续更新) 文章目录 软考 -- 软件设计师 -- 二轮复习(1) -- 计算机系统基础知识错题集和重点知识(持续更新)前言一、CPU二、内存编址计算三、原码、反码、补码、移码计算四、浮点数 前言 考试时间&a…

led台灯对眼睛好不好?护眼台灯怎么选对眼睛好?收下这份攻略

随着年级的升高与学业内容的日益丰富,学生们待在书桌前的时间却越来越长。同时电子产品的广泛普及,让我国青少年的用眼负担显著增加。权威机构预测,到2050年,全球近视人群将达到惊人的49.49亿人,患病率高达52%。这一严…

MySQL编译安装

1.源码包地址 2.编译/安装 3.设置环境变量 4.初始化/登录 地址: MYSQL源码包下载 右键复制链接 使用wget 下载到/usr/local/src下 再使用rpm –ivh 安装 --这个时候跳转到 cd /root/rpmbuild/SOURCES 使用ll查看有什么东西 yum -y install gcc gcc-c ncurses ncurses-d…

java设计模式day01--(类之间的关系、软件设计原则、单例设计模式)

视频网址:s1.设计模式-课程介绍_哔哩哔哩_bilibili 1,设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构…

Apache RocketMQ 批处理模型演进之路

作者:谷乂 RocketMQ 的目标,是致力于打造一个消息、事件、流一体的超融合处理平台。这意味着它需要满足各个场景下各式各样的要求,而批量处理则是流计算领域对于极致吞吐量要求的经典解法,这当然也意味着 RocketMQ 也有一套属于自…

ImportError: DLL load failed while importing _wrapper: 找不到指定的模块

今天使用pyinstaller打包好脚本,执行打包好的程序后,出现如下的报错: 这个问题花了我一个上午,在网上查找相关的解决方法,然而不知道是我的搜索方式有问题,还是这个资料比较少,找了很久,只找到了一篇极度相关的文章:https://blog.csdn.net/weixin_46457351/article/d…