首页 > 技术文章 > Selenium IDE的使用方法

dyd168 2021-05-24 21:23 原文

Selenium介绍

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。Selenium家庭成员有三个,分别是Selenium WebDriver、Selenium IDE和Selenium Grid,这篇博客主要介绍Selenium IDE的使用方法。Selenium官网地址

Selenium IDE介绍

Selenium IDE是Chrome和FireFox浏览器中的插件,Selenium IDE结合浏览器提供脚本录制、脚本回放、脚本编辑、元素定位等功能,使用Selenium IDE可以将录制的脚本生成相应单元测试框架的自动化测试脚本,录制脚本支持导出Python pytest、Java JUnit、 NUnit等格式

Selenium IDE安装

Chrome浏览器安装

官网下载地址:点击进入,通过浏览器安装如下图,此方式不FQ无法进入页面

推荐使用此网站下载Chrome的插件,下载后解压zip压缩包,将selenium-ide.crx拖至Chrome拓展程序页面,等弹窗出现点击【添加】即可

FireFox浏览器安装

无需FQ,通过浏览器直接安装即可

Selenium IDE使用

Chrome和FireFox浏览器插件安装成功后,使用方法都是一样的,此处示例使用的是Chrome浏览器

点击浏览器菜单栏中的Selenium IDE图标,进入初始界面

Selenium IDE 窗口功能介绍,

举个栗子:点击【Record a new test in a new project】,输入项目名称点击【OK】,输入URL地址点击【START RECORDING】,开始录制,自动打开界面,在界面进行操作后关闭窗口,点击录制停止按钮,输入用例标题点击【OK】,一条用例录制完成,如下图

导出用例

选中要导出的用例,点击鼠标右键→【Export】,选择要导出的格式,点击【Export】

导出测试套件也是相同的方法,先选择【Test Suites】,选择要导出的测试套件,点击鼠标右键→【Export】,选择要导出的格式,点击【Export】即可

以下是导出的上图中的用例代码

# 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 TestUntitled():
  def setup_method(self, method):
    self.driver = webdriver.Chrome()
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def wait_for_window(self, timeout = 2):
    time.sleep(round(timeout / 1000))
    wh_now = self.driver.window_handles
    wh_then = self.vars["window_handles"]
    if len(wh_now) > len(wh_then):
      return set(wh_now).difference(set(wh_then)).pop()
  
  def test_untitled(self):
    self.driver.get("https://www.bilibili.com/")
    self.driver.set_window_size(1509, 918)
    self.driver.find_element(By.CSS_SELECTOR, ".nav-search-keyword").click()
    self.driver.find_element(By.CSS_SELECTOR, ".nav-search-keyword").send_keys("罗翔")
    self.vars["window_handles"] = self.driver.window_handles
    self.driver.find_element(By.CSS_SELECTOR, ".nav-search-submit").click()
    self.vars["win7307"] = self.wait_for_window(2000)
    self.vars["root"] = self.driver.current_window_handle
    self.driver.switch_to.window(self.vars["win7307"])
    self.driver.close()

通过PyCharm运行以上代码,需要先配置好环境

① 安装pytest,点击【File】→【Settings】→【Project:xxx.py】→【Python:Interpreter】点击添加按钮【+】,搜索pytest,选择安装包,点击【Install Package】,若还缺少其它包,通过此方法添加即可

② 已配置好WebDriver,ChromeDriver或者FireFoxDriver,具体依据所选浏览器,以ChromeDriver为例,配置方法请查看此文章

③ 在代码后添加main函数,如下:

if __name__ == '__main__':
    pytest.main()

或者在Terminal中使用命令运行,如下:

python -m pytest test_case.py

通过PyCharm运行导出的用例,结果如下图,PyCharm中会显示测试结果

Selenium IDE其它操作

Selenium IDE有助于更深层次的学习Selenium,初学时期可以使用此工具,随着技能的提升,后续应自己多写测试脚本,所以,不再做过多介绍,后面继续学习提升自主编写测试脚本的能力

推荐阅读