zoukankan      html  css  js  c++  java
  • Selenium2+python自动化52-unittest执行顺序【转载】

    本篇转自博客:上海-悠悠

    原文地址:http://www.cnblogs.com/yoyoketang/tag/unittest/

    前言

    很多初学者在使用unittest框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行。

    本篇通过最简单案例详细讲解unittest执行顺序。

    一、案例分析

    1.先定义一个测试类,里面写几个简单的case

    # coding:utf-8
    import unittest
    import time
    class Test(unittest.TestCase):
        def setUp(self):
            print "start!"

        def tearDown(self):
            time.sleep(1)
            print "end!"

        def test01(self):
            print "执行测试用例01"

        def test03(self):
            print "执行测试用例03"

        def test02(self):
            print "执行测试用例02"

        def addtest(self):
            print "add方法"

    if __name__ == "__main__":
        unittest.main()

    二、执行结果

    D: estpython2python.exe D:/test/test01.py
    start!
    执行测试用例01
    .end!
    start!
    执行测试用例02
    end!
    .start!
    执行测试用例03
    end!
    .
    ----------------------------------------------------------------------
    Ran 3 tests in 3.001s

    OK

    三、结果分析

    1.执行顺序:

    start!-执行测试用例01-end!

    start!-执行测试用例02-end!

    start!-执行测试用例03-end!

    2.从执行结果可以看出几点

    --先执行的前置setUp,然后执行的用例(test*),最后执行的后置tearDown

    --测试用例(test*)的执行顺序是根据01-02-03执行的,也就是说根据用例名称来顺序执行的

    --addtest(self)这个方法没执行,说明只执行test开头的用例

    四、selenium实例

    1.具体实例参考这篇Selenium2+python自动化48-登录方法(参数化)

    # coding:utf-8
    from selenium import webdriver
    import unittest
    import time
    class Bolg(unittest.TestCase):
        u'''登录博客'''
        def setUp(self):
            self.driver = webdriver.Firefox()
            url = "https://passport.cnblogs.com/user/signin"
            self.driver.get(url)
            self.driver.implicitly_wait(30)

        def login(self, username, psw):
            u'''这里写了一个登录的方法,账号和密码参数化'''
            self.driver.find_element_by_id("input1").send_keys(username)
            self.driver.find_element_by_id("input2").send_keys(psw)
            self.driver.find_element_by_id("signin").click()
            time.sleep(3)

        def is_login_sucess(self):
            u'''判断是否获取到登录账户名称'''
            try:
                text = self.driver.find_element_by_id("lnk_current_user").text
                print text
                return True
            except:
                return False

        def test_01(self):
            u'''登录案例参考:账号,密码自己设置'''
            self.login(u"上海-悠悠", u"xxxx")  # 调用登录方法
            # 判断结果
            result = self.is_login_sucess()
            self.assertTrue(result)

        def test_02(self):
            u'''登录案例参考:账号,密码自己设置'''
            self.login(u"上海-悠悠", u"xxxx")  # 调用登录方法
            # 判断结果   # 交流QQ群:232607095
            result = self.is_login_sucess()
            self.assertTrue(result)

        def tearDown(self):
            self.driver.quit()

    if __name__ == "__main__":
        unittest.main()

  • 相关阅读:
    k8s 1.10 部署springcloud
    TF-IDF关键词提取步骤
    k8s 离线安装
    JWT对SpringCloud进行系统认证和服务鉴权
    centos7 安装 docker-registry
    Docker安装elasticsearch-head监控ES步骤
    tengine 配置应用防火墙
    elasticsearch6.1.3 集成分词器
    centos7 nginx tengine 安装
    elk 搭建
  • 原文地址:https://www.cnblogs.com/caoj/p/7792790.html
Copyright © 2011-2022 走看看