python+selenium+unittest自动化脚本用例设计

本文介绍了Python内置单元测试框架unittest,包括它的核心概念如test case、test suite、test runner和test fixture。重点讲解了setUp与setUpClass的区别:setUp在每个测试case运行前执行,而setUpClass在所有case运行前只运行一次。同时,文章提供了控制用例执行顺序的示例,并展示了如何结合selenium进行自动化测试,最后提到了HTML测试报告的生成方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       这里的示例以网易邮箱为例,可以自己注册一个来练习,要说明的是,直接在网易的首页进行定位是定不了的,网易进行过处理;这里是通过百度搜索在搜索结果中进行的定位。

unittest认识

unittest是python内置的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件。
使用unittest前需要了解该框架的五个概念: 即test case,test suite,testLoader,test runner,test fixture。

  • test case  :一个完整的测试单元,执行该测试单元可以完成对某一个问题的验证,完整体现在:
  •            测试前环境准备(setUp),执行测试代码(run),以及测试后环境还原(tearDown);
  • test suite  :多个测试用例的集合,测试套件或测试计划;
  • testLoader  :加载TestCase到TestSuite中的,其中loadTestsFrom__()方法用于寻找TestCase,并创建它们的实例,然后添加到TestSuite中,返回TestSuite实例;
  • test runner :执行测试用例,并将测试结果保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息;
  • test fixture:一个测试用例的初始化准备及环境还原,主要是setUp() 和 setDown()方法;

unitest的工作原理

通过unittest类调用分析,可将框架的工作流程概况如下:
编写TestCase,由TestLoader加载TestCase到TestSuite,然后由TextTestRunner来运行TestSuite, 最后将运行的结果保存在TextTestResult中。

#coding:utf8
from selenium import webdriver  # webdriver属于selenium的API
import unittest  # unittest是python自带的模块
import time
class test_mail_login(unittest.TestCase):  # 定义一个类并集成 unittest 基类中的 TestCase 类
    def setUp(self):   # 每个测试case运行之前运行(前置条件)
        self.driver = webdriver.Chrome()  # 驱动谷歌浏览器
        self.driver.get("https://www.baidu.com")  # 获取百度URL
        self.driver.set_window_size(800, 1000)  # 窗口大小设置
        # self.driver.maximize_window()  # 窗口最大化
        time.sleep(2)
        self.driver.find_element_by_id("kw").send_keys("网易")  # 百度输入框定位并键入关键字
        time.sleep(3)
        self.driver.find_element_by_id("su").click()  # 点击搜索按钮
        self.driver.implicitly_wait(5)  # 页面静置5秒,无任何动作
    def test_mail_loginsuc(self):  # 设计测试用例(case)重点注意,方法名必须以【test_】开头
        self.driver.find_element_by_id("op_email3_username").send_keys("testerhunter")
        time.sleep(2)
        self.driver.find_element_by_class_name("op_email3_password").send_keys("123456hunter")
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值