浏览器的操作
浏览器最大化 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的
#coding=utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
print '浏览器最大化'
driver.maximize_window() #将浏览器最大化显示
driver.quit()
3.1.2、设置浏览器宽、高
在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测 页面的前端样式进行评测。比如可以将浏览器设置成移动端大小(320x480),然后访问移动站点,对其样
式进行评估;
#coding=utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://m.mail.10086.cn')
#参数数字为像素点
print '设置浏览器宽480、高800显示' driver.set_window_size(480, 800)
driver.quit()
3.1.3、控制浏览器前进、后退
浏览器上有一个后退、前进按钮,对于浏览网页的人是比较方便的;对于 web 自动化测试来说是 一个比较难模拟的操作;webdriver 提供了 back()和 forward()方法,使实现这个操作变得非常简单。
#coding=utf-8
from selenium import webdriver import time
driver = webdriver.Firefox()
#访问百度首页
first_url= 'http://www.baidu.com' print 'now access %s' %(first_url)
driver.get(first_url)
#访问新闻页面
second_url='http://news.baidu.com' print 'now access %s' %(second_url) driver.get(second_url)
#返回(后退)到百度首页
print 'back to %s '%(first_url)
driver.back()
#前进到新闻页
print 'forward to %s'%(second_url)
driver.forward()
driver.quit()
为了使脚本的执行过程看得更清晰,在每一步操作上都加了print 来打印当前的 URL 地址。
运行结果如下:
>>> ================================ RESTART ================================
>>>
now access http://www.baidu.com now access http://news.baidu.com back to http://www.baidu.com
forward to http://news.baidu.com
实际测试中,这两个功能平时很少被使用,笔者所能想到的场景就是几个页面来回跳转,但又不想用
get url 的情况下。
python 基础知识补充:
下面打开 python shell 做以下练习:
>>> name = 'huhu'
>>> age = 26
>>> print 'my name is %s' %name my name is huhu
>>> print 'my age is %d' %age my age is 26
>>> print 'my name is %d' %name
Traceback (most recent call last):
File '', line 1, in
print 'my name is %d' %name
TypeError: %d format: a number is required, not str
>>> print 'my name is %s ,age is %d' %(name,age)
my name is huhu ,age is 26
在python2 中使用 print 语句进行打印输出,如果是字符信息的话需要对打印的信息加单引号(‘’)
或双引号(“”),它们本质上没有任何区别,不过使用引号时必须要成对出现。
上面的例子中我们定义一个字符串变量 name 和一个数据变量 age,要想在 print 打印字符串中引用这 两个变量就要用到“格式化字符串”的东西,在 print 打印字符串中指定变量类型,“%s”表示输出的类 型为字符串,“%d”表示输出类型为整型数字。
name 为字符串类型,我们用%d 来指定输出类型就会报错。如果我们不确定变量类型的话可以使用%r, 它的含义是“不管什么都打印出来”。