用例批量运行和测试套件使用 ------之我见

学习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('123456')

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-webdriver用例批量运行和测试套件使用 ------之我见的更多相关文章

  1. 【转】Selenium WebDriver + Python 环境

    转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...

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

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

  3. teprunner测试平台测试计划批量运行用例

    本文开发内容 上一篇文章已经把pytest引入到测试平台中,通过多线程和多进程的方式,运行测试用例.有了这个基础,做批量运行用例的功能就很简单了,只需要前端传入一个CaseList即可.本文的后端代码 ...

  4. Selenium WebDriver + Grid2 + RSpec之旅(五)---面向对象设计用例

    Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得 ...

  5. appium ,selenium ,webdriver 运行原理与机制

    做测试开发的童鞋都知道,UI自动化你绕不开selenium, webdrvier, appium框架,那么这三者之间有什么关联,它们的原理是什么呢? 简单来说就是: Selenium2  将浏览器原生 ...

  6. Selenium & Webdriver 远程测试和多线程并发测试

    Selenium & Webdriver 远程测试和多线程并发测试 Selenium Webdriver自动化测试,初学者可以使用selenium ide录制脚本,然后生成java程序导入ec ...

  7. python2.7运行selenium webdriver api报错Unable to find a matching set of capabilities

    在火狐浏览器33版本,python2.7运行selenium webdriver api报错:SessionNotCreatedException: Message: Unable to find a ...

  8. Selenium WebDriver 数据驱动测试框架

    Selenium WebDriver 数据驱动测试框架,以QQ邮箱添加联系人为示例,测试框架结构如下图,详细内容请阅读吴晓华编著<Selenium WebDiver 实战宝典>: Obje ...

  9. [selenium webdriver Java]使用自定义条件同步测试

    Selenium WebDriver可以结合ExpectedCondition类来定义自己期望的条件 创建一个新的ExpectedCondition接口,必须实现apply方法 等待元素出现 publ ...

随机推荐

  1. ASP.NET页面与IIS底层交互和工作原理详解(第一回)

    引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何一步步拖放控件.设置控件属性.编写CodeBehind代码,以实现某个特定 ...

  2. 【前端JS、后台C#】编码解码。

    最近做项目,出现中文乱码的问题,特地研究一下. GB2312,指的是中文 UTF8,指的是国标,包含中文.英文. 但是通过JQuery.ajax的Get.Post,如果直接传递中文或者特殊字符的特使字 ...

  3. Macbook之设置Finder显示文件完整路径

    终端里输入:defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE;killall Finder 回复输入:default ...

  4. JS辨别浏览器系统IOS或安卓

    详细内容请点击 /* * 智能机浏览器版本信息: * */ (function($,window,document){     $.extend({         browser:{         ...

  5. 七. CSS字体

    概述 所谓字体:即文字的形体结构,根据外观字体分不同的类别:衬线字体Serif.无衬线字体sans-serif和等宽字体monospace.每一个类别的字体又可以分成不同的字体族font family ...

  6. DateDiff函数 asp运算时间

    DateDiff DateDiff函数 返回 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目. 语法 DateDiff(interval, date1, date2[, f ...

  7. xenserver xensource.log不断增长

    转载:http://blog.sina.com.cn/s/blog_4ca83f830100xded.html     相信很多人被Xenserver日志填满磁盘空间,导致机器最终挂掉的问题所困扰,我 ...

  8. 【iOS基础学习随笔-1】-基于对象的程序设计

    一.对象: 1.在基于对象的程序设计中,一个程序分解成若干个不同的对象,每个对象都有自己独有的能力. 2.一个生产线上的一个工位只负责做好一件事.如果生产出的汽车的车门没有漆好,那问题很可能出在负责上 ...

  9. Xcode6 模拟器不显示键盘

    在学习加法计算器时,程序运行后发现点击模拟器上的输入框时有时候键盘可以弹出来,有时候又弹不出来. 网上查询结果只需要在模拟器的菜单中找到hardware -> keyboard -> 取消 ...

  10. UI1_UINavigationController

    // // FourthViewController.h // UI1_UINavigationController // // Created by zhangxueming on 15/7/6. ...