在 Selenium IDE 中进行代码导出

Selenium IDE现在支持将测试导出为Java JUnit代码,便于在Selenium WebDriver中使用。开发团队鼓励社区成员贡献新语言和测试框架的支持。导出时可选择源跟踪代码注释,并提供了详细的贡献指南,包括创建新包、更新定位器和命令、创建钩子等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Selenium IDE并没有停滞不前。自去年重新启动以来,Selenium IDE开发人员一直在忙于响应用户增强请求。刚刚发布了一项要求很高的功能,能够从Selenium IDE导出代码以在Selenium WebDriver中使用。现在,从Selenium IDE导出的代码可与Java JUnit一起使用。开发团队正在寻找像您一样的社区成员,来增加Selenium IDE的功能。

该代码正在托管中,可在Github上使用。您可以查看示例并开发自己的导出功能。

但是,首先,这是新功能。

入门

您可以通过右键单击一个或一组测试将测试导出到WebDriver代码。
替代文字
替代文字

测试或套件,选择“ 导出”,选择目标语言,然后单击“ 导出”

这会将包含导出的目标语言代码的文件保存到浏览器的下载目录中。

原产地跟踪代码注释

导出时,有一个可选的切换开关可启用源跟踪代码注释。

这会将内联代码注释放置在导出的文件中,其中包含有关生成该文件的Selenium IDE中的测试步骤的详细信息。

支持的出口

目前,Selenium IDE导出到Java。具体来说,Java for JUnit。

Selenium IDE团队打算在每种语言的至少一个测试框架中支持Selenium的所有官方支持的编程语言绑定(例如Java,JavaScript,C#,Python和Ruby)。

欢迎提供帮助以添加特定语言的新语言和测试框架。有关如何操作的详细信息,请参见如何贡献

Java JUnit

Java JUnit的导出代码可与Java 8,JUnit 4.12和最新版本的Selenium 3一起使用。

您应该能够将导出的Java文件放入带有列出这些依赖项的pom.xml文件的标准Maven目录结构中并运行它。

为Selenium IDE的代码导出做贡献

代码导出以模块化方式构建,以帮助实现贡献。

每种语言和测试框架都有自己的包含要导出代码的包。每个代码段都映射到Selenium IDE中的命令,并且每个程序包都依赖于底层的“核心”程序包,该程序包负责所有繁重的工作。

以下是在已建立的语言中为新语言或新测试框架创建程序包的步骤。

1.创建一个新包

首先,复制一个现有的语言包(例如,packages / code-export-java-junit)并将其重命名(例如,package.json文件中的文件夹和详细信息)为您想要贡献的目标语言和框架。 (例如,packages / code-export-ruby-rspec等)。

接下来,将新包作为依赖项添加到code-export中的package.json中

最后,从项目的根开始运行纱线。

2.更新定位器和命令

代码导出的核心功能是生成特定于语言的字符串。其中最突出的是命令和定位器策略(例如,“ by”查找的语法)。

对于给定的语言,每种语言都有一个文件,以及随附的测试文件。

您可以在github中看到一个示例:packages / code-export-java-junit。

声明新命令时,可以将其输出指定为字符串,也可以指定指定缩进级别对象

内置在代码导出中的是一个前缀控件,用于控制输出代码的缩进。如果命令的输出是冗长的并且您想明确显示,则此结构很有用。或者,如果命令更改了紧随其后的命令的缩进级别。

3.创建钩子

钩子构成了要导出的代码的大部分结构(例如,套件,测试以及其中包含的所有内容,例如设置,拆卸等)。它们还使插件能够将代码导出到测试或套件的不同部分。

有9种不同的钩子:

  • afterAll(所有测试完成后)
  • afterEach(在每个测试完成之后– afterAfterAll之前)
  • beforeAll(在运行所有测试之前)
  • beforeEach(在运行每个测试之前–在beforeAll之后)
  • 命令(为插件添加的新命令发出代码)
  • 依赖(添加其他语言依赖)
  • inEachBegin(在每个测试的开头)
  • inEachEnd(在每个测试中,在测试结束时)
  • 变量(声明将在整个套件中使用的新变量)

在此处查看正在package / code-export-java-junit中实现的钩子示例:Hooks

4.更新语言特定的属性

您需要使用每种语言指定一些底层细节。诸如缩进多少空间,如何声明方法,测试,套件等之类的事情。

在以下位置的packages / code-export-java-junit中找到正在实现的示例:语言特定的选项

5.将其添加到混合物中

将其他所有内容准备就绪后,将其连接起来以在UI中使用。

这在package / code-export / src / index.js中是可能的。

您将需要:

  • 导入新的代码导出包
  • 使用有关您的代码导出语言的详细信息更新availableLanguage
  • 更新导出程序以引用您的代码导出名称并导入

6.测试和调整

最佳的代码导出端到端测试将应用一系列测试,并验证它们是否按预期运行。

从开发版本中,访问种子测试,并验证所有标准库命令均适用于您的新语言。

测试,修复并再次测试,直到您对最终结果充满信心。

7.提交公关

您已经完成了最困难的部分。现在只需提交PR。请针对v3branch这样做。

有关Selenium IDE的更多信息:

本文的原始版本显示在Selenium IDE文档站点中。

Selenium IDE页面

Selenium IDE页面的Applitools

Selenium IDE视频

from:https://dev.to//michaelvisualai/code-export-in-selenium-ide-121d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值