Selenium IDE使用指南四(代码导出)
入门
您可以通过右键单击测试或套件,选择Export
,选择目标语言,然后单击,将测试或套件的测试导出到WebDriver代码Export
。
这会将包含导出的目标语言代码的文件保存到浏览器的下载目录中。
原产地跟踪代码注释
导出时,有一个可选的切换开关可启用源跟踪代码注释。
这会将内联代码注释放置在导出的文件中,其中包含有关生成该文件的Selenium IDE中的测试步骤的详细信息。
支持的出口
当前,支持导出到以下语言和测试框架。
- C#NUnit
- Java JUnit
- JavaScript Mocha
- python pytest
我们打算在每种语言的至少一个测试框架中支持所有官方支持的Selenium编程语言绑定(例如Java,JavaScript,C#,Python和Ruby)。
欢迎提供帮助以添加特定语言的新语言和测试框架。有关如何操作的详细信息,请参见如何贡献。
C#NUnit
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的导出代码被构建为可与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 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
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 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 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中的命令,并且每个程序包都依赖于底层的“核心”程序包,该程序包承担了所有繁重的工作。
以下是在一种已经建立的语言中为一种新语言或一种新的测试框架创建代码的步骤。
1.创建一个新包
首先,复制一个现有的语言包(例如packages/code-export-java-junit
),然后将其重命名(例如,文件夹和文件中的详细信息package.json
)为您想要贡献的目标语言和框架(例如packages/code-export-ruby-rspec
,等等)。
接下来,添加新的软件包作为依赖于该package.json
在code-export
。
最后,yarn
从项目的根目录运行,然后使用构建项目yarn watch
(此处提供了进行本地构建的完整详细信息)。
2.更新定位器和命令
代码导出的基础是特定于语言的字符串,这些字符串将转换为输出的代码。其中最突出的是命令和定位器策略(例如,“ by”查找的语法)。
对于给定的语言,每种语言都有一个文件,以及随附的测试文件。
您可以在中看到一个示例packages/code-export-java-junit
。
- 指令
- 命令测试
- 定位器策略
- 定位器策略测试
声明新命令时,可以将其输出指定为字符串,也可以指定为指定缩进级别的对象。
内置在代码导出中的是一个前缀控件,用于控制输出代码的缩进。如果命令的输出是冗长的并且您想明确显示,则此结构很有用。或者,如果命令更改了紧随其后的命令的缩进级别。
3.创建钩子
钩子构成了要导出的代码的大部分结构(例如,套件,测试以及其中包含的所有内容,例如设置,拆卸等)。它们还使插件能够将代码导出到测试或套件的不同部分。
有9种不同的钩子:
afterAll
(所有测试完成后)afterEach
(完成每个测试后-之前afterAll
)beforeAll
(在运行所有测试之前)beforeEach
(在运行每个测试之前-之后beforeAll
)command
(为插件添加的新命令发出代码)dependency
(添加其他语言依赖性)inEachBegin
(在每个测试的开始阶段)inEachEnd
(在每个测试的末尾)variable
(声明将在整个套件中使用的新变量)
您可以在packages/code-export-java-junit
此处看到实现钩子的示例:钩子
4.更新语言特定的属性
您需要使用每种语言指定一些底层细节。诸如缩进多少空间,如何声明方法,测试,套件等之类的事情。
您可以在packages/code-export-java-junit
此处查看实现此示例:语言特定的选项
5.将其添加到混合物中
将其他所有内容准备就绪后,就可以将其连接起来以在UI中使用了。
这是可能的packages/code-export/src/index.js
。
您需要将语言添加到中availableLanguages
。
6.测试和调整
导出代码的最佳端到端测试是导出一系列测试,并验证它们是否按预期运行。
从开发版本中,您可以访问种子测试。这是验证所有标准库命令都适用于您的新语言的良好起点。
再次测试,修复和测试,直到您对最终结果充满信心。
- Selenium IDE使用指南一(爬虫脚本录制器)
- Selenium IDE使用指南二(命令行运行器)
- Selenium IDE使用指南三(控制流)
- Selenium IDE使用指南四(代码导出)
- Selenium IDE使用指南五(常见问题)
- Selenium IDE使用指南六(指令列表)
- Selenium IDE使用指南七(参数定义) 作者:分布式编程 出处:https://zthinker.com/ 如果你喜欢本文,请长按二维码,关注 分布式编程 .
Selenium IDE使用指南四(代码导出)相关推荐
- Selenium IDE使用指南二(命令行运行器)
现在,您可以在任何浏览器上,并行和在Grid上运行所有Selenium IDE测试,而无需编写任何代码. 只需安装Selenium IDE命令行运行程序,获取必要的浏览器驱动程序(如果在本地运行测试) ...
- Selenium IDE使用指南一(爬虫脚本录制器)
安装 从Chrome或Firefox网络商店安装Selenium IDE . 启动IDE 安装后,通过从浏览器菜单栏中单击其图标来启动它. 故障排除 在菜单栏中没有看到Selenium IDE的图标? ...
- 【Selenium IDE】菜单栏和工具栏介绍和基本操作:编辑/录制、导出、运行
前言 一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210416. selenium IDE selenium IDE结合浏览器提供脚本的录制,回放以及编辑脚本功能,以及元素的定位 ...
- web test automation test / QTP / IBM RFT / Selenium IDE / IOS appium / AU3
Selenium WebDriver / Selenium IDE http://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ S ...
- 第一章 插件安装和代码导出
Selenium IDE 1.firefox3.6安装seleniumIDE插件 地址:http://seleniumhq.org/projects/ide/ 安装完成之后,重启firefox,可以在 ...
- Selenium IDE工具界面剖析
资源推荐: 视频资源: 软件测试相关系列视频 社区资源: 自动化测试交流群 Selenium IDE简介 Selenium IDE(Integrated Development Environment ...
- python selenium ide使用_第 2 章 Selenium IDE 的使用 Selenium 3+Python 3 自动化测试
第 2 章 Selenium IDE 的使用 Selenium IDE,官方给出的一个总结是:「针对 Web 自动化的一种录制回放型的解决方案.」它提供了很简洁的录制流程,初学者非常容易上手. 最新的 ...
- 使用Selenium IDE进行自动化测试
1. 综述 Selenium IDE是火狐浏览器的一个插件,它会记录你在网页中进行的操作,如登陆.点击等.更为强大的是它还能将记录导出,例如导出成junit测试用例,非常强大,接下里将会看见. 在火狐 ...
- 带你用selenium IDE的录制第一个自动化测试脚本
目录 selenium IDE是干什么的 selenium IDE环境的安装 1.下载chrome或者firefox浏览器的插件. 2.安装浏览器插件 selenium IDE. selenium I ...
最新文章
- PCL—低层次视觉—点云分割(基于凹凸性)
- 外卖市场的搅屎棍要来了?字节跳动内测“心动外卖”!
- 脱壳学习之加壳的概念
- vue项目中使用echarts实现词云
- 奇怪的吃播_吃播,我看吐了!
- 华为路由器配置默认路由为什么配偶的下一跳不可达也可以_静态路由特性
- VS2010中使用JSONCPP方法
- js向页面中动态添加脚本
- shell内部命令和外部命令
- HBase之HFile索引机制
- Python计算序列中数字最大差值(美团2016校招笔试题)
- linux系统时间分区的设置方法分享
- 一个小型的汇编编译器
- 总结 62 种在深度学习中的数据增强方式
- 用户注册及APP使用隐私协议
- prompt综述论文阅读:Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural La
- MySQL5.7服务无法启动或Table ‘mysql.plugin‘ doesn‘t exist
- 机器学习多分类器有哪些
- 基于微信小程序的电影院购票平台
- 那些不起眼的流量大户在做什么?(转载)
热门文章
- Html5添加非常实用的可自动轮播的旋转木马插件教程
- 【百度前端学院学习笔记】Day6 浮动/BFC
- 2022中国(成都)预制品暨调味品展览会
- B站黑马程序员pink老师讲的JavaScript代码
- 如何将计算机技术应用于电梯上,浅谈计算机信息管理在电梯技术中的应用
- 微软数学app 面向从小学,初中到高中各个级别和类型的数学问题
- Flutter —— dio
- 西南大学计算机研究生就业好嘛,西南大学2018毕业生就业结果:就业率为 89.45%,最高月薪7600...
- 公司企业常见部门名称英文
- Python 实现常见的坐标系之间的转换