您可以通过右键单击测试或套件,选择
Export,选择目标语言,然后单击,将测试或套件的测试导出到 WebDriver 代码
Export。

这会将包含导出的目标语言代码的文件保存到浏览器的下载目录中。
导出时,有一个可选的切换开关可启用源跟踪代码注释。
这会将内联代码注释放置在导出的文件中,其中包含有关生成该文件的 Selenium IDE 中的测试步骤的详细信息。
当前,支持导出到以下语言和测试框架。
我们打算在每种语言的至少一个测试框架中支持所有官方支持的 Selenium 编程语言绑定(例如 Java,JavaScript,C#,Python 和 Ruby)。
欢迎提供帮助以添加特定语言的新语言和测试框架。有关 如何操作的详细信息,请参见 如何贡献。
C#NUnit 的导出代码被构建为与 .NET Core,NUnit 3.11 和最新版本的 Selenium 一起使用。
要创建一个与 NUnit 一起使用的新样板项目,请使用以下
dotnet new 命令。
dotnet new nunit -n NUnit-Tests --framework netcoreapp2.0
使用以下
.csproj 文件,您可以使用以下
dotnet restore 命令安装正确的软件包和版本。
<!-- filename: example.csproj --> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="nunit" Version="3.11.0" /> <PackageReference Include="NUnit3TestAdapter" Version="3.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" /> <PackageReference Include="Selenium.Support" Version="4.0.0-alpha03" /> <PackageReference Include="Selenium.WebDriver" Version="4.0.0-alpha03" /> </ItemGroup> </Project> > dotnet restore example.csproj
C#xUnit 的导出代码被构建为可与 C#,xUnit 和最新版本的 Selenium 一起使用。
就像 C#Nunit 一样,您可以使用 dotnet 工具安装它,并在安装这些依赖项之后运行它(例如,使用
Install-Package Selenium.WebDriver or 或
dotnet add package Selenium.WebDriver)。
要创建一个与 xUnit 一起使用的新样板项目,请使用以下
dotnet new 命令。
> dotnet new xUnitTests
使用以下
.csproj 文件,您可以使用以下
dotnet restore 命令安装正确的软件包和版本。
<!-- filename: example.csproj --> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" /> <PackageReference Include="Selenium.Support" Version="4.0.0-alpha03" /> <PackageReference Include="Selenium.WebDriver" Version="4.0.0-alpha03" /> </ItemGroup> </Project> > dotnet restore example.csproj
Java JUnit 的导出代码可与 Java 8,JUnit 4.12 和最新版本的 Selenium 一起使用。
您应该能够将导出的 Java 文件放入带有
pom.xml 列出这些依赖关系的文件的标准 Maven 目录结构中并运行它。
这是一个示例
pom.xml,可帮助您入门。
<project> <modelVersion>4.0.0</modelVersion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-ide-java-code-export</artifactId> <version>1</version> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0-alpha-3</version> </dependency> </dependencies> </project>
JavaScript Mocha 的导出代码被构建为与 Node 10,Mocha 6.1.x 和最新版本的 Selenium 一起使用。
安装这些依赖项(例如,使用
npm install)后,您应该能够获取导出的 JavaScript 文件并运行它。
这是一个示例
package.json,可帮助您入门。
{
"dependencies": {
"mocha": "^6.1.4",
"selenium-webdriver": "^4.0.0-alpha.3"
}
}
Python pytest 的导出代码可与 Python 3,pytest 4.6.x 和最新版本的 Selenium 一起使用。
安装这些依赖项(例如,使用
pip3 install)后,您应该能够获取导出的 JavaScript 文件并运行它。
这是一个示例
requirements.txt,可帮助您入门。
pytest == 4.6.3 selenium == 4.0.0a1 > pip3 install -r ./requirements.txt
Ruby Rspec 的导出代码可与 Ruby 2.6.x,RSpec 3.9.x 和最新版本的 Selenium 一起使用。
通过使用
Bundler 和以下工具,
Gemfile 您可以安装必要的依赖项。
# Gemfile source 'https://rubygems.org' gem 'selenium-webdriver' gem 'rspec' > gem install bunder > bundle install
代码导出以模块化方式构建,以帮助实现贡献。
每种语言和测试框架都有自己的包含要导出代码的包。每个代码段都映射到 Selenium IDE 中的命令,并且每个程序包都依赖于底层的“核心”程序包,该程序包承担了所有繁重的工作。
以下是在一种已经建立的语言中为一种新语言或一种新的测试框架创建代码的步骤。
首先,复制一个现有的语言包(例如
packages/code-export-java-junit),然后将其重命名(例如,文件夹和文件中的详细信息
package.json)为您想要贡献的目标语言和框架(例如
packages/code-export-ruby-rspec,等等)。
接下来,添加新的软件包作为依赖于
该
package.json 在
code-export。
最后,
yarn 从项目的根目录运行,然后使用构建项目
yarn watch(
此处提供了进行本地构建的完整详细信息)。
代码导出的基础是特定于语言的字符串,这些字符串将转换为输出的代码。其中最突出的是命令和定位器策略(例如,“ by”查找的语法)。
对于给定的语言,每种语言都有一个文件,以及随附的测试文件。
您可以在中看到一个示例
packages/code-export-java-junit。
声明新命令时,可以将其输出指定 为字符串,也可以指定 为 指定缩进级别的对象。
内置在代码导出中的是一个前缀控件,用于控制输出代码的缩进。如果命令的输出是冗长的并且您想明确显示,则此结构很有用。或者,如果命令更改了紧随其后的命令的缩进级别。
钩子构成了要导出的代码的大部分结构(例如,套件,测试以及其中包含的所有内容,例如设置,拆卸等)。它们还使插件能够将代码导出到测试或套件的不同部分。
有 9 种不同的钩子:
afterAll (所有测试完成后)afterEach(完成每个测试后-之前
afterAll)beforeAll (在运行所有测试之前)beforeEach(在运行每个测试之前-之后
beforeAll)command (为插件添加的新命令发出代码)dependency (添加其他语言依赖性)inEachBegin (在每个测试的开始阶段)inEachEnd (在每个测试的末尾)variable (声明将在整个套件中使用的新变量)您可以在
packages/code-export-java-junit 此处看到实现钩子的示例:
钩子
您需要使用每种语言指定一些底层细节。诸如缩进多少空间,如何声明方法,测试,套件等之类的事情。
您可以在
packages/code-export-java-junit 此处查看实现此示例:
语言特定的选项
将其他所有内容准备就绪后,就可以将其连接起来以在 UI 中使用了。
这是可能的
packages/code-export/src/index.js。
您需要将语言添加到中
availableLanguages。
导出代码的最佳端到端测试是导出一系列测试,并验证它们是否按预期运行。
从开发版本中,您可以访问种子测试。这是验证所有标准库命令都适用于您的新语言的良好起点。
再次测试,修复和测试,直到您对最终结果充满信心。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70048690/viewspace-3175406/ ,如需转载,请注明出处,否则将追究法律责任。