unittest(执行用例)
from selenium import webdriver
from time import sleep
import unittest#导入unittest库
import HTMLTestRunner #创建一个类,并且该类继承unittest.case类
class Test_baidu(unittest.TestCase): #初始环境,每一个用例执行时都会先执行这里的代码
def setUp(self):
self.dr=webdriver.Chrome()#调用指定的浏览器并赋值给dr
self.dr.maximize_window()
self.dr.implicitly_wait(10)#智能等待作用和sleep一样
self.dr.get('https://www.baidu.com')
sleep(2) #测试用例---执行搜索新方硕--测试用例的脚本
def test_case2(self):
self.dr.find_element_by_id('kw').send_keys(u'新方硕')
sleep(3) #测试用例--执行搜索新东方
def test_case1(self):
self.dr.find_element_by_id('kw').send_keys(u'新东方')
sleep(3) #还原环境(结束)---用例执行后关闭浏览器(扫尾工作)
def tearDown(self):
self.dr.close()
- 方案一
if __name__=="__main__":
unittest.main() #unittest.main()他可以将一个单元测试的模块变为可以执行的脚本,所谓main()的方法使用了
# unittest中testloader类来搜索以test开头的测试用例,并自动执行
# main()执行顺序是以ascii用来执行顺序0-9,A-Z,a-z
- 方案二:用例的执行顺序,根据你添加的顺序进行执行
if __name__=='__main__':
suite=unittest.TestSuite() #构造一个容器用来存放我们的测试用例
suite.addTest(Test_baidu('test_case2')) #添加类中的测试用例
suite.addTest(Test_baidu('test_case1')) #添加类中的测试用例
run=unittest.TextTestRunner()
run.run(suite) #调用对象中的run的方法执行测试套件:suite #或者如下 if __name__=='__main__':
suite=unittest.TestSuite()
suite.addTests([Test_baidu('test_case2'),Test_baidu('test_case1')])
run=unittest.TextTestRunner()
run.run(suite) #还或者如下 if __name__=='__main__':
suite=unittest.TestSuite()
testcates=[Test_baidu('test_case2'),Test_baidu('test_case1')]
suite.addTests(testcases)
run=unittest.TextTestRunner()
run.run(suite)
- unittest.TestSuite() 执行用例问题如下:
- 步入正轨解决方案出炉,在右键点击 run 时,发现 run 后面为 unittest.in filename,以前执行文件时都是 Run fliename,也就是说整个文件都是按照 unittest 模式来执行的


- 看到了 两个执行的不一致,两个办法如下:
- 点击控制台Run来运行

- 点击 控制台的右上角见图


- 此时右键执行就会发现不在 unittest 模式下了哦
unittest(执行用例)的更多相关文章
- unittest执行用例方法
#coding=utf-8 from selenium import webdriver from time import sleep import unittest#导入unittest库 impo ...
- python+unittest 控制用例的执行顺序
unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...
- python:unittest之discover()方法批量执行用例
自动化测试过程中,自动化覆盖的功能点和对应测试用例之间的关系基本都是1 VS N,如果每次将测试用例一个个单独执行,不仅效率很低, 无法快速反馈测试结果,而且维护起来很麻烦.在python的单元测试框 ...
- python自动化-unittest批量执行用例(discover)
前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的Text ...
- unittest多线程执行用例
前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时... 那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线 ...
- unittest中diascover批量执行用例
# case_dir='./'#当前脚本的路径 # discover=unittest.defaultTestLoader.discover(case_dir,pattern='unittest_fr ...
- python学习笔记(28)-unittest单元测试-执行用例
执行用例 #写一个测试类 import unittest import HTMLTestRunnerNew #写好的模块可以直接调用 #import HTMLTest #测试报告模板 from cla ...
- unittest(discover 批量执行用例)
import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自动化用例所存放的路径 suit = unittest ...
- python unittest控制用例的执行顺序
为什么要进行顺序控制呢?使用过testng的同学就知道,它相对于junit来说有更强大的功能,其中的一个功能就是依赖测试.什么是依赖测试呢?简单的说一下就是,A方法运行时,其中有个变量的取值是B方法的 ...
随机推荐
- C语言 刷新缓冲区
fflush int fflush(FILE* stream); 用于清空文件缓冲区,如果文件是以写的方式打开 的,则把缓冲区内容写入文件. eg: 1. #include <stdio.h&g ...
- 《民国奇探》的弹幕有点逗比,用 Python 爬下来看看
电视剧<民国奇探>是一部充斥着逗比风的探案剧,剧中主要角色:三土.四爷.白小姐,三土这个角色类似于<名侦探柯南>中的柯南但带有搞笑属性,四爷则类似于毛利小五郎但有大哥范且武功高 ...
- Vue-CLI 3.x 部署项目至生产服务器
本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 本教程主要讲解的是 Vue ...
- YII基础
一.目录结构 应用中最重要的目录和文件(假设应用根目录是 basic): basic/ 应用根目录 composer.json Composer 配置文件, 描述包信息 config/ 包含应用配置及 ...
- Python Requests-学习笔记(4)-定制请求头和POST
定制请求头 如果你想为请求添加HTTP头部,只要简单地传递一个 dict 给 headers 参数就可以了. import jsonurl = 'https://api.github.com/some ...
- java的图形化界面 文本区JTextArea的程序例子
package java1; //使用时这个改成你的包名即可//文本区 JTextArea import javax.swing.*;import java.awt.*;import java ...
- [算法总结]康托展开Cantor Expansion
目录 一.关于康托展开 1.什么是康托展开 2.康托展开实现原理 二.具体实施 1.模板 一.关于康托展开 1.什么是康托展开 求出给定一个由1n个整数组成的任意排列在1n的全排列中的位置. 解决这样 ...
- 「日常开发」记一次因使用Date引起的线上BUG处理
生活中,我们需要掌控自己的时间,减少加班,提高效率:日常开发中,我们需要操作时间API,保证效率.安全.稳定.现在都2020年了,了解如何在JDK8及以后的版本中更好地操控时间就很有必要,尤其是一次线 ...
- Websocket直播间聊天室教程 - GoEasy快速实现聊天室
最近两年直播那个火啊,真的是无法形容!经常有朋友问起,我想实现一个直播间聊天或者我想开发一个聊天室, 要如何开始呢? 今天小编就手把手的教你用GoEasy做一个聊天室,当然也可以用于直播间内的互动.全 ...
- Springboot:员工管理之添加员工(十(7))
构建员工添加请求 com\springboot\controller\EmployeeController.java /*调转到员工添加页 携带部门信息 restful风格*/ @GetMapping ...