
2.1 从一个测试脚本说起
万事开头难。在了解什么是Selenium之前,我们先看一个最简单的Selenium脚本究竟是什么样的。定一个小目标,编写脚本,实现访问Bing搜索页面,检查页面标题中是否包含了Bing这一内容。
以下是用Python实现的示例。
1 from selenium import webdriver 2 driver=webdriver.Firefox() 3 driver.get("http://cn.bing.com/") 4 assert‘Bing'in driver.title 5 driver.quit()
让我们来逐一解读它们的作用:
第1行,引入了selenium webdriver模块。
第2行,初始化了Firefox webdriver对象,对象名为driver。这一行会启动你本地机器上的Firefox程序,打开一个Firefox窗口。
第3行,调用driver对象的get方法,Firefox浏览器会跳转到Bing搜索页面。
第4行,检查页面标题是否包含了Bing这一字符串内容。若是,则测试用例通过。
第5行,Firefox程序退出,浏览器窗口关闭。
读到这里,想必你的脑中有许多问号。Selenium就是一个类库吗?Selenium的工作原理是怎样的?为什么它打开的Firefox窗口跟我手动打开的不一样,那些浏览器插件都没有加载?Selenium有没有自动生成脚本的录制功能呢?支持分布式测试吗?
别着急,请带着这些问题阅读后面几个小节的内容,你将豁然开朗。
如果你迫不及待地想要运行这个Python脚本,可以按照以下步骤去执行。你也可以跳过这些内容,后续章节将有更为详细的说明。
(1)确保本地Python环境、Firefox浏览器已经准备好。
(2)下载Python selenium包,地址为https://pypi.python.org/pypi/selenium。
(3)在Python命令窗口下逐行输入上述的示例代码,查看效果。
若你下载的selenium包的版本是3.0+,还需要在本地安装geckodriver。下载地址:https://github.com/mozilla/geckodriver/releases。