Web自动化框架之WebSpec

本文章转载于搜狗测试

本文小编将给大家介绍另外一个Web自动化框架—WebSpec。WebSpec是基于Watij的一款跨平台、跨浏览器框架,支持Java/ruby两种语言、IE/Mozilla/Safari三种浏览器、windows/Linux/mac三个平台。

相比于当前最流行的Selenium,他提供了对IE浏览器更加强大、稳定的支持。不同于Selenium会启动浏览器执行case,WebSpec是在jetty容器中运行case的,因此,在IE浏览器中进行自动化时会更加稳定。另外,它对一些常用的操作封装非常完善,使用起来很简单,易于上手。

一、环境准备

1、jdk安装及配置

详细过程略… …(网上资料很多,大家自行百度/Google)

2、eclipse下载

详细过程略… …

3、下载WebSpec

下载地址:https://sourceforge.net/projects/watij/files/WebSpec/,下载最新版本即可。

下载WebSpec完成后,eclipse中新建一个Java工程,并将下载的文件解压,将解压目录中lib目录所有文件和java/dist目录下webspec.jar导入新建工程build path中。

4、下载testng

下载testng.jar包(我喜欢用testng测试框架,若使用其他框架,导入对应的框架jar包即可,如junit),并导入到新建工程中。

到此为止,准备工作完成了,下面我们将会进入正题—编写Case~~~

二、WebSpec使用

1、WebSpec自动化Case编写

首先,我们以搜狗游戏登陆为例来看看是如何通过WebSpec编写自动化Case的,具体代码如下:

Web自动化框架之WebSpec_第1张图片

从上面代码我们可以看出,Webspec case代码非常简单、清晰。

2、WebSpec常用操作

a) 元素定位

主要有两种定位方式:id和tag定位,例如:

id定位:findWithId(“”);

tag定位:find().p().with.className(“”)

b) 窗口切换

Browse(Index),其中index为0表示原有窗口,Index为1表示新开窗口;

c) 断言

AssertEquals(“期望值”, “实际值”);

ShouldHave(“value”, “/some subtest/”);

d) 内容获取

例如要获取class 属性为login-title的标签处文本内容:

spec.find().p().with.className("login-title").get().innerText()

e) Cookie操作

WebSpec同时提供了cookie创建、查找、删除相关的操作,如删除操作:

Spec.cookie.all.delete

你可能感兴趣的:(Web自动化框架之WebSpec)