浏览器自动化利器Selenium IDE使用指南

这篇具有很好参考价值的文章主要介绍了浏览器自动化利器Selenium IDE使用指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Selenium 是一个浏览器自动化框架,专门为 W3C WebDriver 规范提供了一个与所有主要的 web 浏览器兼容的平台和语言中立的编码接口。github 地址:https://github.com/SeleniumHQ/selenium

Selenium IDE 是作为 Selenium 在浏览器 Firefox 和 Chrome 的插件,用于记录、重放测试脚本,并且脚本也可以导出到 C#,Java,Ruby 或 Python 等编程语言。github 地址:https://github.com/SeleniumHQ/selenium-ide

一、安装及界面

1.1 安装

Chrome 安装: https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd

Firefox 安装:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/

1.2 界面

在安装完插件后,以Firefox为例,下面是演示界面

浏览器自动化利器Selenium IDE使用指南

新建新的项目demo002后,就是下面界面,最重要的就是下面三个红框内容:命令、目标、值

浏览器自动化利器Selenium IDE使用指南

二、常用命令

所有命令可以通过点击上面Command 下拉框来选择想要的命令。这些命令包括很多assert命令,这些是用来做测试用的,还有一些输入文本,鼠标点击,脚本代码执行控制流命令等等。

所有命令官方文档:https://www.selenium.dev/selenium-ide/docs/en/api/commands,下面会介绍一些常用的命令

2.1 通用

  • click 点击一个元素
  • execute script 执行js脚本,返回数据需要使用 return
  • double click 双击一个元素
  • mouse down/mouse up/mouse over 鼠标按下、抬起、悬停
  • open 打开一个URL
  • send keys 键盘输入

2.2 表单

  • check/uncheck 选择 checkbox/radio
  • type 输入文本
  • select 从下拉菜单中选择一个元素
  • submit 提交表单

2.3 流程控制

  • do/repeat if 创建do循环
  • end 结束 if, while, times 流程控制
  • for each 遍历
  • if/else if/else 条件判断
  • times 循环n次
  • wait for element editable 等待元素可编辑
  • wait for element not present 等待元素不出现在页面上
  • wait for element visible 等待元素可视
  • while 创建循环

三、常用操作

3.1 命令操作

下面是一个例子,使用Selenium IDE通过百度搜索Selenium IDE。通过这个小例子来介绍常用的open/type/click的用法,其它命令需要读文档练习

  • 在输入命令之前需要输入base url,就是想要操作网页的地址

    浏览器自动化利器Selenium IDE使用指南

  • 第一个命令一般就是打开网页,需要使用open命令

  • 命令的添加和删除

    • 在Command 直接选择想要的命令,这适用于输入下一条命令
    • 如果想要插入一条,可以在旧命令上右键菜单操作,注意: 插入新命令会在旧命令上方
    • 删除会删除选中的命令

    浏览器自动化利器Selenium IDE使用指南

  • 使用 type 命令向百度搜索框输入文字,选择type 命令,然后 点击Target 箭头,选择百度界面的文本框,Value输入想要搜索的文字。到这里就可以点击上方的运行按钮测试命令执行了

    浏览器自动化利器Selenium IDE使用指南

  • 点击搜索按钮 这就需要click 命令,依旧需要使用Target 箭头点击百度一下这个按钮

浏览器自动化利器Selenium IDE使用指南

  • 最终出现了百度Selenium IDE的搜索结果

浏览器自动化利器Selenium IDE使用指南

3.2 js脚本

Selenium IDE 支持执行js脚本,使用 execute script 命令,支持自定义变量,使用变量时需要使用${}包裹。

浏览器自动化利器Selenium IDE使用指南

3.3 录制

Selenium IDE 提供录制功能方便命令执行。当点击录制时,会先输入要打开的网站地址,然后会记录操作,这对新手很有帮助。

但是录制功能很有限,它会将你做的操作会记录成命令,但是有一些操作是需要耗时,需要用到命令中的wait等命令等待,录制功能有时候并没有这么智能,能够识别需要等待,所以一般在录制后需要修改录制生成的命令。

还有,录制功能只能重复一遍操作,如果需要重复100次,则需要添加脚本控制。

使用右上角的红色REC开始录制,再次点击结束

浏览器自动化利器Selenium IDE使用指南

3.4 导出

在测试用例上,右键支持导出其他语言的代码,这对做自动化测试很有用

浏览器自动化利器Selenium IDE使用指南

四、实际操作例子

4.1 红黑树插入可视化

  • 脚本

浏览器自动化利器Selenium IDE使用指南

  • 执行结果

浏览器自动化利器Selenium IDE使用指南

4.2 github下载

目标:通过 github 搜索openjdk stars:>1000的项目,第一页10个下载。
实现:通过Selenium IDE 录制了一些操作, 导出为python 脚本,进行一定修改,使用pytest执行
局限:因为访问github速度太慢,下面的代码时灵时不灵,以后再修改文章来源地址https://www.toymoban.com/news/detail-434948.html

# 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 TestDemo001():
  def setup_method(self, method):
    self.driver = webdriver.Firefox()
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def test_demo001(self):
    self.driver.get("https://github.com/")
    WebDriverWait(self.driver, 50).until(expected_conditions.element_to_be_clickable((By.NAME, "q")))
    self.driver.find_element(By.NAME, "q").click()
    self.driver.find_element(By.NAME, "q").send_keys("openjdk stars:>1000")

    self.driver.find_element(By.NAME, "q").send_keys(Keys.ENTER)
    time.sleep(5)
    
    self.vars["i"] = self.driver.execute_script("return 1")
    while self.driver.execute_script("return (arguments[0] <= 10)", self.vars["i"]):
      self.driver.find_element(By.CSS_SELECTOR, ".repo-list-item:nth-child(" + str(self.vars["i"]) + ") .v-align-middle").click()
      # time.sleep(5)
      WebDriverWait(self.driver, 50).until(expected_conditions.element_to_be_clickable((By.CSS_SELECTOR, ".position-relative > .btn-primary")))
      self.driver.find_element(By.CSS_SELECTOR, ".position-relative > .btn-primary").click()
    
      self.driver.find_element(By.CLASS_NAME, "octicon-file-zip").click()
      time.sleep(1)
      self.vars["i"] = self.driver.execute_script("return arguments[0]+1", self.vars["i"])
      self.driver.execute_script("window.history.back()")
      time.sleep(10)
    # 等待下载完成
    time.sleep(10 * 60)

参考

  1. https://www.selenium.dev/selenium-ide/docs/en/introduction/getting-started

到了这里,关于浏览器自动化利器Selenium IDE使用指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium浏览器自动化测试框架详解

    目录   selenium简介 介绍 功能 优势 基本使用 获取单节点 获取多节点 节点交互 动作链# 执行JavaScript代码 获取节点信息 切换frame 延时等待 前进和后退 cookies 选项卡管理 异常处理 ​编辑 选项卡切换 无头浏览器 总结: Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试

    2024年02月08日
    浏览(50)
  • Selenium浏览器自动化怎么上传文件

    Selenium 封装了现成的文件上传操作。但是随着现代前端框架的发展,文件上传的方式越来越多样。而有一些文件上传的控件,要做自动化控制会更复杂一些,这篇文章主要讨论在复杂情况下,如何通过自动化完成文件上传。 如果页面需要文件上传,那么在大多数情况下,都能

    2024年02月08日
    浏览(47)
  • 【软件测试/自动化测试】WebDriver+Selenium实现浏览器自动化

    前言 使用场景 原理 环境准备  开发 First Script WebDriver API 浏览器 元素 总结 Selenium是一款可以自动化操作浏览器的开源项目,最初的目的是浏览器功能的自动化测试,但是随着项目的发展,人们根据它的特性也用来做一些更多的有意思的功能而不仅仅是UI的自动化测试工具。

    2024年02月08日
    浏览(82)
  • python自动化测试selenium浏览器操作

    2024年02月16日
    浏览(74)
  • selenium浏览器自动化测试【基于java】

    Selenium 是一个用于Web应用程序的自动化测试工具。它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作。 chrome.exe 默认安装位置:C:Program FilesGoogleChromeApplicationchrome.exe 结果我的在:C:Users91073AppDataLocalGoogleChromeApplicationchrome.exe 。。。为啥? 下载驱动 最新

    2024年02月04日
    浏览(52)
  • Selenium浏览器自动化测试框架简单介绍

    目录 selenium简介 介绍 功能 优势 基本使用 获取单节点 获取多节点 节点交互 动作链 执行JavaScript代码 获取节点信息 切换frame 延时等待 前进和后退 cookies 选项卡管理 异常处理 选项卡切换 无头浏览器 介绍 Selenium [1]  是一个用于Web应用程序测试的工具。Selenium测试直接运行在

    2024年02月13日
    浏览(40)
  • Selenium教程:自动化浏览器测试工具

    Selenium是一款用于自动化浏览器测试的工具,它提供了一系列的API和功能,使得开发人员可以编写脚本来模拟用户在浏览器中的行为。无论是在Web应用程序的功能测试、性能测试还是数据抓取方面,Selenium都是一个强大且广泛使用的工具。 在开始使用Selenium之前,您需要进行安

    2024年02月07日
    浏览(81)
  • 浏览器自动化脚本 Selenium WebDriver 快速入门

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客 文章浏览阅读2.7k次,点赞85次,收藏12次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、

    2024年03月09日
    浏览(74)
  • Python selenium自动化操作Chrome浏览器

    ​ ​ 活动地址:CSDN21天学习挑战赛 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持目前比较主流的浏览器。它也实现了诸多自动化功能,比如软件自动化测试,检测软件与浏览器兼容性,自动录制、生成不同语言

    2024年02月02日
    浏览(64)
  • 使用Selenium控制Chrome浏览器 --工作自动化

    使用Selenium控制Chrome浏览器 --工作自动化 最近朋友在用秒账做帐时,由于销售单量很大,重复录入工作一天一录就近五个小时,寻求帮助,问能不能把这重复劳动减少些,看后分析,使用web自动化,应能解决问题,特此记录如下:  Selenium 简介:Selenium 是一套完整的web应用程

    2024年02月01日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包