setUp()和tearDown()函数

setUp()和tearDown()函数

大家好,又见面了,我是你们的朋友全栈君。

1.什么是setUp()和tearDown()函数?

2.为什么我们要用setUp()和tearDown()函数?

3.我们该怎样用setUp()和tearDown()?

1.什么是setUp()和tearDown()函数?

  ♦ setUp()函数是在众多函数或者说是在一个类类里面最先被调用的函数,而且每执行完一个函数都要从setUp()调用开始后再执行下一个函数,有几个函数就调用他几次,与位置无关,随便放在那里都是他先被调用。

  ♦ tearDown()函数是在众多函数执行完后他才被执行,意思就是不管这个类里面有多少函数,他总是最后一个被执行的,与位置无关,放在那里都行,最后不管测试函数是否执行成功都执行tearDown()方法;如果setUp()方法失败,则认为这个测试项目失败,不会执行测试函数也不执行tearDown()方法。

2.为什么我们要用setUp()和tearDown()函数?

  ♦ 我们利用这一特性在自动化中setup主要是进行测试前的初始化工作,比如在接口测试前面做一些前置的参数赋值,数据库操作等等 teardown是测试后的清除工作,比如参数还原或销毁,数据库的还原恢复等

3.我们该怎样用setUp()和tearDown()?

from selenium import webdriver import unittest#第一步引入一个unittest
import time class Buy_Broject_Establish(unittest.TestCase):#第二步创建继承一个unittest.TestCase的类
    def setUp(self):#第三步定义一个setup,放一些准备的工作,或者准备一些测试数据。
        self.driver = webdriver.Chrome() self.driver.maximize_window()#放大浏览器
        self.driver.get("http://10.20.24.45:8080/amcs/login.htm") print(self.driver.title)#获取标题头并打印出来
        print(self.driver.current_url)#获取当前页面的url
        time.sleep(5) def test_001(self):#进入登录页面
        self.driver.find_element_by_id('account_content').send_keys("admin")#输入账号
        self.driver.find_element_by_id('account_pass').send_keys("1")#输入密码
        self.driver.find_element_by_id('submitBtn').click()#点击登录
        time.sleep(2) print(u'进入首页') def test_002(self):#进入收购项目管理首页
        self.driver.find_element_by_xpath('//*[@id="J-h-menu-body"]/ul/li[3]/a').click()#进入项目管理
        self.driver.find_element_by_xpath('//*[@id="J-h-menu-body"]/ul/li[3]/ul/li[1]/a/span').click()#进入收购项目管理
        self.driver.implicitly_wait(5)#隐试等待
        self.driver.switch_to.frame('mainFrame_assetPacketManagePro')#进入一个iframe。
        time.sleep(10) print('进入收购项目管理') def tearDown(self):#第三步:定义一个tearDown,当我在测试完的时候我要对测试有一个销毁的过程比如说关闭浏览器,那么我们就写在tearDown当中
 self.driver.quit() if __name__ == '__main__':#如果其他的类调用的这个类的时候他就会自动忽略掉这个函数,他是为了测试自身的类用的
    unittest.main()#启动程序

 

 

♦ 执行顺序如下:setUp—test_001—setUp—test_002—tearDown

 

转载于:https://www.cnblogs.com/insane-Mr-Li/p/9085062.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107499.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • response 的ContentType 说明[通俗易懂]

    response 的ContentType 说明[通俗易懂]不同的ContentType会影响客户端所看到的效果.默认的ContentType为text/html也就是网页格式.代码如: 显示的为网页,而 则会显示html原代码.以下为一些常用的ContentTypeGIFimages  JPEGimages  TIFFimages  MICROS

    2022年7月19日
  • pycharm2021.11.3版本激活-激活码分享

    (pycharm2021.11.3版本激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月29日
  • Java中的反射——(1)什么是反射

    Java中的反射——(1)什么是反射

    2022年1月18日
  • android3d画廊自动切换,GitHub – lzjin/ViewPagerGallery: 支持无限滑动的3D视觉的画廊效果、 平面普通广告栏轮播…

    android3d画廊自动切换,GitHub – lzjin/ViewPagerGallery: 支持无限滑动的3D视觉的画廊效果、 平面普通广告栏轮播…ViewPagerGallery3D轮播图片博客讲解地址,欢迎前往查看欢迎大家Star,老铁给鼓励呗主要功能支持左右无限滑动轮播支持3D效果的画廊轮播支持平面铺满常见轮播支持平面自定义间距轮播支持网络缓存图片(使用的Glide4.9)支持自定义指示器图标(默认指示器个数与url一样)支持自定义圆角支持自动切换图片,间隔默认5秒;手指滑动时停止定时器API方法介绍initBanner(urlList…

    2022年6月12日
  • Java开发人员必须掌握的Linux命令(一)

    子曰:“工欲善其事,必先利其器。“1、登录服务器SSH命令简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最基本的用法:常用格式:ssh [-l login_name] [-p port] [user@]hostname例子:ssh 192.168….

    2022年2月28日
  • 你以为我在玩游戏?其实我在学 Java「建议收藏」

    你以为我在玩游戏?其实我在学 Java「建议收藏」大家好,我是程序员cxuan!今天继续卷起来!和大家一起Look一个有趣的国外编程网站!”今天我们来学习Java”。“Java是一门面向对象的编程语言”。“Java的特性有balabalabala…”。“Java与C的区别是xxxxxx”。“Java能用来balabalabala@!#$$”。balabalabalabalabalabalabalabala。原文链接:这个网站,要火!我还是不知道什么是Java。为什么我不知道什么是Java呢,我想是因为我

    2022年8月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号