前言
Selenium IDE(集成开发环境)使用来开发Selenium测试用例的工具,通过记录和回放功能可以快速创建测试用例,对开发测试用例提供有效帮助。Selenium IDE学习成本低,只能用来分析元素的原型,而不能创建全套复杂的测试用例。
Selenium IDE非常容易安装和上手,在学习selenium过程中,selenium IDE仅适合作为辅助工具,不过希望不要过多倚重,学习selenium的重点还是要放在webdriver API上。
一、Selenium IDE的安装
目前市场用于安装selenium IDE比较多的是谷歌浏览器和FireFox浏览器,但谷歌浏览器的服务器在国外,不管是安装插件或是需要作什么,很多操作都需要翻墙才能进行。本文主要针对Firefox浏览器来说明,若习惯了谷歌浏览器并且能够翻墙成功的小伙伴,可以使用谷歌浏览器,安装与应用与FireFox浏览器一样。
1、在FireFox组件中进行安装
(1)打开Firefox浏览器,点击右上角,选择【扩展和主题】,如下图
(2)在【寻找更多附加组件】输入框输入“selenium IDE”
(3)检索页面如下
(4)点击selenium IDE组件,进入组件详情页,点击【添加到FireFox】按钮即可。如下图
(5)selenium IDE安装完成后,在浏览器的右上角会出现确定提示框,点击确定,就可以在扩展工具栏里面看到selenium IDE。如下图:
2、通过selenium官网进行安装
很不凑巧,在编写这文章的时候,Selenium官网打不开,有些图片后续补上
(1)打开Firefox浏览器,输入网址:https://www.Seleniumhq.org/docs/02_Selenium_ide.jsp;
(2)单击【Selenium IDE site】链接,进入Selenium IDE下载页面;
(3)在Selenium IDE下载页面中单击【FIREFOX DOWNLOAD】按钮,进入到添加IDE组件页面,点击【添加到FireFox】按钮,即可添加成功。
二、Selenium IDE的运行
1、录制与回放
(1)点击Firefox浏览器扩展栏中按钮,打开Selenium IDE。
弹出插件首页,如下图
(2)点击【Record a new test in a new project】,在对话框输入工程名,点击【OK】。
(3)在对话框中设置工程的BASE URL为:https://www.baidu.com,然后单继【START RECORDING】按钮启动录制
(4)启动录制后会打开前面提供的被测链接地址,以百度搜索为例,在百度首页进行操作。页面右下角有个【Selenium IDE is recording】,表示正在录制中。
- 在百度页面输入【测试】;
- 单击【百度一下】按钮;
- 关闭浏览器。
(5)在selenium IDE中单击【停止】按钮,如下图:
(6)单击【停止】按钮后弹出test对话框,填写test名称后,再次点击【OK】
(7)页面显示的就是录制后的脚本
(8)最后点击【Run all tests】按钮或是【Run current test】按钮,回放录制的测试用例。测试用例通过后,颜色变成绿色。 1
三、Selenium IDE界面介绍
1、菜单栏
菜单栏位于页面最顶部,常用的菜单保罗:工程名称、新建工程、打开工程、保存工程。
2、工具栏
- 全部运行:若有多个测试用例,点击该按钮将会把所有的测试用例全部执行一遍。
- 运行测试:简单理解就是回放或是执行当前选中的测试用例。
- 步骤功能:逐步执行用例,类似于调试。
- 速度控制:用来控制用例执行或是回放的速度。
- 禁用断点:禁用或隐藏有问题的用例,方便其他没问题的用例继续执行。
- 紧急暂停:出现问题或是情况,紧急暂停用例执行。
- 录制按钮:录制用户在浏览器上的操作脚本。
3、导航模块
导航模块分为三部分:Tests、Test suites、Excuting。
3.1、Tests选项
这边提一下导出,这个功能还比较实用;点击【Export】弹出导出对话框,如下图:
下面是导出的代码,可以进行用例的编辑,对python有点基础的小伙伴来说方便很多。
# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
class TestHelloworlsearch():
def setup_method(self, method):
self.driver = webdriver.Firefox()
self.vars = {}
def teardown_method(self, method):
self.driver.quit()
def test_helloworlsearch(self):
self.driver.get("https://www.baidu.com/")
self.driver.set_window_size(750, 688)
self.driver.find_element(By.ID, "kw").send_keys("hello world")
self.driver.find_element(By.ID, "kw").send_keys(Keys.ENTER)
self.driver.find_element(By.ID, "kw").click()
self.driver.find_element(By.ID, "kw").send_keys("helloworld")
self.driver.find_element(By.ID, "kw").send_keys(Keys.ENTER)
elements = self.driver.find_elements(By.CSS_SELECTOR, ".cu-line-clamp-1 > span > span")
assert len(elements) > 0
3.2、Test suites选项
Test suites选项用例测试套件管理,类似于一个包或是文件夹,可以整合多个测试用例。
3.3、Excuting选项
这个选项主要就是查看执行结果。
4、脚本编辑区域
脚本编辑区域显示IDE记录的所有测试脚本和交互信息。编辑区域分为三列:Command(命令)、Target(目标)、Value(值),如图:
- Command:可以将Command当作是浏览器元素上执行的实际操作。打开链接,命令是open;单击链接或是按钮,命令是click;输入类型是type。
- Target:执行操作的web元素以及locator属性。
- Value:可选字段,当作发送或是设置一些值,需要用到value。
在用例列表,右击有个【insert new command】,可以增加用例,