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文档
- Selenium IDE教程
- Google Chrome商店中的Selenium IDE
- Firefox商店上的Selenium IDE
- Selenium IDE GitHub页面
- Selenium IDE(SIDE Runner)npm页面
- Selenium IDE在Stackoverflow上
- Quora上的Selenium IDE
- Selenium IDE在Reddit上
- Hackernews上的Selenium IDE
Selenium IDE页面的Applitools
- Selenium IDE产品页面的Applitools
- 适用于Selenium IDE文档的Applitools
- Google Chrome商店中用于Selenium IDE的Applitools
- Firefox商店上的Selenium IDE Applitools
Selenium IDE视频
- Selenium IDE教程视频播放列表
- Dave Haeffner 在Selenium Camp上介绍Selenium IDE
- Dave Haeffner推出新的Selenium IDE启动网络研讨会
- Tomer Steinfeld介绍了他如何构建新的Selenium IDE
- Joe Colantonio在Selenum IDE上的演示,第一部分和第二部分
- Simon Stewart:Selenium IDE –下一代
- 其他Selenium IDE视频
from:https://dev.to//michaelvisualai/code-export-in-selenium-ide-121d