前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Selenium IDE命令行运行器

Selenium IDE命令行运行器

作者头像
wangmcn
发布于 2023-01-05 09:52:01
发布于 2023-01-05 09:52:01
2.2K00
代码可运行
举报
文章被收录于专栏:AllTests软件测试AllTests软件测试
运行总次数:0
代码可运行

Selenium IDE命令行运行器

目录

1、前言

2、安装

3、运行

4、运行时配置

5、应用于框架

6、高级选项

1、前言

Selenium IDE 通常是从 Chrome 或 Firefox 的 Web 应用商店进行安装的,安装后通过在浏览器的菜单栏中单击其图标来启动它,并进行脚本的录制与编写,之后回放执行该脚本。

本篇将介绍安装 Selenium IDE 命令行运行程序、并获取必要的浏览器驱动程序(如果在本地运行测试)以及使用所需选项从命令提示符启动运行程序等操作。

2、安装

1、首先需要安装 Node.js(版本8或10)。

2、之后打开命令行安装 selenium-side-runner(Selenium IDE 命令行运行程序)即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g selenium-side-runner

3、安装浏览器驱动程序

Selenium 通过称为浏览器驱动程序的小型二进制应用程序与每个浏览器通信。每个浏览器都有自己的驱动程序,可以手动下载并添加到系统路径,或者使用包管理器安装最新版本的浏览器驱动程序(推荐)。

(1)对于 Chrome,需要 ChromeDriver 驱动。

下载地址:

https://chromedriver.chromium.org/

命令行安装驱动:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g chromedriver

(2)对于 Edge,需要 EdgeDriver 驱动。

下载地址:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

命令行安装驱动:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g edgedriver

(3)对于 Firefox,需要 geckodriver 驱动。

下载地址:

https://github.com/mozilla/geckodriver

命令行安装驱动:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g geckodriver

(4)对于 IE,需要 IEDriver 驱动。

下载地址:

https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

命令行安装驱动:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g iedriver

(5)对于 Safari,需要 SafariDriver 驱动。

下载地址:

https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari

3、运行

使用 selenium-side-runner 命令,然后再调用已保存的项目文件路径即可。

例如使用 Selenium IDE 进行录制脚本,并运行成功,将脚本保存到 D 盘根目录下,如D:\ test_demo.side。

打开命令行工具,执行如下命令运行脚本。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner D:\test_demo.side

执行成功。

如果有多个 .side 文件,可以使用通配符(例如 D:\*.side)。

运行多个 .side 文件时,它将在多个浏览器窗口中并行启动测试,分布在 n 个进程中(其中 n 是计算机上可用 CPU 内核的数量)。

注:提示如下报错信息,则进行手动下载驱动,并配置环境变量即可。

The ChromeDriver could not be found on the current PATH. Please download the latest version of the ChromeDriver fro

m http://chromedriver.storage.googleapis.com/index.html and ensure it can be found on your PATH.

(1)首先查看浏览器版本,并下载对应版本的驱动。

如浏览器版本106.0.5249.119。

则驱动下载106.0.5249.61。

(2)将驱动放在本地 chrome.exe 同级目录里。

(3)在环境变量的 PATH 里添加 chromedriver.exe 同级目录路径,之后保存就可以了。

4、运行时配置

1、在本地指定不同的浏览器上运行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner -c "browserName=chrome"
selenium-side-runner -c "browserName='internet explorer'"
selenium-side-runner -c "browserName=edge"
selenium-side-runner -c "browserName=firefox"
selenium-side-runner -c "browserName=safari"

2、在 Selenium Grid 上运行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --server http://localhost:4444/wd/hub -c "browserName='chrome' version='106.0' platform='Windows 10'"

3、指定并行进程的数量

在 Selenium Grid 上运行时,你可能希望控制正在运行的并行会话数,可以使用 -w n 命令标志(其中 n 是想要的进程数)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner -w 10 --server http://localhost:4444/wd/hub

4、Chrome 特定功能

如果你在计算机上的非标准位置安装了 Chrome,则可以指定路径,以便 ChromeDriver 知道要查找的位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner -c "goog:chromeOptions.binary='/path/to/non-standard/Chrome/install'"

无头运行测试。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner -c "goog:chromeOptions.args=[disable-infobars, headless]"

5、应用于框架

1、更改基本 URL。

通过指定不同的基本 URL,可以轻松地将测试指向不同的环境(例如开发环境、测试环境、生产环境)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --base-url https://localhost

2、过滤器测试

可以选择使用 --filter target 命令标志(其中 target 是正则表达式值)运行测试的目标子集。仅运行包含给定搜索条件的测试名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --filter smoke

3、将测试结果输出到文件

如果需要将测试结果导出到文件中(例如,当作为 CI 进程的一部分运行时),可以使用 --output-directory 和 --output-format。

--output-directory 定义了测试结果文件的放置位置,可以采用绝对路径或相对路径。

--output-format 定义用于测试结果文件的格式,可以是 jest(例如 JSON)或 junit(例如 XML),默认格式为 jest(未指定类型)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --output-directory=results
selenium-side-runner --output-directory=results --output-format=jest
selenium-side-runner --output-directory=results --output-format=junit

4、指定默认配置

可以将运行时参数存储在配置文件中,而不是记住所有需要的命令行参数。

两种配置方式。

方式一:

运行测试的目录里创建 .side.yml 文件,selenium-side-runner 会自动识别它。下面是文件内容的示例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
capabilities:
  browserName: "firefox"
baseUrl: "https://www.seleniumhq.org"
server: "http://localhost:4444/wd/hub"

如果要忽略该文件并使用命令行参数,请在运行时与其他命令一起使用 --no-sideyml。

方式二:

替代 .side.yml 文件,可以在 YAML 文件中指定运行时参数,并使用选择的名称和位置,然后在运行测试时指定其位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --config-file "/path/to/your/config.yaml"

6、高级选项

1、参数

指定自己独特的运行时参数,可以通过 --params 标志使用它们。

(1)基本用法

指定参数的名称和值,最基本的方法是指定一个字符串值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --params "a='example-value'"

(2)嵌套参数

参数可以使用点表示嵌套。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --params "a.b='another example-value'"

(3)数组值

可以指定字母数字数组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --params "a.b.c=[1,2,3]"

(4)多个参数

--params 只能调用一次,但可以通过空格分隔指定多个参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --params "a='example-value' a.b='another example-value' a.b.c=[1,2,3]"

2、使用代理服务器

可以在运行程序中使用以下选项将代理功能传递给浏览器。

(1)直接代理

此选项将 WebDriver 配置为绕过所有浏览器代理。

从命令行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --proxy-type=direct

在 .side.yaml 文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxyType: direct

(2)手动代理

手动配置浏览器代理。

从命令行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --proxy-type=manual --proxy-options="http=localhost:434 bypass=[http://localhost:434, http://localhost:8080]"

在 .side.yaml 文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxyType: manual
proxyOptions:
  http: http://localhost:434
  https: http://localhost:434
  ftp: http://localhost:434
  bypass:
    - http://localhost:8080
    - http://host:434
    - http://somethingelse:32

(3)PAC 代理

配置 WebDriver 以使用给定 URL 的 PAC 文件设置浏览器代理。

从命令行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --proxy-type=pac --proxy-options="http://localhost/pac"

在 .side.yaml 文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxyType: pac
proxyOptions: http://localhost/pac

(4)SOCKS 代理

为 SOCKS 代理创建代理配置。

从命令行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --proxy-type=socks --proxy-options="socksProxy=localhost:434 socksVersion=5"

在 .side.yaml 文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxyType: socks
proxyOptions:
  socksProxy: localhost:434
  socksVersion: 5

(5)系统代理

配置 WebDriver 以使用当前系统的代理。

从命令行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium-side-runner --proxy-type=system

在 .side.yaml 文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxyType: system
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一篇文章掌握nightwatch自动化测试
nightwatch.js是一个web-ui自动化测试框架,被vue-cli深度整合进来。如果一个项目是基于vue-cli搭建的,基本可以做到开箱即用。
frontoldman
2019/09/03
1.1K0
Selenium 如何使用代理 IP 进行 Web 爬虫(无认证实现、有账号密码认证实现)
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/01/02
4K0
Selenium 如何使用代理 IP 进行 Web 爬虫(无认证实现、有账号密码认证实现)
Python爬虫教程:Selenium可视化爬虫的快速入门
Selenium最初是为自动化Web应用程序的测试而设计的。它支持多种编程语言,并能与主流的浏览器进行交互。使用Selenium,我们可以模拟用户在浏览器中的各种行为,如点击、滚动、输入等,这使得它成为开发可视化爬虫的理想选择。
小白学大数据
2024/10/18
2270
Selenium4 IDE特性:无代码趋势和SIDE Runner
「Selenium4 IDE」并不完美,但其优点在于,它不仅仅是功能强大的记录和回放工具。尽管不能认为它是广泛用于Selenium测试自动化的Selenium WebDriver的替代品,但它无疑为自动化浏览器测试增加了价值。这也是让我继续探索「Selenium4 IDE」新特性的的原因。
FunTester
2020/09/08
1.1K0
一步步教你用Python Selenium抓取动态网页任意行数据
在现代网络中,动态网页越来越普遍,这使得数据抓取变得更具挑战性。传统的静态网页抓取方法在处理动态内容时往往力不从心。本文将详细介绍如何使用Python Selenium抓取动态网页中的任意行数据,并结合代理IP技术以提高抓取的成功率和效率。
jackcode
2024/06/19
2250
一步步教你用Python Selenium抓取动态网页任意行数据
Python+Selenium笔记(十一):配置selenium Grid
(一) 前言 Selenium Grid可以将测试分布在若干个物理或虚拟机器上,从而实现分布方式或并行方式执行测试。 这个链接是官方的相关说明。 https://github.com/Selenium
free赖权华
2018/04/27
2.4K0
Python+Selenium笔记(十一):配置selenium Grid
Python爬虫教程:Selenium可视化爬虫的快速入门
网络爬虫作为获取数据的一种手段,其重要性日益凸显。Python语言以其简洁明了的语法和强大的库支持,成为编写爬虫的首选语言之一。Selenium是一个用于Web应用程序测试的工具,它能够模拟用户在浏览器中的操作,非常适合用来开发可视化爬虫。本文将带你快速入门Python Selenium可视化爬虫的开发。
小白学大数据
2024/10/17
3100
用python调用selenium获取浏览器新窗口的 cookie 信息
Cookie 是网站用于存储用户信息的一些数据文件,它们可以使网站记住用户的登录状态、偏好设置和本地内容等。Cookie 有两种类型:第一方 Cookie 是由您访问过的网站创建的,第三方 Cookie 是由其他网站创建的。
jackcode
2023/05/17
2.8K0
用python调用selenium获取浏览器新窗口的 cookie 信息
selenium ,webdriver 运行原理与机制
driver翻译过来是驱动,司机的意思。如果将webdriver比做成司机,竟然非常恰当。
赵云龙龙
2019/07/11
1.4K0
技术分享 | Selenium多浏览器处理
在 Windows 下比较特殊,要使用 Windows 下的 set 来给变量赋值
Hogwarts_测试
2022/05/12
2480
selenium webdriver 启动三大浏览器Firefox,Chrome,IE
     1. 进入Python官方网站:https://www.python.org/downloads/  下载并安装最新版本的Python(建议安装Python3) 。
拓荒者
2019/03/11
1.2K0
selenium webdriver 启动三大浏览器Firefox,Chrome,IE
Selenium与WebDriver:Errno 8 Exec格式错误的多种解决方案
在使用Selenium和WebDriver进行网页自动化时,可能会遇到各种错误。其中一个常见问题是执行格式错误(Errno 8 Exec format error)。这个错误通常在运行ChromeDriver时出现,错误提示涉及路径中的某个文件,如THIRD_PARTY_NOTICES.chromedriver。本文将概述这个问题的背景,并提供多种解决方案,包括如何使用代理IP技术进行数据抓取。
jackcode
2024/07/30
3210
Selenium与WebDriver:Errno 8 Exec格式错误的多种解决方案
一文讲透彻selenium
2004年在 ThoughtWorks 公司,一个叫做 Jason Huggins 为了减少手工测试的工作,自己写了一套 JavaScript 的库,这套库可以进行页面交互,并且可以重复的在不同浏览器上进行重复的测试操作。这套库后来变为了 Selenium Core,为Selenium Remote Control (RC) 和 Selenium IDE提供了坚实的核心基础能力。[1]
胡八万
2022/11/17
8300
一文讲透彻selenium
如何利用selenium使用代理IP?
Selenium是一种用于自动化浏览器的工具,可以用于模拟用户行为,例如访问网站、填写表单、单击按钮等,也可以使用Selenium和HTTP代理来模拟真实用户行为,绕过网站反爬虫机制,以及保护我们的隐私。
阿秋数据采集
2023/02/28
4K0
知识点讲解四:selenium教程
环境: Python3.6.5 编译器: Sublime Text 3 联系方式: ke.zb@qq.com 第三方库: seleniu
K同学啊
2019/01/28
1.2K0
Selenium 原理探秘
Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试。早期也即Selenium1.x时期主要使用Selenium RC(S
朱丽琪
2017/06/14
5.8K0
Selenium 原理探秘
【UI 自动化测试平台解决方案】使用 Selenium IDE 录制 UI 自动化测试脚本UI 自动化录制:Selenium IDESeleniumSelenium IDE
通过 Selenium IDE 录制并重播功能,可以快速创建UI 自动化测试用例。
一个会写诗的程序员
2018/12/14
3K0
【UI 自动化测试平台解决方案】使用 Selenium IDE 录制 UI 自动化测试脚本UI 自动化录制:Selenium IDESeleniumSelenium IDE
安装Selenium
自动化测试,顾名思义就是让浏览器自动运行,而无需手动操作。这和我们爬虫工作原理有些相似,我们爬虫也需要让浏览器运行网址来获取我们需要的内容。所以我们今天来介绍一款自动化测试工具—— Selenium ,并将它运用到爬虫中来。
HLee
2021/06/01
1.2K0
安装Selenium
自动化-Appium-第一个Demo-Web(Java版)
本章Web所指的是移动端(模拟器/真机)里的浏览器(如:Chrome、Safari)。
wangmcn
2022/07/25
2.2K0
自动化-Appium-第一个Demo-Web(Java版)
常用selenium浏览器配置
selenium webdriver在get()方法会一直等待页面加载完毕才会执行后面的,可如果加载时间太长会导致后续操作无法进行。有时我们要的信息已经加载出来了,再继续加载网页就没有意义了。 可以通过set_page_load_time()方法来设定时间 然后捕获TimeoutException异常,并通过执行Javascript来停止页面加载 window.stop()
十四君
2019/11/23
2.6K0
常用selenium浏览器配置
推荐阅读
相关推荐
一篇文章掌握nightwatch自动化测试
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文