在SoapUI中模拟用户操作
SoapUI作为一款接口测试工具,具有极大的灵活性和拓展性。它可以通过安装插件,拓展其功能。Selenium作为一款Web自动化测试插件可以很好的与SoapUI进行集成。如果要在SoapUI中模拟用户点击界面的功能,不借助selenium是无法完成的。
一、准备工作 - 给SoapUI安装selenium插件
1. 首先,我们需要下载selenium的网站(https://docs.seleniumhq.org/download/)下载server-standalone版本,这里以selenium-server-standalone.jar 2.25.0为例。由于官网的下载地址需要经过google网址才能下载到,这里提供从maven仓库下载的办法:进入http://www.mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server-standalone,找到适合的版本,将maven的配置copy到项目中,然后等maven下载jar到本地。找到maven本地缓存的目录,在里面可以找到selenium的jar包了。

2. 将这个jar复制一份放入"${SoapUI安装目录\bin\ext}"。如果你的SoapUI是默认安装的,则这个目录为:C:\Program Files\SmartBear\SoapUI-5.3.0\bin\ext。复制完之后,重启SoapUI(如果你在复制之前已经打开了SoapUI的话)
二、测试场景
这里以模拟用户在百度输入关键字“test”进行搜索为例。首先我们在项目里面新建一个Grovvy Script,输入以下脚本,执行之后就可以找到百度第一页的所有搜索结果的联接了:

完整的脚本:
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait; def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) //初始化HTMLUnitDriver(headless browser)
HtmlUnitDriver driver = new HtmlUnitDriver(); //在headless browser中打开网址
driver.get("https://www.baidu.com"); //log.info(driver.getPageSource()); //找到输入框,并在框中输入“test”
WebElement input = driver.findElement(By.name("wd"));
input.sendKeys("test"); //找到搜索按钮,并点击
WebElement button = driver.findElement(By.id("su"));
button.click(); //寻找出左边显示搜索结果的div
//System.out.println(driver.getPageSource());
WebElement container = driver.findElement(By.id("content_left")); //将所有超链接打印出来
List<WebElement> list = container.findElements(By.tagName("a")); for (WebElement ele : list) {
log.info(ele.getAttribute("href"));
} //4. close browser window
driver.close();
driver.quit(); //5. assert
assert list.size()>0
在SoapUI中模拟用户操作的更多相关文章
- jQuery中模拟用户操作
有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法.见下图代码 在不点击按钮时仍然想弹出this.value 我们只需要在后面加上.trigger( ...
- Android手机上,利用bat脚本模拟用户操作
………… 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行 ...
- HttpClient 模拟用户操作
首先模拟用户登录: /** * 模拟用户登录 * */ private void login() throws HttpException, IOException { PostMethod logi ...
- python爬虫入门(五)Selenium模拟用户操作
爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider) 之间恢宏壮阔的斗争... 小莫想要某站上所有的电影,写了标准的爬虫(基于HttpClient库), ...
- C#中模拟用户登陆SharePoint网站
自动化测试一个SharePoint网站,首先要登陆,我们今天就模拟一下用户登陆SharePoint网站的过程,这一过程可以通过其他方式完成模拟,比如通过Coded UI Test录制脚本会更方便,但是 ...
- SAP中查询用户操作日志的事务码
事务码:STAD 注意:查询的时间跨度范围不要太大,否则会很慢! 事务码:ST03N 工作负载和性能统计
- 如何在组件(Component中)模拟用户控件(UserControl)中FindForm()?
using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentM ...
- Android随笔之——用shell脚本模拟用户按键、触摸操作
之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功 ...
- Gremlins.js – 模拟用户随机操作的 JS 测试库
Gremlins.js 是基于 JavaScript 编写的 Monkey 测试库,支持 Node.js 平台和浏览器中使用.Gremlins.js 随机模拟用户操作:单击窗口中的任意位置,在表格中输 ...
随机推荐
- unigui+fastReport实现web打印方案
近日单位需要用到会议通知单的打印功能,故引出篇. unigui是delphi环境下快速开发web应用的优秀工具,不再赘述,下面直接记录使用搭配使用,基本逻辑就是: unigui实现数据录入和浏览的we ...
- 与其他相似软件对比,win10中个人助理conrtana具备哪些独特的功能
目前,Cortana 可以回答各种口头问题,直接设置提醒,或者提供位置导航,并支持语音命令处理各项事务,而且随时间的推移学习更多内容,从而变得更加个性化和实用.简单而言,集成在 Edge 浏览器中的 ...
- 【高速接口-RapidIO】2、RapidIO串行物理层的包与控制符号
一.RapidIO串行物理层背景介绍 上篇博文提到RapidIO的物理层支持串行物理层与并行物理层两种,由于Xilinx 部分FPGA内部已经集成了串行高速收发器,所以用FPGA实现RapidIO大多 ...
- Python math库常用函数
math库常用函数及举例: 注意:使用math库前,用import导入该库>>> import math 取大于等于x的最小的整数值,如果x是一个整数,则返回x>>> ...
- MySQL如何使用索引
初始化测试数据 创建一个测试用的表 create table dept(id int primary key auto_increment , deptName varchar(32) not nul ...
- 【MML】华为MML AAA接口联调,Java版本
1.我们先设置一些常量数据 package cn.cutter.ztesoft.HuWeiMML.constrant; /** * @description: AAA接口常量设置 * @author: ...
- nginx介绍(一) 简介篇
Nginx(发音为"engine x")是一款由俄罗斯软件工程师Igor Sysoev年发布以来nginx一直关注于高性能.高并发.低内存的使用,另外还有一些特色的Web服务器功能 ...
- 《JQuery技术内幕》读书笔记——自调用匿名函数剖析
Javascript语言中的自调用匿名函数格式如下: (function(){ //do somethings })(); 它还有另外两种等价写法如下: //等价写法一 (function(){ // ...
- JavaScript逗号操作符
今天在CSDN看到一篇文章http://www.csdn.net/article/2014-01-06/2818025-Useful-JavaScript-Tips-Best-Practices?re ...
- 利用 ELK 搭建 Docker 容器化应用日志中心
利用 ELK 搭建 Docker 容器化应用日志中心 概述 应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志 ...