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(执行用例)的更多相关文章

  1. unittest执行用例方法

    #coding=utf-8 from selenium import webdriver from time import sleep import unittest#导入unittest库 impo ...

  2. python+unittest 控制用例的执行顺序

    unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...

  3. python:unittest之discover()方法批量执行用例

    自动化测试过程中,自动化覆盖的功能点和对应测试用例之间的关系基本都是1 VS N,如果每次将测试用例一个个单独执行,不仅效率很低, 无法快速反馈测试结果,而且维护起来很麻烦.在python的单元测试框 ...

  4. python自动化-unittest批量执行用例(discover)

    前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的Text ...

  5. unittest多线程执行用例

    前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时... 那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线 ...

  6. unittest中diascover批量执行用例

    # case_dir='./'#当前脚本的路径 # discover=unittest.defaultTestLoader.discover(case_dir,pattern='unittest_fr ...

  7. python学习笔记(28)-unittest单元测试-执行用例

    执行用例 #写一个测试类 import unittest import HTMLTestRunnerNew #写好的模块可以直接调用 #import HTMLTest #测试报告模板 from cla ...

  8. unittest(discover 批量执行用例)

    import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自动化用例所存放的路径 suit = unittest ...

  9. python unittest控制用例的执行顺序

    为什么要进行顺序控制呢?使用过testng的同学就知道,它相对于junit来说有更强大的功能,其中的一个功能就是依赖测试.什么是依赖测试呢?简单的说一下就是,A方法运行时,其中有个变量的取值是B方法的 ...

随机推荐

  1. shell命令-while语句

    loop=1 while [ "$loop" -le 10 ] do echo "loop:$loop" loop=$(($loop+2)) done

  2. 【原创】关于java对象需要重写equals方法,hashcode方法,toString方法 ,compareto()方法的说明

    在项目开发中,我们都有这样的经历,就是在新增表时,会相应的增加java类,在java类中都存在常见的几个方法,包括:equals(),hashcode(),toString() ,compareto( ...

  3. iOS 头条一面 面试题

    1.如何高效的切圆角? 切圆角共有以下三种方案: cornerRadius + masksToBounds:适用于单个视图或视图不在列表上且量级较小的情况,会导致离屏渲染. CAShapeLayer+ ...

  4. SwiftUI - 一步一步教你使用UIViewRepresentable封装网络加载视图(UIActivityIndicatorView)

    概述 网络加载视图,在一个联网的APP上可以讲得上是必须要的组件,在SwiftUI中它并没有提供如 UIKit 中的UIActivityIndicatorView直接提供给我们调用,但是我们可以通过 ...

  5. C语言冒泡排序法分析及代码实现

    冒泡排序法: 所谓冒泡排序法,就是对一组数字进行从大到小或者从小到大排序的一种算法.具体方法是,相邻数值两两交换.从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换( ...

  6. c语言中的引用使用

    最近在写一个图像处理的程序时候,遇到一些传参的问题,最后发现引用的效率高一些,在此提醒各位道友,多多关注引用的应用及使用. 1.在引用的使用中,单纯给某个变量取个别名是毫无意义的,不要为了耍酷而乱用, ...

  7. 远程登录redis

    没想到吧,我居然已经摸到了redis. 远程登录redis redis-cli -h 127.0.0.1 -p 6379 ip地址和端口记得换成自己的

  8. python爬虫实战之爬取智联职位信息和博客文章信息

    1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author  ...

  9. 算法笔记刷题1(codeup 1934)

    准备6月份的拼题甲级中(本来现在这两天就考试了,但是因为疫情的原因延期了) 刚刚开始按算法笔记刷题,今天是探索codeup的第一天. 一开始并没有把多点测试当回事,直到一错再错,心态爆炸... 附上我 ...

  10. 20199310《Linux内核原理与分析》第十五周作业 Linux安全实验

    1 补充知识 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭, ...