浏览器的基础控制

Web自动化测试的过程中,经常需要控制浏览器的大小,包括指定大小、全屏显示、前进后退等。这几个操作可以很好模拟用户的行为,同时也能很好测试Web网页的兼容性!

控制大小

指定浏览器大小就是控制浏览器在屏幕上显示的宽度和高度,单位为像素,例如控制大小为900*800,就是指设置浏览器的宽度为900像素,高度为800像素。WebDriver提供控制浏览器大小的API:

# WebDriver控制浏览器大小
# width, 指定宽度
# height,指定高度
set_window_size(self, width, height)

在IDE中,当敲入set_window的时候,会自动补全:

以打开百度为例,设置浏览器大小为800*600,参考示例代码:

from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
# 打开百度
driver.get("https://www.baidu.com")
# 等待3s
sleep(3)
# 设置窗口大小800*600
driver.set_window_size(800, 600)
# 等待2s观察效果
sleep(2)
# 退出
driver.quit()

运行以上代码,可以观察到网页打开3s后,浏览器的大小自动变为800*600。

全屏显示

改变浏览器大小的方法中,还有一个常用的maximize_window,用于最大化浏览器窗口。这个过程其实就是全屏的过程,WebDriver会自动获取显示器屏幕的大小,并应用于浏览器。函数API如下:

# 最大化浏览器,没有参数
# driver.maximize_window()

将设置浏览器大小的代码修改为全屏化,参考代码:

from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
# 打开百度
driver.get("https://www.baidu.com")
# 等待3s
sleep(3)
# 设置窗口大小800*600
driver.maximize_window()
# 等待2s观察效果
sleep(2)
# 退出
driver.quit()

前进、后退、刷新

前进、后退、刷新也是用户对一个网页的常用操作,这个操作是基于浏览器的路径上。浏览网页的过程可以看做旅游的过程,从一个目的地到另一个目的地。对于前进操作,是在后退的基础上的,当用户后退了一个网页,浏览器会自动记录上次后退的路径,如果希望回到上次退出的页面,一个前进的操作就足够了。

后退操作基于浏览历史来的,一步一步返回到上一次浏览的页面。刷新比较简单了,就是重新加载当前页面。

WebDriver提供了前进、后退、刷新操作,API函数:

# 后退
back(self)
# 前进
forward(self)
# 刷新
refresh(self)

当输入back的时候,IDE自然就提示相应的函数,示例:

以打开百度搜索、跳转到百度新闻,并在百度新闻上进行刷新操作的过程来写一个前进、后退、刷新的实例:

from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
# 打开百度搜索
driver.get("https://www.baidu.com")
sleep(1)
# 打开百度新闻
driver.get("https://news.baidu.com")
sleep(1)
# 回退到百度搜索
driver.back()
sleep(1)
# 前进到百度新闻
driver.forwrad()
sleep(1)
# 在百度新闻上刷新
# driver.refresh()

刷新效果,见下图,打开到百度新闻后,refresh的过程,可以看到导航栏上面的网页标题处刷新图标在不停旋转:

最后

浏览器的大小设置、前进、后退、刷新等操作是用户经常进行的操作,也是进行自动化测试经常需要用到的操作。这几个操作能够快速、方便地进行网页间跳转,控制浏览器的属性,方便我们的自动化测试!

IT赶路人

专注IT知识分享