浏览器的操作 浏览器最大化 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的 #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 ' 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, 它的含义是“不管什么都打印出来”。 |
|