pdf保存如何带批注_带有批注的SpringSelenium测试

pdf保存如何带批注

这篇文章描述了如何在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';}}

用于Selenium测试

我们创建一个测试配置。 它提供了用于在本地打开应用程序的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();}});}}

然后我们执行Selenium测试,以确保我们的页面包含“ 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提供的带注释的SpringSelenium测试 。

翻译自: https://www.javacodegeeks.com/2013/01/spring-selenium-tests-with-annotations.html

pdf保存如何带批注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javax.naming.NamingException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

解决办法&#xff1a; Tomcat服务器的根目录下也有一个lib目录,也要把mysql的驱动包放进去转载于:https://www.cnblogs.com/kingdaqi/p/10935916.html

Spring教程:使用Spring框架和Spring Boot创建Hello World REST API

由于Java社区对早期版本的Enterprise Java感到失望&#xff0c;因此创建了Spring Framework 。 从那时起&#xff0c;它已经发展成为一个巨大的生态系统&#xff0c;可以解决构建基于Web的Java应用程序中的所有问题以及更多问题。 经常批评Spring&#xff0c;因为Spring过去常常…

Testner自动化测试平台免费开放啦

swift&#xff08;雨燕&#xff09;是目前世界上飞行速度最快的鸟之一&#xff0c;尖尾雨燕平时飞行的时速为170公里&#xff0c;最快可达到325.5公里。恰恰自动化测试的主要目的就是为了提高测试效率&#xff0c;因此&#xff0c;Testner自动化测试平台也叫 swift Testner自动…

seleniumpython定位网页元素方法_使用Selenium对网页元素进行定位的诸种方法

使用Selenium进行自动化操作&#xff0c;首先要做的就是通过webdriver的get()方法打开一个URL链接。在打开链接&#xff0c;完成页面加载之后&#xff0c;就可以通过Selenium提供的接口&#xff0c;在页面上进行各种操作了&#xff0c;下面我们来了解一下如何在查找元素。3.1 查…

有赞全链路压测方案

转载于:https://www.cnblogs.com/wuzhiyi/p/10944934.html

python 消息队列 get是从队首还是队尾取东西_python分布式爬虫中消息队列知识点详解...

当排队等待人数过多的时候&#xff0c;我们需要设置一个等待区防止秩序混乱&#xff0c;同时再有新来的想要排队也可以呆在这个地方。那么在python分布式爬虫中&#xff0c;消息队列就相当于这样的一个区域&#xff0c;爬虫要进入这个区域找寻自己想要的资源&#xff0c;当然这…

mime类型是什么类型_使用多种MIME类型测试REST

mime类型是什么类型1.概述 本文将重点介绍测试具有多种媒体类型/表示形式的RESTful服务。 这是有关使用Spring和基于Java的配置的Spring Security设置安全的RESTful Web服务的系列文章的第十篇。 REST with Spring系列&#xff1a; 第1部分 – 使用Spring 3.1和基于Java的配置…

Go-Mutex互斥量

先来看一段go1.12.5中Mutex的源码&#xff1a; // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.// Package sync provides basic synchronization primiti…

spss方差分析_【案例】SPSS统计分析:多因素方差分析

&#xff0d; 点击上方“中国统计网”订阅我吧&#xff01;&#xff0d;多因素方差分析&#xff0c;用于研究一个因变量是否受到多个自变量(也称为因素)的影响&#xff0c;它检验多个因素取值水平的不同组合之间&#xff0c;因变量的均值之间是否存在显著的差异。多因素方差分…

你好世界

想打个Hello World&#xff0c;但是又没有继续下去。 今天买茶百道的时候&#xff0c;做茶的女孩子很开朗很友善&#xff0c;在她递给我装好的山竹荔枝的时候我闻到水果的苦味&#xff0c;于是捧住杯子埋头下去闻了一下&#xff0c;她笑着说&#xff0c;“每次我做这个的时候都…

sqlserver免安装_SQL数据分析,如何免安装在线运行?

大家好&#xff0c;在之前写了一篇关于SQL软件安装&#xff0c;读者普遍反映&#xff0c;这个软件有点不好安装&#xff0c;但是&#xff0c;从事数据分析行业&#xff0c;熟练使用SQL软件是必须的&#xff0c;于是乎......本文推送一篇免安装的&#xff0c;可以在线运行的SQL软…

python自动导出数据脚本_利用python生成一个导出数据库的bat脚本文件的方法

# 环境: python3.xdef getExportDbSql(db, index):# 获取导出一个数据库实例的sql语句sql mysqldump -u%s -p%s -h%s -P%d --default-character-setutf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql %(db[user], db[pwd], db[host], db[port], index, db[server], inde…

java内存模型和内存结构_Java内存模型和优化

java内存模型和内存结构总览 许多多线程代码开发人员都熟悉这样的想法&#xff0c;即不同的线程可以对持有的值有不同的看法&#xff0c;这不是唯一的原因&#xff0c;即如果线程不安全&#xff0c;它可能不会看到更改。 JIT本身可以发挥作用。 为什么不同的线程看到不同的值&…

ANTLR巨型教程

解析器是功能强大的工具&#xff0c;使用ANTLR&#xff0c;您可以编写可用于多种不同语言的各种解析器。 在本完整的教程中&#xff0c;我们将要&#xff1a; 解释基础 &#xff1a;解析器是什么&#xff0c;解析器可以用于什么 了解如何设置要从Javascript&#xff0c;Pyth…

Web进程被kill掉后线程还在运行怎么办?

目录 背景描述原因分析处理方案参考背景描述 系统有一个配置表&#xff0c;系统在启动后会启动一个线程&#xff0c;每隔5分钟将配置表里所有的数据更新到内存中。 系统是通过jenkins构建&#xff08;直接kill掉Web进程&#xff0c;然后传入新的包再启动&#xff09;的&#xf…

北京学python 价格怎么样_北京学习Python需要多少钱

Python本身语言具有一定的优势所在&#xff0c;简单易学&#xff0c;就业方向多&#xff0c;也就意外着从事Python的工程师相对于其他编程语言的工程师来说&#xff0c;就业机会更多&#xff0c;薪资待遇更高。1、web网站工程师&#xff1a;我们都知道web是我们一直不能忽视的存…

go Windows Service

相关库 https://godoc.org/golang.org/x/sys/windows/svchttps://github.com/kardianos/servicehttps://github.com/judwhite/go-svchttps://github.com/btcsuite/winsvc参考 云监控Go语言版本插件介绍 - 这个不知道用的什么库实现的Cannot start golang application exe as a …

华为南太无线解决方案部梁旭阳_华为无线充电新专利:激光无线充电,替代传统半接触式...

传统的无线充电技术是用感应线圈通过短距离&#xff0c;实际上是有接触式充电&#xff0c;但是相对于真正的无线充电&#xff0c;还是不够便利&#xff0c;最近&#xff0c;华为新无线充电技术曝光&#xff1a;激光无线充电。虽然无线充电已在近年得到了较大的普及&#xff0c;…

jquery的懒加载记录一下踩得坑

官网下载地址&#xff1a;http://plugins.jquery.com/lazyload/ 要引入两个文件&#xff0c;注意这些事html中包含着 <script src"https://code.jquery.com/jquery-1.11.3.min.js"></script><script src"js/jquery.lazyload.js"></sc…

rsync 同步优化_可以优化同步吗?

rsync 同步优化总览 有一个常见的误解&#xff0c;因为JIT很智能&#xff0c;并且可以消除对象的同步&#xff0c;而该对象仅存在于不影响性能的方法中。 比较StringBuffer和StringBuilder的测试 这两个类基本上做同样的事情&#xff0c;除了一个是同步的&#xff08;StringBu…