• 大小: 19.45MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-05
  • 语言: Python
  • 标签: python  selenium  

资源简介

使用python+selenium+unittest自动化测试框架编写的一个demo,可实现测试用例管理,批量执行用例,生成测试报告,自动发送邮件等功能

资源截图

代码片段和文件信息

import unittest
import time
from selenium import webdriver

#创建fixture类,继承unittest下的TestCase类,作用如下:
# 主要作用是对测试用例执行前环境的初始化和执行后环境的销毁的方法的封装
# 也可以将一些固定方法封装在此类中,比如下方的登录方法


“““unittest对模块、类、方法提供了3个范围的fixture模块的fixture一个模块调用一次setUp和tearDown方法,类的fixture一个类
调用一次setUp和tearDown方法,方法的fixture一个方法调用一次setUp和tearDown方法“““

‘‘‘
模块fixture
def setUpModule():
    print(“XXXXXXXX“)
def tearDownModule():
    print(“XXXXXXXX“)
‘‘‘

class Fixtures(unittest.TestCase):
    “““测试众测登录“““
    #类fixture需要@classmethod修饰,cls与self没有什么特别之处,也是一种约定,可以替换成abc
    @classmethod
    def setUpClass(cls):
        ‘‘‘self 相当于Java中的this代表类实例本身,这样self.driver就可以被类中的其他函数使用,不使用self 的话driver只是一
        个setUp函数的局部变量‘‘‘
        cls.driver = webdriver.Chrome()
        cls.driver.implicitly_wait(10)
        cls.driver.maximize_window()
        cls.driver.get(‘https://www.ztestin.com‘)
        cls.driver.find_element_by_css_selector(‘#qqww > div.zheader > div > ul > li.nav_function > a‘).click()

    @classmethod
    def tearDownClass(cls):
        cls.driver.close()

    “““
    #方法fixture
    #setUp()和setDown()函数会在unittest执行用例前后自动调用
    def setUp(self):
        ‘‘‘self 相当于Java中的this代表类实例本身,这样self.driver就可以被类中的其他函数使用,不使用self 的话driver只是一
        个setUp函数的局部变量‘‘‘
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()
        self.driver.get(‘https://www.ztestin.com‘)
        self.driver.find_element_by_css_selector(‘#qqww > div.zheader > div > ul > li.nav_function > a‘).click()

    #最后调用tearDown()函数,与函数所在位置无关
    def tearDown(self):
        self.driver.close()
    “““

    #定义登录函数
    def login(selfusernamepasswd):
        self.driver.find_element_by_css_selector(‘#login_email‘).clear()
        time.sleep(1)
        self.driver.find_element_by_css_selector(‘#login_email‘).send_keys(username)
        time.sleep(1)
        self.driver.find_element_by_css_selector(‘#login_password‘).clear()
        time.sleep(1)
        self.driver.find_element_by_css_selector(‘#login_password‘).send_keys(passwd)
        time.sleep(1)
        self.driver.find_element_by_css_selector(‘#btn_submit1989 > button‘).click()


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-09-30 13:33  Test\
     目录           0  2018-10-08 15:32  Test\.git\
     文件           4  2018-09-30 13:19  Test\.git\COMMIT_EDITMSG
     文件          20  2018-09-30 13:32  Test\.git\HEAD
     文件          41  2018-09-30 13:29  Test\.git\ORIG_HEAD
     文件         242  2018-09-28 17:03  Test\.git\config
     文件          73  2018-09-27 16:49  Test\.git\description
     目录           0  2018-09-27 16:49  Test\.git\hooks\
     文件         478  2018-09-27 16:49  Test\.git\hooks\applypatch-msg.sample
     文件         896  2018-09-27 16:49  Test\.git\hooks\commit-msg.sample
     文件        3327  2018-09-27 16:49  Test\.git\hooks\fsmonitor-watchman.sample
     文件         189  2018-09-27 16:49  Test\.git\hooks\post-update.sample
     文件         424  2018-09-27 16:49  Test\.git\hooks\pre-applypatch.sample
     文件        1638  2018-09-27 16:49  Test\.git\hooks\pre-commit.sample
     文件        1348  2018-09-27 16:49  Test\.git\hooks\pre-push.sample
     文件        4898  2018-09-27 16:49  Test\.git\hooks\pre-rebase.sample
     文件         544  2018-09-27 16:49  Test\.git\hooks\pre-receive.sample
     文件        1492  2018-09-27 16:49  Test\.git\hooks\prepare-commit-msg.sample
     文件        3610  2018-09-27 16:49  Test\.git\hooks\update.sample
     文件      127026  2018-09-30 13:33  Test\.git\index
     目录           0  2018-09-27 16:49  Test\.git\info\
     文件         240  2018-09-27 16:49  Test\.git\info\exclude
     目录           0  2018-09-27 16:52  Test\.git\logs\
     文件        7318  2018-09-30 13:32  Test\.git\logs\HEAD
     目录           0  2018-09-30 13:33  Test\.git\logs\refs\
     目录           0  2018-09-30 13:31  Test\.git\logs\refs\heads\
     文件         590  2018-09-30 13:19  Test\.git\logs\refs\heads\dev
     文件         154  2018-09-30 13:31  Test\.git\logs\refs\heads\dev2
     文件        2707  2018-09-30 13:21  Test\.git\logs\refs\heads\master
     目录           0  2018-09-28 16:01  Test\.git\logs\refs\remotes\
     目录           0  2018-09-28 16:01  Test\.git\logs\refs\remotes\origin\
............此处省略2250个文件信息

评论

共有 条评论