Selenium的测试脚本可以使用多种编程语言书写,Java、C#、JavaScript、python、Ruby都可以书写。本文将以python为例,之所以选用python,因为python简单易学、又功能强大、还有丰富的扩展库供我们使用,现在测试招聘中python出现的概率非常高。
第一个测试脚本,以百度为例:
# -*- coding:utf-8 -*-
from selenium import webdriver
# 打开百度
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
# 输入Selenium并点击'百度一下'按钮
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
# 关闭Firefox
driver.close()
driver.quit()
关于元素的定位我使用的是Firebug、Firepath、Firefinder三个工具,这三个Firefox的插件对于我们的Selenium的元素定位很有帮助。
下面对脚本进行解析一下:
# -*- coding:utf-8 -*-
用于指定python文件的编码:Python2中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为只要在文件开头加入# -*- coding:utf-8 -*-、# coding=utf-8或者# coding:utf-8 就行了。
from selenium import webdriver
导入Selenium的webdriver的包,这样才可以使用其中的方法。
driver = webdriver.Firefox()
指定我们需要哪一个浏览器来模拟操作,或者可以叫做初始化Firefox driver;当然也可以指定为IE、Chrome等。
driver.find_element_by_id("kw").send_keys("selenium")
定位到百度的文本输入框并输入“selenium”字符。
<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd">
一个控件会有多个属性(id、name、class name、link text等等),可以通过调用不同的方法通过不同的属性进行元素定位。send_keys()向当前的元素中输入字符。
driver.find_element_by_id("su").click()
通过ID定位到“百度一下”的按钮,并点击(click()方法)
driver.close()
driver.quit()
在脚本完成之后需要关闭打开浏览器、退出当前的driver。close()方法是关闭当前的窗口、quit()是退出driver并关闭所有关联的窗口。
这就是一个简单的使用selenium的自动化测试脚本,其实复杂的脚本也是在这个思想的基础上完成的:启动driver打开browser -> 定位到需要操作的element -> 执行操作 -> 验证操作 -> 关闭driver和浏览器。
本文介绍了如何使用Python和Selenium编写自动化测试脚本。以百度搜索为例,通过安装Firefox的辅助插件进行元素定位,展示了如何输入文本、点击按钮等基本操作。最后,解释了测试脚本的基本结构:启动浏览器、执行操作、验证和关闭。
1万+

被折叠的 条评论
为什么被折叠?



