selenium学习(Unittest框架,数据驱动)

Unittest框架

unittest 简介

unittest 是python 的Uij界面的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import unittest 就可以使用。作为单元测试的框架, unittest 也是可以对程序最小模块的一种敏捷化的测试。在自动化测试中,我们虽然不需要做白盒测试,但是必须需要知道所使用语言的单元测试框架。利用单元测试框架,创建一个类,该类继承unittest的TestCase,这样可以把每个case看成是一个最小的单元, 由测试容器组织起来,到时候直接执行,同时引入测试报告。

unittest组成部分及关系

在这里插入图片描述

  • test fixture:初始化和清理测试环境,比如创建临时的数据库,文件和目录等,其中setUp()和tearDown()是最常用的方法
  • test case:单元测试用例,TestCase是编写单元测试用例最常用的类
  • test suite:单元测试用例的集合,TestSuite是最常用的类
  • test runner:执行单元测试
  • test report:生成测试报告

test case

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re
# 定义获得类(继承)
class Baidu1(unittest.TestCase):
 def setUp(self): # 相当于初始化方法,测试固件
 self.driver = webdriver.Firefox()
 self.driver.implicitly_wait(30)
 self.base_url = "http://www.baidu.com/"
 self.verificationErrors = []
 self.accept_next_alert = True
 def test_baidusearch(self): # 测试用例,要以test开头
 driver = self.driver
 driver.get(self.base_url + "/")
 driver.find_element_by_id("kw").click()
 driver.find_element_by_id("kw").clear()
 driver.find_element_by_id("kw").send_keys(u"测试")
 driver.find_element_by_id("su").click()
 
 def test_hao(self):
 driver = self.driver
 driver.get(self.base_url + "/")
 driver.find_element_by_link_text("hao123").click()
 self.assertEqual(u"hao123_上网从这里开始", driver.title)

 #test fixture,清除环境
 def tearDown(self):
 self.driver.quit()
 self.assertEqual([], self.verificationErrors)
if __name__ == "__main__": # 执行入口
 unittest.main(verbosity=2)

构建测试套件
完整的单元测试很少只执行一个测试用例,开发人员通常都需要编写多个测试用例才能对某一软件功能进行比较完整的测试,这些相关的测试用例称为一个测试用例集,在unittest中是用TestSuite 类来表示的。

addTest() 的应用
当有多个或者几百测试用例的时候, 这样就需要一个测试容器( 测试套件) ,把测试用例放在该容器中进行执行,unittest 模块中提供了TestSuite 类来生成测试套件,使用该类的构造函数可以生成一个测试套件的实例,该类提供了addTest来把每个测试用例加入到测试套件中。只能一个一个的添加。

import unittest,csv
import os
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
selenium是一个web的自动化测试工具,通过使用浏览器访问目标站点而对一个页面上的各个控件进行操作,比如输入框输入内容,点击按钮,刷新页面,选择单选框和复选框等等操作。它能够很好地实现用工具模拟人的操作对访问进行自动化测试。在软件测试中,selenium可以完成自动化测试的任务。它也可以在爬虫中使用,通过驱动浏览器对页面进行操作,比如跳转、输入、点击、下拉等,从而获取页面上的有用信息。unittest是Python中的一个单元测试框架,可以用来编写和运行测试用例。通过结合seleniumunittest,我们可以编写自动化测试脚本,对网站进行全面的功能测试和回归测试。这样可以提高测试效率,减少人工测试的工作量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [webUI自动化之基本框架搭建(python + selenium + unittest)](https://blog.csdn.net/m0_67695717/article/details/125502224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [自动化测试:Selenium8种元素定位+unittest框架设计](https://blog.csdn.net/AI_Green/article/details/119939916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值