本文采用unittest测试框架搭建一个简单的自动化测试实例,完成readmine网站的登录和新建项目用例,并生成测试报告。

test_login文件

import unittest
from selenium import  webdriver
class TestStorm(unittest.TestCase):def setUp(self):self.driver=webdriver.Chrome()self.driver.get("http://demo.redmine.org/")self.driver.maximize_window()self.driver.implicitly_wait(30)def test_wrongpw(self):""" 正确的用户名错误的密码"""self.driver.find_element_by_xpath('//*[@id="account"]/ul/li[1]/a').click()self.driver.find_element_by_id('username').clear()self.driver.find_element_by_id('username').send_keys('XXXXXXXXx')self.driver.find_element_by_id('password').clear()self.driver.find_element_by_id('password').send_keys('XXXXXXXXXXXXXXXxx')self.driver.find_element_by_name('login').click()errormessage=self.driver.find_element_by_xpath('//*[@id="flash_error"]').textself.assertEqual(errormessage,'无效的用户名或密码')def test_successlogin(self):""" 正确的用户名正确的密码"""self.driver.find_element_by_xpath('//*[@id="account"]/ul/li[1]/a').click()self.driver.find_element_by_id('username').clear()self.driver.find_element_by_id('username').send_keys('XXXXXXXXXXXXXXx')self.driver.find_element_by_id('password').clear()self.driver.find_element_by_id('password').send_keys('XXXXXXXXXXXXXXXX')self.driver.find_element_by_name('login').click()idaccount=self.driver.find_element_by_xpath('//*[@id="loggedas"]/a').textself.assertEqual(idaccount,'yangyali')def tearDown(self):self.driver.quit()if __name__=='__main__':unittest.main()

test_new_project文件

import unittest
from selenium import  webdriver
class TestStorm(unittest.TestCase):def setUp(self):self.driver=webdriver.Chrome()self.driver.get("http://demo.redmine.org/")self.driver.maximize_window()self.driver.implicitly_wait(20)self.driver.find_element_by_xpath('//*[@id="account"]/ul/li[1]/a').click()self.driver.find_element_by_id('username').clear()self.driver.find_element_by_id('username').send_keys('XXXXXXXXXXXXxx')self.driver.find_element_by_id('password').clear()self.driver.find_element_by_id('password').send_keys('XXXXXXXXXXXXXx')self.driver.find_element_by_name('login').click()def test_xinjianxiangmu(self):""" 创建项目成功"""self.driver.find_element_by_xpath('//*[@id="top-menu"]/ul/li[3]/a').click()self.driver.find_element_by_xpath('//*[@id="content"]/div[1]/a[1]').click()self.driver.find_element_by_id('project_name').send_keys('project2')self.driver.find_element_by_xpath('//*[@id="new_project"]/input[3]').click()successmessage=self.driver.find_element_by_xpath('//*[@id="flash_notice"]').textself.assertEqual(successmessage,'创建成功')self.assertEqual(self.driver.find_element_by_xpath('//*[@id="header"]/h1').text,'project2')def tearDown(self):self.driver.quit()if __name__=='__main__':unittest.main()

run文件,用来执行用例并生成报告

import unittest
import HTMLTestRunner
import time,os
if __name__ == '__main__':#查找当前目录的测试用例文件testSuite=unittest.TestLoader().discover('.')filename=os.getcwd()+os.sep+"storm_{}.html".format(time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())))with open(filename,'wb')as f:runner=HTMLTestRunner.HTMLTestRunner(stream=f,title='Readmine测试报告',description='unittest线性测试报告')runner.run(testSuite)

生成的测试报告截图:

自动化测试unittest测试框架实例相关推荐

  1. 自动化测试pytest测试框架实例

    本文采用pytest框架运行了两个测试用例. 与unittest框架相比: 引入包不同 pytest的类不需要继承类 测试固件的方法不同,pyest中setup和teardown是小写. 断言方法不同 ...

  2. 基于Python的接口自动化unittest测试框架和ddt数据驱动详解

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...

  3. UnitTest测试框架全栈详解

    金字塔模型 从软件架构的⻆度来说,测试最重要的步骤是在软件开发的时候界入比较好,所以在早期测试的界入,从软件经济学的⻆度上来说,发现的问题解决成本低,投入的资源比较少.因此,对一个测试的系统,开始最佳 ...

  4. unittest 测试框架

    文章目录 一.unittest测试框架 1.测试固件 1.1 setUp() 1.2 tearDown() 2.unittest 基本使用 3.测试套件(suit) 3.1 测试用例执行顺序 3.2 ...

  5. 使用python构造大量测试数据_python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)...

    ---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...

  6. python测试框架untest怎么循环执行_Python自动化测试-Unittest单元测试框架详解

    python中unittest模块是用来做单元测试的. unittest是一个python版本的junit,junit是java中的单元测试框架,对java的单元测试,有一句话很贴切:Keep the ...

  7. 【07节】Python3+Selenium4自动化 unittest 测试框架详解

    文章目录 1.unittest 框架介绍 2.创建单元测试步骤 3.unittest 模块介绍 3.1 TestCase 类 3.1.1 TestCase 类常用方法: 3.1.2 TestCase ...

  8. python自动化测试框架有哪几种_Python自动化测试-Unittest单元测试框架详解

    python中unittest模块是用来做单元测试的. unittest是一个python版本的junit,junit是java中的单元测试框架,对java的单元测试,有一句话很贴切:Keep the ...

  9. python+selenium+unittest测试框架1-unittest单元测试框架和断言

    unittest单元测试框架和断言 一.unittest单元测试框架简介 1.导入unittest模块 import unittest 2.定义测试类 class Login(unittest.Tes ...

最新文章

  1. C# 2.0 的partial
  2. 阿里YunOS总裁张春晖:云芯片将成为IOT的基础
  3. 计算机显示器不清楚跟电池有关系吗,电脑液晶显示器显像模糊是什么原因
  4. CSP认证201403-2窗口[C++题解]:模拟、结构体
  5. 热门的模型跨界,Transformer、GPT做CV任务一文大盘点
  6. P3295 [SCOI2016]萌萌哒(DP+倍增)
  7. qt在visual studio 2015下的使用
  8. deliphi 字符串分割_delphi中拆分字符串的函数
  9. 数据挖掘:银行评分卡制作——数据分箱、WOE、IV的意义
  10. 做自己的软件的Gallery(一)
  11. idea 修改前后端代码自动运行
  12. 深入解析Windows操作系统(笔记7)
  13. 手把手教你齿轮齿条配合
  14. 行人重识别论文阅读8-FastReID京东快速行人重识别
  15. java 在某个时间段定时_Java 在某一个时间点定时执行任务(转载)
  16. 小心哟!你很可能被“杏仁体”劫持了
  17. Aria2打造离线网盘
  18. 阿里云 mysql 命令_是mysql命令
  19. 在文章右上角添加目录导航
  20. 免费ssl申请且如何应用到宝塔

热门文章

  1. 9-13 ruby环境准备
  2. vs 编译设置obj路径_编译、连接
  3. 【免费毕设】PHP教材管理系统(源代码+论文)
  4. 中国互联网公司员工平均年龄出炉,你怎么看?我躺着看
  5. 清华大学python视频_涨见识了,清华大学全套Python579集视频教程泄露,拿走学去吧...
  6. php 5.4 +iis+mysql_IIS+FastCGI+PHP5.4.4搭建PHP环境
  7. 计算机网络故障检测,计算机网络故障常用诊断工具你会多少
  8. HALCON 20.11:深度学习笔记(4)--- 网络和训练过程
  9. Python+OpenCV:图像平滑
  10. QByteArray与char、int、float(及其数组)之间的互相转化