带有批注的Spring硒测试
这篇文章描述了如何在Java中实现Selenium测试。 它的灵感来自Alex Collins的帖子,并带有注释。 该代码可在GitHub的Spring-Selenium-Test目录中找到。 一些替代方法和更轻巧的技术可用于对Spring MVC应用程序进行单元测试。 要进行单元测试服务,请参见此处 。
页面,配置和控制器
我们使用“ Hello World”创建一个简单页面:
<!doctype html>
<html lang='en'>
<head><meta charset='utf-8'><title>Welcome !!!</title>
</head>
<body><h1>Hello World !</h1>
</body>
</html>
我们使控制器非常简单:
@EnableWebMvc
@Configuration
@ComponentScan(basePackages = 'com.jverstry')
public class WebConfig extends WebMvcConfigurerAdapter {@Beanpublic ViewResolver getViewResolver() {InternalResourceViewResolver resolver = new InternalResourceViewResolver();resolver.setPrefix('WEB-INF/pages/');resolver.setSuffix('.jsp');return resolver;}}
还有我们的控制器:
@Controller
public class MyController {@RequestMapping(value = '/')public String home() {return 'index';}}
用于硒测试
我们创建一个测试配置。 它提供了在本地打开应用程序的URL。 该应用程序是使用Firefox打开的:
@Configuration
public class TestConfig {@Beanpublic URI getSiteBase() throws URISyntaxException {return new URI('http://localhost:10001/spring-selenium-test-1.0.0');}@Bean(destroyMethod='quit')public FirefoxDriver getDrv() {return new FirefoxDriver();}}
我们还定义了一个抽象类作为所有测试的基础。 测试后,它将自动关闭Firefox:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={ TestConfig.class })
public abstract class AbstractTestIT {@Autowiredprotected URI siteBase;@Autowiredprotected WebDriver drv;{Runtime.getRuntime().addShutdownHook(new Thread() {@Overridepublic void run() {drv.close();}});}}
然后我们执行硒测试,以确保我们的页面包含“ Hello World”:
public class SeleniumTestIT extends AbstractTestIT {@Testpublic void testWeSeeHelloWorld() {drv.get(siteBase.toString());assertTrue(drv.getPageSource().contains('Hello World'));}}
Maven依赖项与Alex Collins帖子中描述的依赖项相同。
构建应用程序
如果您构建了该应用程序,它将自动打开和关闭firefox。 测试将成功。
参考: 技术说明博客上的JCG合作伙伴 Jerome Versrynge提供的带注释的Spring硒测试 。
翻译自: https://www.javacodegeeks.com/2013/01/spring-selenium-tests-with-annotations.html
带有批注的Spring硒测试相关推荐
- 在Spring Boot测试中使用Testcontainer进行数据库集成测试
在此博客文章中,我想演示如何在Spring Boot测试中集成Testcontainer以便与数据库一起运行集成测试. 我没有使用Testcontainers的Spring Boot模块. 如何与他们 ...
- spring boot测试_测试Spring Boot有条件的合理方式
spring boot测试 如果您或多或少有经验的Spring Boot用户,那么很幸运,在某些时候您可能需要遇到必须有条件地注入特定bean或配置的情况 . 它的机制是很好理解的 ,但有时这样的测试 ...
- swagger api文档_带有Swagger的Spring Rest API –创建文档
swagger api文档 使REST API易于使用的真正关键是好的文档. 但是,即使您的文档做得很好,您也需要设置公司流程的权利以正确,及时地发布它. 确保利益相关者按时收到是一回事,但是您也要负 ...
- 使用Testcontainers和PostgreSQL,MySQL或MariaDB的Spring Boot测试
Testcontainers是一个Java库,可轻松将Docker容器集成到JUnit测试中. 在Containerized World中 ,将测试配置与嵌入式数据库和服务复杂化几乎没有意义. 而是使 ...
- 硒测试中所需的功能和示例
所需功能是用于声明一组基本要求(例如浏览器,操作系统,浏览器版本等的组合)的类,以对Web应用程序执行自动跨浏览器测试. 当我们尝试通过Selenium自动化测试来自动化测试脚本时,我们需要考虑这些组 ...
- 使用JUnit 5进行Spring Boot测试
JUnit 5 (JUnit Jupiter)已经存在了相当长的一段时间,并且配备了许多功能. 但令人意外JUnit 5它不是一个默认的测试库相关,当涉及到春节开机测试入门:它仍然是JUnit 4.1 ...
- 带有Swagger的Spring Rest API –创建文档
使REST API易于使用的真正关键是好的文档. 但是,即使您的文档做得不错,您也需要设置公司流程的权利,以正确,及时地发布它. 确保利益相关者按时收到是一回事,但是您也要负责API和文档中的更新. ...
- Spring MVC测试框架入门–第1部分
最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spring MVC代码" ...
- Spring MVC测试框架入门–第2部分
这个迷你系列的第一个博客介绍了Spring MVC测试框架,并展示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. 现在是时候讨论使用框架进行集 ...
最新文章
- Go各时间字符串使用详解
- 【控制】《多智能体系统一致性与复杂网络同步控制》郭凌老师-第1章-绪论
- source环境变量命令千万不能乱用
- android图片选择器框架支持长图,基于RxJava的Android图片选择器. – RxPicker
- ajax实现浏览器前进后退-location.hash与模拟iframe
- 信息学奥赛一本通 1167:再求f(x,n)
- Type class-Typeclass-泛型基础上的二次抽象
- 对象可以在栈上分配空间吗?_Java面试题之:Java中所有的对象都分配在堆中吗?...
- wireshark 抓包分析 TCPIP协议的握手
- 中文信息处理(六)—— 神经语言模型与词表示(word2vec)
- 阿里平头哥“生娃”!最强 RISC-V 处理器玄铁 910 诞生!
- 面试题 17.09. 第 k 个数
- Java 反编译工具哪家强?对比分析瞧一瞧
- 宝德银河麒麟系统打印机安装及共享方法(一)
- adjoint-io bulletpoofs 性能测试结果
- uni-app 选择图片上传到服务器、云储存
- MongoDB的授权和权限
- 李飞飞CS231n课程-中文笔记(包括课后作业要求)翻译汇总
- git 拉取其他分支代码
- 利用正则截取匹配的字符串前后内容同
热门文章
- php制作留言板的题_PHP实现留言板功能实例代码
- date转timestamp格式_技术分享 | MySQL:timestamp 时区转换导致 CPU %sys 高的问题
- 把本地库推送到github远程库
- lombok_Lombok–您绝对应该尝试一下
- javafx窗体程序_JavaFX实际应用程序:SkedPal
- javafx窗体程序_JavaFX真实世界应用程序:EIZO CuratOR Caliop
- junit规则_jUnit:规则
- 带有HttpClient的自定义HTTP标头
- java六大原则_六大Java功能
- 在Java中使用Google的协议缓冲区