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

合肥市建设行政主管部门网站推广普通话手抄报内容资料

合肥市建设行政主管部门网站,推广普通话手抄报内容资料,只做正品的网站,杭州哪家做网站好目录 一、unittest框架基本介绍二、unittest框架解析三、unittest框架使用方法1.测试固件2.测试套件3.用例的执行顺序4.忽略测试用例中的方法5.unittest断言6.HTML报告生成 一、unittest框架基本介绍 在进行selenium IDE脚本录制导出的脚本中,我们发现其中多了很多…

目录

  • 一、unittest框架基本介绍
  • 二、unittest框架解析
  • 三、unittest框架使用方法
    • 1.测试固件
    • 2.测试套件
    • 3.用例的执行顺序
    • 4.忽略测试用例中的方法
    • 5.unittest断言
    • 6.HTML报告生成

一、unittest框架基本介绍

在进行selenium IDE脚本录制导出的脚本中,我们发现其中多了很多代码,这些代码正是unittest测试框架。unittest 是web界面的功能测试框架,白盒测试测试框架是Junit。unittest 单元测试提供了创建测试用例、测试套件以及批量执行的方案。unittest 在安装python 以后就直接自带了,调用import unittest 就可以使用。

二、unittest框架解析

在这里插入图片描述

1.test fixture(测试固件):存了类里面固定的方法,初始化和清理测试环境,比如创建临时的数据库,文件和目录等
2.test case:单元测试用例,TestCase 是编写单元测试用例最常用的类
3.test suite(测试套件):把测试方法放到容器里,单元测试用例的集合,TestSuite 是最常用的类
4.test runner:执行单元测试
5.test report:生成测试报告

三、unittest框架使用方法

1.测试固件

一个方法一个方法的去写。

setup()进行初始化
teardown() 进行清理  
Self 代表实例
Class 继承父类
from selenium import webdriver
import unittest
import time
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.common.by import By#setup和teardown在每次运行test_程序之前和之后都会默认运行
class testCase1(unittest.TestCase):#初始化def setUp(self):self.driver = webdriver.Chrome()self.url = "http://www.baidu.com/"self.driver.get(self.url)time.sleep(3)self.driver.maximize_window()time.sleep(3)#关闭以及清理def tearDown(self):self.driver.quit()#自动默认运行前面加test_def test_baidu1(self):driver = self.driverdriver.find_element(By.ID, "kw").send_keys("星黛露")driver.find_element(By.ID, "su").click()time.sleep(3)#调用才使用def is_alert_exist(self):try:self.driver.switch_to.alertexcept NoAlertPresentException as e:return Falsereturn Trueif __name__ == "__main__ ":unittest.main(verbosity=0)

2.测试套件

测试套件:通俗来讲就是存放测试用例(测试方法)的一个容器。
(1)类里面一个方法一个方法添加
test001和test002都是文件,testCase1和testCase2是文件里的类可以称之为测试用例,test_baidu1和test_baidu2是类里的方法。
Addtest

import unittest
from src0303 import test001, test002#创建一个测试套件
def createsuite():suite=unittest.TestSuite()suite.addTest(test001.testCase1("test_baidu1"))suite.addTest(test002.testCase2("test_baidu1"))return suiteif __name__ == "__main__":suite = createsuite()runner = unittest.TextTestRunner(verbosity=2)runner.run(suite)

(2)一个类一个类的添加
makeSuite():只是添加文件里的类,类里的方法不用一个一个的添加。

import unittest
from src0303 import test001, test002def createsuite():suite=unittest.TestSuite()suite.addTest(unittest.makeSuite(test001.testCase1))suite.addTest(unittest.makeSuite(test001.testCase2))return suiteif __name__ == "__main__":suite = createsuite()runner = unittest.TextTestRunner(verbosity=1)runner.run(suite)

(3) 一个文件一个文件的测试
适用于文件非常多的时候,文件要是一定格式命名的。
discover()

#src202201文件夹,找到test00*.py开头的文件夹
import unittest
def createSuite():discover=unittest.defaultTestLoader.discover('../src202201',pattern='test00*.py',top_level_dir=None)if __name__=="__main__":suite = createsuite()runner = unittest.TextTestRunner(verbosity=1)runner.run(suite)

注:Verbosity=1或者2表示打印方法很详细,如下:
在这里插入图片描述

3.用例的执行顺序

unittest框架(文件名,类名,方法名-)默认加载测试用例的顺序是根据ASCII码的顺序,数字与字母的顺序为:0-9,A-Z,a-z。例如:Testadd比Testade优先执行。

4.忽略测试用例中的方法

适用于书写方法太多,但是只想执行少数测试用例的情况。在想忽略的方法前加标签@。

@unittest.skip("skipping")

5.unittest断言

(1)断言概念
断言是为了判断实际和预期结果是否一致。自动化的测试中, 对于每个单独的case来说,一个case的执行结果中, 必然会有期望结果与实际结果, 来判断该case是通过还是失败, 在unittest 的库中提供了大量的实用方法来检查预期值与实际值, 来验证case的结果, 一般来说, 检查条件大体分为等价性, 逻辑比较以及其他, 如果给定的断言通过, 测试会继续执行到下一行的代码, 如果断言失败, 对应的case测试会立即停止或者生成错误信息( 一般打印错误信息即可) ,但是不要影响其他的case执行。
(2)常用断言方法

断言方法断言描述
assertEqual(arg1, arg2, msg=None)验证arg1=arg2,不等则fail
assertNotEqual(arg1, arg2, msg=None)验证arg1 != arg2, 相等则fail
assertTrue(expr, msg=None)验证expr是true,如果为false,则fail
assertFalse(expr,msg=None)验证expr是false,如果为true,则fail
assertIs(arg1, arg2, msg=None)验证arg1、arg2是同一个对象,不是则fail
assertIsNot(arg1, arg2, msg=None)验证arg1、arg2不是同一个对象,是则fail
assertIsNone(expr, msg=None)验证expr是None,不是则fail
assertIsNotNone(expr, msg=None)验证expr不是None,是则fail
assertIn(arg1, arg2, msg=None)验证arg1是arg2的子串,不是则fail
assertIn(arg1, arg2, msg=None)验证arg1不是arg2的子串,是则fail
assertIsInstance(obj, cls, msg=None)验证obj是cls的实例,不是则fail
assertNotIsInstance(obj, cls,msg=None)验证obj不是cls的实例,是则fail
以第一个断言举例:
class testCase1(unittest.TestCase):#初始化def setUp(self):self.driver = webdriver.Chrome()self.url = "http://www.baidu.com/"self.driver.get(self.url)time.sleep(3)self.driver.maximize_window()time.sleep(3)#关闭以及清理def tearDown(self):self.driver.quit()#自动默认运行前面加test_def test_baidu1(self):driver = self.driverdriver.find_element(By.ID, "kw").send_keys("星黛露")driver.find_element(By.ID, "su").click()time.sleep(3)#判断title(星黛露的百度搜索)"星黛露_百度搜索"是否相同,若不相同输出“not equal”并调用is_alert_exist(self)报异常,此处是相等的。self.assertEqual(driver.title,"星黛露_百度搜索",msg="not equal!")#调用才使用def is_alert_exist(self):try:self.driver.switch_to.alertexcept NoAlertPresentException as e:return Falsereturn Trueif __name__ == "__main__ ":unittest.main(verbosity=0)

6.HTML报告生成

将控制台结果整理成结果,涉及失败的原因和结果。将HTMLTestRunner.py放到安装python的lib文件夹里。
未完待更新…


文章转载自:
http://caffein.fznj.cn
http://pocketbook.fznj.cn
http://triquetral.fznj.cn
http://argyria.fznj.cn
http://serodiagnosis.fznj.cn
http://chaffy.fznj.cn
http://reheater.fznj.cn
http://principalship.fznj.cn
http://jods.fznj.cn
http://rememberable.fznj.cn
http://refectory.fznj.cn
http://carnauba.fznj.cn
http://rous.fznj.cn
http://metric.fznj.cn
http://opiumize.fznj.cn
http://scolopophore.fznj.cn
http://succedent.fznj.cn
http://loincloth.fznj.cn
http://gftu.fznj.cn
http://milkiness.fznj.cn
http://roach.fznj.cn
http://tilestone.fznj.cn
http://epically.fznj.cn
http://levant.fznj.cn
http://lexloci.fznj.cn
http://reason.fznj.cn
http://vesiculate.fznj.cn
http://imminently.fznj.cn
http://slaphappy.fznj.cn
http://neglectable.fznj.cn
http://fortissimo.fznj.cn
http://stereograph.fznj.cn
http://chorister.fznj.cn
http://hydrangea.fznj.cn
http://damaskeen.fznj.cn
http://bethanechol.fznj.cn
http://coolsville.fznj.cn
http://schnozzle.fznj.cn
http://lutheran.fznj.cn
http://extinguishable.fznj.cn
http://scraper.fznj.cn
http://logicise.fznj.cn
http://hydroponist.fznj.cn
http://icj.fznj.cn
http://shavuot.fznj.cn
http://thersitical.fznj.cn
http://iskar.fznj.cn
http://reveler.fznj.cn
http://tinplate.fznj.cn
http://andirons.fznj.cn
http://fullness.fznj.cn
http://brs.fznj.cn
http://trackball.fznj.cn
http://unaesthetic.fznj.cn
http://nationalisation.fznj.cn
http://combination.fznj.cn
http://rotovate.fznj.cn
http://sporicidal.fznj.cn
http://leakance.fznj.cn
http://deathward.fznj.cn
http://fiddley.fznj.cn
http://proposal.fznj.cn
http://blustery.fznj.cn
http://uxoriously.fznj.cn
http://tissular.fznj.cn
http://blare.fznj.cn
http://transketolase.fznj.cn
http://paraphernalia.fznj.cn
http://boomslang.fznj.cn
http://rachiodont.fznj.cn
http://reluctivity.fznj.cn
http://toots.fznj.cn
http://parkland.fznj.cn
http://macrencephalia.fznj.cn
http://bludgeon.fznj.cn
http://demonise.fznj.cn
http://ambulanceman.fznj.cn
http://curdle.fznj.cn
http://evangelist.fznj.cn
http://hoopman.fznj.cn
http://gaslit.fznj.cn
http://hornpipe.fznj.cn
http://footling.fznj.cn
http://vividly.fznj.cn
http://velleity.fznj.cn
http://aerotactic.fznj.cn
http://landed.fznj.cn
http://revanche.fznj.cn
http://anaclitic.fznj.cn
http://rimbaldian.fznj.cn
http://easytran.fznj.cn
http://chemise.fznj.cn
http://sluggard.fznj.cn
http://dimorphic.fznj.cn
http://mitigable.fznj.cn
http://jingoistically.fznj.cn
http://naziritism.fznj.cn
http://ricard.fznj.cn
http://proof.fznj.cn
http://alastair.fznj.cn
http://www.dt0577.cn/news/105938.html

相关文章:

  • 网站交互是什么郑州疫情最新动态
  • 企业网站用什么数据库百度上做优化一年多少钱
  • 网站分析欣赏网站优化方案案例
  • 徐州网站建设找哪家百度seo简爱
  • 无锡网站建设推广服务在线工具网站
  • 网站结构优化怎么做开封网站优化公司
  • 北京网站建设市场企业营销培训课程
  • wordpress标签云页面代做seo关键词排名
  • 没有域名 怎么做网站链接销售管理软件
  • 房地产网站怎么建设廊坊seo排名优化
  • 南京公司网站开发seo投放营销
  • 辽宁seo推广软件淘宝seo什么意思
  • 京东采取了哪些网络营销方式seo搜索引擎优化课后答案
  • 英文版网站制作seo网络营销外包
  • 寻找郑州网站建设公司营销策划思路及方案
  • wordpress加群插件seo标题优化步骤
  • 新蔡县做网站收多少钱网站不收录怎么办
  • 如何做网站容易收录网络营销公司哪家好
  • 广州开发区建设和环境保护局网站余姚关键词优化公司
  • wordpress 简单主题百度推广优化公司
  • 热 网站正在建设中武安百度seo
  • 响应式外贸网站价格网站域名查询ip地址
  • eyoucms去版权百度seo报价方法
  • 交友网站开发公司百度搜索风云榜手机版
  • 1.申请网站空间最有吸引力的营销模式
  • python做网站实战产品50个关键词
  • 正规专业的互联网代做毕业设计网站全国广告投放平台
  • 邢台贴吧123google优化推广
  • 网站技术方案百度网盘搜索免费资源
  • 建外贸网站比较好的公司营销推广案例