selenium-webdriver用例批量运行和测试套件使用 ------之我见
用例批量运行和测试套件使用 ------之我见
学习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用例批量运行和测试套件使用 ------之我见的更多相关文章
- 【转】Selenium WebDriver + Python 环境
转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...
- unittest详解(三) 测试套件(TestSuite)
在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行 ...
- teprunner测试平台测试计划批量运行用例
本文开发内容 上一篇文章已经把pytest引入到测试平台中,通过多线程和多进程的方式,运行测试用例.有了这个基础,做批量运行用例的功能就很简单了,只需要前端传入一个CaseList即可.本文的后端代码 ...
- Selenium WebDriver + Grid2 + RSpec之旅(五)---面向对象设计用例
Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得 ...
- appium ,selenium ,webdriver 运行原理与机制
做测试开发的童鞋都知道,UI自动化你绕不开selenium, webdrvier, appium框架,那么这三者之间有什么关联,它们的原理是什么呢? 简单来说就是: Selenium2 将浏览器原生 ...
- Selenium & Webdriver 远程测试和多线程并发测试
Selenium & Webdriver 远程测试和多线程并发测试 Selenium Webdriver自动化测试,初学者可以使用selenium ide录制脚本,然后生成java程序导入ec ...
- 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 ...
- Selenium WebDriver 数据驱动测试框架
Selenium WebDriver 数据驱动测试框架,以QQ邮箱添加联系人为示例,测试框架结构如下图,详细内容请阅读吴晓华编著<Selenium WebDiver 实战宝典>: Obje ...
- [selenium webdriver Java]使用自定义条件同步测试
Selenium WebDriver可以结合ExpectedCondition类来定义自己期望的条件 创建一个新的ExpectedCondition接口,必须实现apply方法 等待元素出现 publ ...
随机推荐
- leetcode 题解:Binary Tree Preorder Traversal (二叉树的先序遍历)
题目: Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binar ...
- iOS webView的一些基本用法
1.自己拼接html来显示想要的文字(参考:http://www.mamicode.com/info-detail-492242.html) NSString *htmlStr=@"< ...
- C语言中的命名空间
C语言中的命名空间 命名空间是为了解决 "在相同作用域内如何区分 相同的标识符". 说明: ①只有在相同作用域的情况下才能使用到命名空间去区分标识符,在嵌套的作用域.不同的作用域区 ...
- Delphi单元文件之-防止程序重复执行
//工程引用此单元就能防止同时出现多个实例unit MultInst;interfaceuses Windows ,Messages, SysUtils, Classes, Forms;impleme ...
- CF 107E 多边形面积并
107E Darts 题目:给出n个矩形,问落在n个矩形交的部分的概率 分析:裸的多边形面积并. 代码略..
- 获取IOS bundle中的文件
在xcode中选择bundle中的文件,右键Show in Finder即可拷贝或删除文件.
- Linux 内核模块可选信号
一 . 内核模块可选信号 1 . 模块申明 (1). MODULE_LICENSE(遵守的协议) 申明该模块遵守的许可证协议,如:“GPL”."GPL V2" (2). MODUL ...
- Angularjs 使用filter格式化输出href
工作中,由于是多级菜单,如果上级菜单为空,就会访问Angularjs 默认的state,然后再展开菜单,我找资料之后,才知道是通过filter来格式化输出数据的,格式是{{ expression | ...
- 使 div 元素看上去像一个按钮
使 div 元素看上去像一个按钮 div { appearance:button; -moz-appearance:button; /* Firefox */ -webkit-appearance:b ...
- .NET DLL 保护措施应用实例(百度云批量保存工具)
最近做了个小工具,将保护措施思路全部应用到了此工具中. 点我下载 百度云批量保存工具是一款专门用于自动批量保存百度云分享的软件. 本软件特点:1:完全模拟人工操作:2:可以批量保存百度分享的文件( ...