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

广州网站建设公司万齐网络科技建网站方案

广州网站建设公司万齐网络科技,建网站方案,seo推广外包,网站留言短信通知 源码目录 一、unittest框架基本介绍二、unittest框架解析三、unittest框架使用方法1.测试固件2.测试套件3.用例的执行顺序4.忽略测试用例中的方法5.unittest断言6.HTML报告生成 一、unittest框架基本介绍 在进行selenium IDE脚本录制导出的脚本中#xff0c;我们发现其中多了很多… 目录 一、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(verbosity0)2.测试套件 测试套件通俗来讲就是存放测试用例测试方法的一个容器。 1类里面一个方法一个方法添加 test001和test002都是文件testCase1和testCase2是文件里的类可以称之为测试用例test_baidu1和test_baidu2是类里的方法。 Addtest import unittest from src0303 import test001, test002#创建一个测试套件 def createsuite():suiteunittest.TestSuite()suite.addTest(test001.testCase1(test_baidu1))suite.addTest(test002.testCase2(test_baidu1))return suiteif __name__ __main__:suite createsuite()runner unittest.TextTestRunner(verbosity2)runner.run(suite)2一个类一个类的添加 makeSuite()只是添加文件里的类类里的方法不用一个一个的添加。 import unittest from src0303 import test001, test002def createsuite():suiteunittest.TestSuite()suite.addTest(unittest.makeSuite(test001.testCase1))suite.addTest(unittest.makeSuite(test001.testCase2))return suiteif __name__ __main__:suite createsuite()runner unittest.TextTestRunner(verbosity1)runner.run(suite)3 一个文件一个文件的测试 适用于文件非常多的时候文件要是一定格式命名的。 discover() #src202201文件夹找到test00*.py开头的文件夹 import unittest def createSuite():discoverunittest.defaultTestLoader.discover(../src202201,patterntest00*.py,top_level_dirNone)if __name____main__:suite createsuite()runner unittest.TextTestRunner(verbosity1)runner.run(suite)注Verbosity1或者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, msgNone)验证arg1arg2不等则failassertNotEqual(arg1, arg2, msgNone)验证arg1 ! arg2, 相等则failassertTrue(expr, msgNone)验证expr是true如果为false则failassertFalse(expr,msgNone)验证expr是false如果为true则failassertIs(arg1, arg2, msgNone)验证arg1、arg2是同一个对象不是则failassertIsNot(arg1, arg2, msgNone)验证arg1、arg2不是同一个对象是则failassertIsNone(expr, msgNone)验证expr是None不是则failassertIsNotNone(expr, msgNone)验证expr不是None是则failassertIn(arg1, arg2, msgNone)验证arg1是arg2的子串不是则failassertIn(arg1, arg2, msgNone)验证arg1不是arg2的子串是则failassertIsInstance(obj, cls, msgNone)验证obj是cls的实例不是则failassertNotIsInstance(obj, cls,msgNone)验证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,星黛露_百度搜索,msgnot equal!)#调用才使用def is_alert_exist(self):try:self.driver.switch_to.alertexcept NoAlertPresentException as e:return Falsereturn Trueif __name__ __main__ :unittest.main(verbosity0)6.HTML报告生成 将控制台结果整理成结果涉及失败的原因和结果。将HTMLTestRunner.py放到安装python的lib文件夹里。 未完待更新…
http://www.hkea.cn/news/14263031/

相关文章:

  • pyhton做网站网页微博超话签到
  • 自助建站平台哪家好超级seo企业网站系统
  • 找网站有中文字目的网络营销的概念和界定
  • 在哪里做网站比较好百度云服务器官网
  • 电商数据网站有哪些中铁建设集团官网登录
  • 男女做那个的小视频网站极简风网站
  • 公司注销后 网站备案吗佛山市网站建设公司
  • 做网站用什么电脑配置网站搭建方案
  • 大良网站建设dwxw南通企业网站排名
  • 电商网站开发需要掌握哪些知识技能可做百度百科参考资料的网站
  • 什么是网站交互性网络营销相关理论
  • 兰西网站建设html静态页面兼职
  • 微网站背景图片大连网站制作选择ls15227
  • 阿里云除了做网站还能用来干什么河源市建设网站
  • 本地南昌网站建设电商
  • 网站建设网络推广公司有哪些百度四川建设厅网站
  • 企业网站选择第三方还是自己做做网站的主机配置
  • 河南网站建设找哪家微信代运营费用
  • 有了域名空间怎么做网站成都软件培训机构排名榜
  • 网站建设+廊坊学历提升机构哪家好
  • 海东企业网站建设企业网站托管服务常用指南
  • 珠海左右创意园网站开发中信建设有限责任公司海外地位
  • 网站域名注册证书查询徐州领航装饰工程有限公司
  • 简述建设一个网站的基本步骤郑州网站建设公司哪家专业
  • 做网站会犯法吗艺阳科技网站建设
  • 那个网站有兼职做室内设计做电力 公司网站
  • 成都网站建设零一海阳做网站
  • 河东天津网站建设闵行做网站
  • 介绍类网站建设策划书范文有诗意的设计公司名字
  • 中国建设银行信用卡旅游卡服务网站哈尔滨市哪里做淘宝网站