学习 selenium-webdriver 已经一段时间了,最近学习到,测试用例的批量执行,和测试套件的使用,有点自己的理解,不晓得对不对,希望大家指正!
 
写一个测试用例 baidu.py
 
class Baidu(unittest.TestCase):
  def setUp(self):
    self.driver=webdriver.Firefox()
    self. base_url='http:www.baidu.com'
  def test_search(self):
    driver=self.driver
    driver.get(self.base_url+'/')
    driver.find_element_by_id('kw').send_keys('cnblogs')
    driver.find_element_by_id('su').click()
  def test_login(self):
    driver=self.driver
    driver.get(self.base_url+'/')
    dr.find_element_by_name('userName').clear()
    dr.find_element_by_name('userName').send_keys('user')
    dr.find_element_by_name('password').clear()
    dr.find_element_by_name('password').send_keys('')
    dr.find_element_by_id('TANGRAM__PSP_26__submit').click()
  def tearDown(self):
    self.driver.quit()
1.批量执行,不使用测试套件的好处
批量执行的时候,我们在一个测试文件里面执行该文件里面的 n 条测试用例,如上面 baidu.py
这个文件,我们可以执行执行:
if __name__=="__main__":
suite=unittest.TestSuite()
suite.addTest(Baidu("test_search"))
suite.addTest(Baidu("test_login"))
runner=unittest.TextTestRunner()
runner.run(suite)

这样你可以在一个文件里面执行所有的用例,也可以执行自己想要执行的那条用例,使用“#”,可

以注释掉当前不需要执行的那条用例
2.使用测试套件的好处
使用测试套件,我们需要重新建立一个专门执行用例的文件 如 run_case.py
import unittest
from baidu import Baidu
......... #导入相关模块 suite=unittest.TestSuite()
suite.addTest(unittest.makeSuite(baidu.Baidu))runner=unittest.TextTestRunner()
runner.run(suite)
这样你可以在里面添加一条语句,就可以执行整个文件里面的 case,如
suite.addTest(unittest.makeSuite(baidu.Baidu)) 这样就可以执行整个 baidu.py 里面的
test_search,test_login 这两条用例了。
以上就是我的理解,希望大家能够给我指正!

selenium,测试套件的使用的更多相关文章

  1. selenium测试套件

    1.测试套件测试套件,简单理解就是讲多个用例,装在一个容器里来同时执行完成. 2.测试套件分析 #coding=utf-8 import unittestimport BaiDuSearch,BaiD ...

  2. Python+Selenium笔记(四):unittest的Test Suite(测试套件)

    (一) Test Suite测试套件 一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行. 应用unittest的TestSui ...

  3. python实例编写(7)---测试报告与测试套件(多个py文件,1个py文件内多个用例)

    一.  一个.py文件批量执行测试用例(一个.py文件下多个用例执行) 如果直接使用:unittest.main(),则按字母顺序执行, 对于前后之间又依赖关系的用例,需要按特定的顺序执行,则使用 s ...

  4. unittest测试套件

    测试套件就是测试集,测试集是测试用例的集合. a.按用例顺序执行(addtest) 当addtest与unittest的测试规则冲突时,仍然按照ASCII码的顺序执行. import unittest ...

  5. python+unittest框架第二天unittest之简单认识Test Suite:测试套件

    今天了解下测试套件Test Suite,什么是测试套件,测试套件是由多个Test Case测试用例组成的,当然也可以由多个子测试套件组成. 接下来看下如果构建测试套件,构建测试套件的方法: 1.用un ...

  6. unittest详解(三) 测试套件(TestSuite)

    在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行 ...

  7. selenium测试框架使用xml作为对象库

    之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...

  8. VS2010+Selenium测试脚本设计

    VS2010+Selenium测试脚本设计 http://www.docin.com/p-755903506.html

  9. Selenium测试规划

    开源工具经过近几年的发展,已经出现了一大批成熟的可应用到实际项目中的产品,其中,在WEB自动化测试领域,Selenium支持广泛的浏览器和脚本开发语言,高效的执行效率,获得广泛的应用. 本课程结合Se ...

随机推荐

  1. 洛谷——P1540机器翻译(队列操作)

    #include<bits/stdc++.h> using namespace std; int main(){ queue<int> num;//存放的内存 ]; int m ...

  2. Java 学习笔记(8)——匿名对象与内部类

    一般在编写代码时可能会遇到这样的场景--在某些时候,我需要定义并某个类,但是只会使用这一次,或者是某个类对象只会使用一次,为它们专门取名可能会显的很麻烦.为了应对这种情况,Java中允许使用匿名对象和 ...

  3. 【Docker】镜像分层存储与镜像精简

    Linux操作系统 Linux操作系统由内核空间和用户空间组成. 内核空间是kernel,用户空间是rootfs, 不同Linux发行版的区别主要是rootfs.比如 Ubuntu 14.04 使用 ...

  4. js获取url参数值的方式

    定义方法: function getParam(paramName) { paramValue = ""; isFound = false; paramName = paramNa ...

  5. C# struct和class

    文字说明 值类型,存储于堆栈,存在于计算机内存逻辑区域中 引用类型,存储在堆中,位于计算机的不同逻辑位置 struct是值类型 推荐较小的数据类型使用,因为结构的大小会影响应用程序的性能 修改实际上是 ...

  6. Elasticsearch慢查询故障诊断

    最近在做ES搜索调优,看了一些lucene搜索的文档和代码,本文用于总结调优过程中学到的知识和自己的思考. 在抓到ES慢查询之后,会通过profile或者kibana的Search Profiler ...

  7. 本地项目推送到coding

      当我们本地新建了一个项目,需要放到coding上维护时,按照下面步骤即可做到. 1.先在coding上新建一个项目,并完成初始化. 2.进入到本地项目的目录下 //初始化本地仓库 a:git in ...

  8. 【Python系统学习02】数据类型与类型转换

    一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', '12', '24' ...

  9. Spring||Mails

    JMail可以解决Java发送邮件,通过Jmail的核心javax.mail.jar实现,通过Jmail发送邮件需要经过以下步骤 1.创建解析邮件内容:Message类,通过javax.mail.in ...

  10. easyUI dataGrid主从表点击展开问题

    昨天在公司写代码遇到了一个问题,就是在用easyUI做主从表的时候在查询之后点击展开的时候不能再次展开了.先说一下主从表我也是第一次用 效果如下图: 然后点击前面的小加号出现以下效果: 然而遇到了一个 ...