python+selenium自动化软件测试(第14章):基础实战(1)
#coding=utf-
from selenium import webdriven
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions
import NoSuchElementException
import unittest, time, re
import HTMLTestRunner #引入HTMLTestRunner 包
class Baidu(unittest.TestCase):
def setUp(self):
self.driven = webdriver.Firefox()
self.driver.implicitly一wait()
self.base_url = "http://www.baidu.com/"
self.verificationEnnors =[]
self.accept_next_alent = True
#百度搜索用例
def test_baidu_seanch(self):
driver = self.driven
driver.get(self.base_url + "/")
driver.find_element_by_id("kw").send_keys("selenium webdriver")
driver.find_element_by_id("su").click()
time.sleep()
driver.close()
#百度设置用例
def test_baidu_set(self):
driver = self.driver
#进入搜索设置页
driver.get(self.base_url + "/gaoji/pneferences.html")
#设置每页搜索结果为100条
m=driver.find一element一by_name(”NR")
m.find_element_by_xpath("//option[@value='100']").click()
time.sleep()
#保存设置的信息
driver.find_element_by_xpath("/html/body/form/div/input").click()
time.sleep()
driver.switch_to_alent().accept()
def tearDown(self):
self.driver.quit()
self.assentEqual([], self.verificationErrors) if __name__ == "__name__":
#定义一个单元测试容器
testunit=unittest.TestSuite()
#将测试用例加入到测试容器中
testunit.addTest(Baidu("test_baidu_search"))
testunit.addTest(Baidu("test_baidu_set"))
#定义个报告存放路径,支持相对路径
filename = r'C:\Users\Administnator\Desktop\selenium_file\result.html'
fp = file(filename, 'wb')
#定义测试报告
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u’百度搜索测试报告,description=u"用例执行情况:")
#运行测试用例
runner.run(testunit)
python+selenium自动化软件测试(第14章):基础实战(1)的更多相关文章
- python+selenium自动化软件测试(第16章):基础实战(3)
#coding:utf-8 from time import sleep from selenium import webdriver class cloudedge_register(object) ...
- python+selenium自动化软件测试(第15章):基础实战(2)
#coding:utf-8 #for windows/py2.7 from time import sleep from selenium import webdriver browser = web ...
- python+selenium自动化软件测试(第13章):selenium面试题
前言最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下 一.selenium中如何判断元素是否存在?expected_conditions模块提供了16种判断方法 ...
- python+selenium自动化软件测试(第10章):测试驱动TDD
测试驱动开发模式,要求开发在写业务代码的时候,先写出测试代码,同时单元测试例子决定了如何来写产品的代码,并且不断的成功的执行编写的所有的单元测试例子,不断的完善单元测试例子进而完善产品代码, 这样随着 ...
- python+selenium自动化软件测试(第8章) :多线程
前戏:线程的基础 运行多个线程同时运行几个不同的程序类似,但具有以下优点:进程内共享多线程与主线程相同的数据空间,如果他们是独立的进程,可以共享信息或互相沟通更容易.线程有时称为轻量级进程,他们并不需 ...
- python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用
11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http:// ...
- python+selenium自动化软件测试(第9章) :Logging模块
9.1 Logging模块 什么是日志记录?记录是跟踪运行时发生的事件的一种手段.该软件的开发人员将记录调用添加到其代码中,以指示某些事件已发生.事件由描述性消息描述,该消息可以可选地包含可变数据(即 ...
- python+selenium自动化软件测试(第12章):Python读写XML文档
XML 即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 行定义的源语言.xml 有如下特征: 首先,它是有标签对组成:<aa></aa> ...
- python+selenium自动化软件测试(第7章):Page Object模式
什么是Page ObjectModel模式Page Objects是selenium的一种测试设计模式,主要将每个页面看作是一个class.class的内容主要包括属性和方法,属性不难理解,就是这个页 ...
随机推荐
- 【.net 深呼吸】在运行阶段修改应用配置文件
上一篇博文中,老周所介绍的自行编写的配置类,虽然能够很好地做封装,但它仅允许修改用户级别的配置,所以文件都是保存到用户配置目录下的.可是,许多情况下,我们还是不考虑用户隔离,而是能够直接修改与应用程序 ...
- TypeScript--变量及类型的那些事儿
变量(类型)声明 格式:关键字 变量名称:类型=值 (强类型) / 关键字 变量名称=值 例子: Array数组声明 Tuple元组类型 声明一个包含多类型的数组: Enum枚举类 ...
- Opencv-2017-7-18
橘子薄皮只吃瓤,可以称之为过滤,意思是只要我们需要的东西,去除不需要的. 图像灰度级的分布及变化. 空间域(分布)和频域(变化). 低频(变化小),高频,水平/垂直,(高/低通滤波器). 低频-类似模 ...
- 安装cocoaPods第三方类库
*1 检测gem 镜像文件 输入指令: gem sources -l 回车后得到镜像地址.可能是一个,也可能有好几个,常见两个如下 https://rubygems.org/ ...
- 【HTML】模板
<!DOCTYPE html> <head> <base href="http://www.w3school.com.cn/i/" target=&q ...
- matlab怎么查看已安装哪些工具箱和…
问题描述:matlab怎么查看已安装哪些工具箱和它们相应的版本 解决方法:在命令行里敲击der,回车 效果:
- Password
Description Rivest是密码学专家.近日他正在研究一种数列E = {E[1],E[2],--,E[n]}, 且E[1] = E[2] = p(p为一个质数),E[i] = E[i-2]* ...
- 手动修复IAT
现在我们已经了解了IAT的的工作原理,现在我们来一起学习手动修复IAT,一方面是深入了解运行过程一方面是为了避免遇到有些阻碍自动修复IAT的壳时不知所措. 首先我们用ESP定律找到加了UPX壳后的OE ...
- Linux网络配置文件详解
--Linux网络配置文件详解----------------------2013/10/03 目前在企业级服务器的Linux系统中,RHEL占有绝对的优势,不管是曾经在互联网公司还是在目前测试Vir ...
- alter system [switch logfile]与[archive log current]的区别
--alter system [switch logfile]与[archive log current]的区别 ------------------------------------------- ...