先上代码:
baidusousuo.py代码如下:
#coding=utf-8 from selenium import webdriver import time,unittest class baidu(unittest.TestCase): "百度" def setUp(self): self.driver=webdriver.Firefox() self.verificationErrors = [] self.accept_next_alert = True def test_baidu_search(self): "百度搜索" self.driver.get("http://www.baidu.com/") self.driver.find_element_by_id("kw").clear() self.driver.find_element_by_id("kw").send_keys("自动化测试") self.driver.find_element_by_id("su").click() time.sleep(2) title=self.driver.title print(title,self.driver.find_element_by_xpath("//div[@class='nums']").text) self.driver.close() def tearDown(self): self.driver.quit() self.assertEquals([],self.verificationErrors) if __name__=="__main__": unittest.main()
loginyf.py代码如下:
# coding=utf-8 from selenium import webdriver import time,unittest print("python") class login_yf(unittest.TestCase): "眼防" def setUp(self): self.driver=webdriver.Firefox() self.verificationErrors = [] self.accept_next_alert = True def test_login_yf(self): "眼防登录" self.driver.get("http://10.X.X.187:8085/epd/login") self.driver.find_element_by_id("username").clear() self.driver.find_element_by_id("username").send_keys("zhangjiang") self.driver.find_element_by_id("password").clear() self.driver.find_element_by_id("password").send_keys("123456") time.sleep(2) self.driver.find_element_by_id("submitId").click() self.driver.get_screenshot_as_file("d:/img/lod.png") print("title:",self.driver.title) name=self.driver.find_element_by_xpath("//div[@class='content_right_link']/a[1]").text print(name) if name == "退出登录" : print("登录成功!") else: raise NameError("user name error !") self.driver.close() def tearDown(self): self.driver.quit() self.assertEquals([],self.verificationErrors) if __name__=="__main__": unittest.main()
test_all.py代码如下:
#coding=utf-8 import unittest import HTMLTestRunner import baidusousuo import loginyf testunit=unittest.TestSuite() #将测试用例加入测试容器(套件)中 testunit.addTest(unittest.makeSuite(loginyf.login_yf)) print("test") testunit.addTest(unittest.makeSuite(baidusousuo.baidu)) #执行测试套件 # runner=unittest.TextTestRunner() # runner.run(testunit) #定义一个报告存放路径,支持相对路径 filename="d:\\img\\result.html" fp=open(filename,'wb') runner=HTMLTestRunner.HTMLTestRunner( stream=fp, title='测试报告', description='用例执行情况' ) # 执行测试用例 runner.run(testunit)
baidusousuo.py和loginyf.py是两个Test_case,all_test.py是执行测试用例,执行结果如下:
此例子还需要有很多地方的优化:
1,文件结构改进,Test_case文件夹,Data数据,all_test等。
2,用例的读取改进,discover
3,自动发送测试报告邮件
4,多线程/分布式执行测试用例
5,定时任务
6,管理自动化测试项目(git/svn/jenkins)
------------------------------------更新:增加时间戳命名测试报告文件-------------------------------------
每次run的时候生成的测试报告都会把之前的给覆盖掉,那么历史的测试报告就看不到了,对此,文件名称加上时间戳,就可以解决这个问题了。
首先获取到当前时间,也就是生成测试报告的当前时间,然后格式化,再添加到文件名称里面去。
代码如下:
now = time.strftime("%Y-%m-%d_%H:%M:%S",time.localtime(time.time())) filename="d:\\img\\"+now+"result.html"
相关推荐
unittest是Python标准库中的一个单元测试框架,它提供了一套结构化的、易于使用的API来编写和组织测试代码。以下是对unittest框架的详细说明: 1. **导入unittest模块**:使用`import unittest`引入unittest框架,...
在`unittest`这个上下文中,我们可能指的是一个基于PHP的单元测试实现,尽管它不是最常用的名称,但我们可以假设这是一个用于PHP的简单单元测试框架。 使用PHP单元测试框架,开发者可以创建测试用例,每个用例包含...
unittest是Python标准库中的一个模块,用于编写和运行单元测试。单元测试是对代码的最小可测试部分进行验证,确保它们按预期工作。在本篇中,我们将深入探讨如何使用unittest框架来实现单元测试。 首先,我们需要...
总的来说,单元测试框架unittest为Python的自动化测试提供了强大的支持,它使得测试过程结构化、易于管理和扩展。掌握unittest框架对于Python开发者和测试工程师来说是一个基本且重要的技能。通过合理运用unittest...
`cpp-UnitTest` 是一个专为C++编程语言设计的轻量级单元测试框架,它为开发者提供了一种方便、高效的方式来验证代码的各个模块是否按照预期工作。单元测试是软件开发过程中的重要组成部分,通过编写针对代码各个部分...
Python的unittest库是用于编写单元测试的标准库,而将其应用到接口测试上则可以构建一个高效的自动化测试框架。以下将详细介绍如何利用unittest实现Python接口自动化测试框架,并讨论相关的知识点。 首先,unittest...
unittest是Python内置的一个单元测试框架,它提供了编写测试用例、组织测试套件和运行测试的基本结构。 unittest框架允许我们定义测试类和测试方法,每个方法以`test_`开头,代表一个测试用例。我们可以为每个接口...
在 Python 中,有两种常用的自动化冒烟测试框架:Unittest 和 Pytest。本文将详细介绍 Unittest 和 Pytest 框架的使用方法,并比较两者的异同。 一、Unittest 框架 Unittest 是 Python 自带的测试框架,提供了丰富...
unittest框架(单元测试)py代码示例+文字教程,当谈到单元测试时,unittest 是 Python 中最常用和最受欢迎的测试框架之一。 unittest 提供了一组用于编写和运行测试的类和方法,并且易于使用。unittest 提供了许多...
总的来说,Python的unittest单元测试框架提供了全面的工具和概念,帮助开发者构建可靠、高效的测试,确保代码的稳定性和可靠性。通过深入理解和熟练运用unittest,可以大大提高软件开发的质量和效率。
在Android应用开发中,单元测试是一项至关重要的任务,它能够帮助开发者确保代码的质量,提高软件的稳定性和可维护性。本项目聚焦于Android中的按键单元测试,特别是针对按钮(button)点击事件的测试。以下是对这个...
`UnitTest_测试代码框架` 提供了一种组织和执行单元测试的方法,帮助开发者有效地验证代码的各个部分是否按预期工作。这个框架允许您为不同的模块下载特定的测试代码,以便对各个功能进行独立验证。 `UT_UTEntry.c`...
Python的unittest单元测试框架是标准库中的一个模块,用于编写和组织单元测试。然而,与TestNG等其他测试框架相比,unittest自身并不直接支持参数化测试。参数化测试允许我们用一套测试用例来覆盖多种输入情况,而...
Python的unittest单元测试框架是Python内置的一个强大的测试工具,它为编写和组织单元测试提供了标准结构。unittest框架的使用能够确保代码的质量,特别是在大型项目中,通过自动化测试能有效地检查代码的功能是否...
`UnitTest`框架填补了这一空白,为Fortran开发者提供了一种结构化的单元测试方法。它支持创建测试套件、定义测试用例和断言,以检查代码的正确性。 使用`UnitTest`框架,你可以按照以下步骤组织和执行单元测试: 1...