Selenium自动化测试及框架(selenium+python) - unittest 结构及HTML测试报告

本文介绍了如何使用Python的unittest框架编写Selenium自动化测试,包括Test Fixture、Test Case、Test Suite和Test Runner的概念。同时,通过HTMLTestRunner扩展生成了详细的HTML测试报告,详细阐述了解决Python3中遇到的相关兼容性问题。
摘要由CSDN通过智能技术生成

PART 3: 使用 Unittest编写测试单元(WebDriver + unittest)

1. Unittest

unittest单元测试框架:

一般也称为PyUnit,是从Java程序开发中广泛应用的JUnit启发而来的;我们可以使用unittest为任何项目创建全面的测试套件;

unittest使我们具备创建测试用例、测试套件、测试夹具的能力;

unittest组件:

1)Test Fixture(测试夹具):

使用测试夹具,可以定义在单个或多个测试执行之前的准备工作和测试执行之后的清理工作;

2)Test Case(测试用例):

unittest中执行测试的最小单元,通过验证unittest提供的assert方法来验证一组特定的操作和输入以后得到的响应;

unittest提供了一个名为TestCase的基础类,可以用来创建测试用例;

3)Test Suit(测试套件):

一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行;

4)Test Runner(测试执行器):

测试执行器负责测试执行调度并且生成测试结果给用户;

测试执行器可以使用图形界面、文本界面或者特定的返回值来展示测试执行结果;

5)Test Report(测试报告):

测试报告展示所有执行用例的成功或者失败状态的汇总;包括失败的测试步骤的预期结果和实际结果,还有整体运行状况和运行时间的汇总; 
原文链接:https://blog.csdn.net/baby_hua/article/details/80571109

一般测试分为3个部分,一个初始化前置条件,一个执行功能操作,一个断言用来校验实际结果与预期结果是否一致。

2. 用一个Test case类实现一个简单的测试用例

2.1 新建一个Python unit file

2.2 把下面的code复制到文件里面。

# -*- coding:utf-8 -*-
import unittest
from selenium import webdriver


class SearchTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(15)
        self.driver.maximize_window()
        self.driver.get('http://www.baidu.com')

    def test_search_by_category1(self):
        self.search_field = self.driver.find_element_by_id("kw")
        self.search_field.clear()
        self.search_field.send_keys('selenium2')
        self.search_field.submit()
        products = self.driver.find_elements_by_xpath("//div[contains(@class, 'c-abstract')]")
        self.assertEq
  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值