selenium:

(1).firefox官方下载驱动geckodriver,windows:放在\python36或者是27的目录下

  • Mac: /usr/local/bin

(2).firefox的版本必须是在48之后

(3).pip install selenium==3.11

1.unittest介绍:通过selenium的例子来讲解

unittest单元测试框架(其中包含测试固件(setUp()    tearDown() ), 测试报告,测试套件(testSuite),测试用例(testCase),断言)

2.例子:

(1)setUp  和 tearDown   这个属于测试固件,在每一个test之前和之后都运行一次

(2)setUpClass 和 tearDownClass,这个属于类方法,在类之前和之后运行一次

(3)测试必须以test开头

(4)测试的顺序是由ascii码从小到大运行   ord()查看ascii,比如:

(5)在主函数里面,通过unittest.main()方法运行

(6)类要继承unittest.TestCase这个类

3.测试套件,顺序执行

现将测试套件testSuite实例化(创建一个套件),然后把想跑的测试用例一个一个的add进去,运行测试套件:unittest.TextTestRunner(verbosity=2).run(suite)

先add那个,就先执行哪个。

4.按照测试类去执行。makeSuite()

将测试类,放入测试套件中,执行类里面所有的测试

5.忽略测试skip

一个case想要被忽略,那么,只需要田间@unittest.skip("理由")

6.将测试固件分离

当有很多个case的时候,有些一定要基于登陆进行,很多都需要继承登陆。接下来做一个简单的分离

(1)都用到的打开浏览器,关闭浏览器,分离出来

(2)点击百度新闻,继承init类

(3)百度搜索,继承init类

7.测试套件TestLoaderde的使用

8.测试套件discover()的使用:

根据正则匹配要跑当前目录下的 test_baidu_ 开头的脚本。

查看discover里面的参数:鼠标点击discover,键盘按下control键。进入里面查看:

总结:按照测试套件跑的话,大概流程都是:

1.首先定义一个测试套件(起名为suite),然后通过load的方法,这个suite里面主要包含了要跑的那些case

2.然后,运行这个suite里面的所有case。一般都是unittest.TextTestRunner().run(suite),调用TextTestRunner这个类主要是通过名字来跑。

unittest的使用一的更多相关文章

  1. python_单元测试unittest

    Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...

  2. python单元测试unittest

    单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和 调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而 ...

  3. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  4. Python unittest appium

    import unittest from appium import webdriver from appium.common.exceptions import NoSuchContextExcep ...

  5. selenium-webdriver(python) (十六) --unittest 框架

    学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习selenium 也是从IED 开始的. IDE学习参考: 菜鸟学自动化测试(一)----selen ...

  6. Node.js的UnitTest单元测试

    body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } 在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTes ...

  7. unittest使用过程中sys.exit(not self.result.wasSuccessful())

    起因: 在运行下面的unittest过程中出现了个Traceback: 被测试脚本: # splitter.py def split(line, types=None, delimiter=None) ...

  8. 三言两语聊Python模块–单元测试模块unittest

    实际上unittest模块才是真正意义上的用于测试的模块,功能强大的单元测试模块. 继续使用前面的例子: # splitter.py def split(line, types=None, delim ...

  9. unittest测试驱动之HTMLTestRunner.py

    对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...

  10. unittest可能面临的问题以及解决方法

    问题1:用例的执行顺序 当使用unittest.main()时,用例的执行是按照ascall值的顺序来执行的,所以如果使用main()方法来执行用例的话,那么就需要通过命名来限制执行顺序,比如想要先执 ...

随机推荐

  1. GIT的前世今生

    在重点介绍GIT的一些操作之前,我们首先来说一说GIT的前世今生,了解整个版本控制的变迁能够让我们知道该如何去选择这些工具,另外通过这些技术的变迁也能够让我们对现在的技术有着更加深入的理解,在正式介绍 ...

  2. DELPHI中MDI子窗口的关闭和打开

    DELPHI中MDI子窗口的关闭 和打开       Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会   发觉该子窗口只是最小化,而不是你预期的那样被 ...

  3. 五、core开发

    一.支付方面的 https://www.cnblogs.com/stulzq/p/7606164.htmlhttps://www.cnblogs.com/guolianyu/

  4. layui tips

  5. Luogu5280 ZJOI2019线段树(线段树)

    容易发现相当于求2m种操作序列所得的每种线段树tag数量之和.显然考虑每个点的贡献,也即有多少种方案会使该点上有tag.可以将点分为四类: 1.修改时被经过且有儿子被修改的节点 2.修改时被经过且没有 ...

  6. 网络流24(san)题题解汇总

    开坑(烂尾预定 1.餐巾计划问题 题解 2.最小路径覆盖问题 题解 3.试题库问题 题解 4.[CTSC1999]家园 题解 5.骑士共存问题 题解 6.最长不下降子序列问题 题解 7.深海机器人问题 ...

  7. 【vijos1780】【NOIP2012】开车旅行 倍增

    题目描述 有\(n\)个城市,第\(i\)个城市的海拔为\(h_i\)且这\(n\)个城市的海拔互不相同.编号比较大的城市在东边.两个城市\(i,j\)之间的距离为\(|h_i-h_j|\) 小A和小 ...

  8. 【BZOJ3771】Triple 生成函数 FFT 容斥原理

    题目大意 有\(n\)把斧头,不同斧头的价值都不同且都是\([0,m]\)的整数.你可以选\(1\)~\(3\)把斧头,总价值为这三把斧头的价值之和.请你对于每种可能的总价值,求出有多少种选择方案. ...

  9. bzoj 2957 楼房重建 (线段树+思路)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2957 思路: 用分块可以很简单的过掉,但是这道题也可以用线段树写. 分类讨论左区间最大值对 ...

  10. Error fetching command 'collectstatic': You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path. Command 'collectstatic' skipped

    报错现象 报错解决 在 settings.py 中添加这一句话则可以解决 STATIC_ROOT = os.path.join(BASE_DIR, 'static') 测试不在有问题