博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Selenium的SeLion自动化测试框架之二(代码实现)
阅读量:6654 次
发布时间:2019-06-25

本文共 3574 字,大约阅读时间需要 11 分钟。

如何基于SeLion实现一个web的自动化测试过程呢?下面会通过代码详细实现。

一:需要安装的软件:

  1)Java JDK 1.7

  2) Eclipse + testNg (关于在eclipse中配置testNg请参考testNg官网)

  3) Maven (可以单独下载安装,请参考maven官网进行安装并配置)

  4) Firefox 浏览器 version <= 32 (其他浏览器也可以,本文以firefox讲解)

二:创建Sample工程,有两种方式实现。

  1)通过eclipse中直接创建Maven项目 (该过程简单不详细说)

  2)直接通过Maven命令创建 命令如下:(红色部分可以自己修改)

mvn archetype:generate -DgroupId=com.mycompany.test -DartifactId=Sample \  -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

执行该命令后会生成如下的目录结构:

Sample/├── pom.xml├── src/main/java/com/mycompany/test│                               ├── App.java├── src/test/java/com/mycompany/test│                               ├── AppTest.java

三:更新pom.xml文件,加入依赖包,代码如下:(关于pom.xml文件的语法请查看maven官网,有详细解释)

4.0.0
com.mycompany.test
Sample
jar
1.0-SNAPSHOT
Sample
http://maven.apache.org
sonatype-nexus-snapshots
https://oss.sonatype.org/content/repositories/snapshots
sonatype-nexus-snapshots
https://oss.sonatype.org/content/repositories/snapshots
com.paypal.selion
SeLion
1.0.0-SNAPSHOT
org.apache.maven.plugins
maven-surefire-plugin
2.17
${suiteXmlFile}

更改完成后,执行下面的命令,maven就会自动下载所需要的依赖包到本地,第一次因为需要下载的包较多,会需要较长的时间,等第一次下载好了,以后运行就会快了

mvn dependency:resolve

四:创建@WebTest测试代码如下:

package com.mycompany.test;import org.testng.annotations.Test;import com.paypal.selion.annotations.WebTest;import com.paypal.selion.platform.grid.Grid;import com.paypal.selion.platform.html.Button;import com.paypal.selion.platform.html.TextField;import com.paypal.selion.platform.utilities.WebDriverWaitUtils;import com.paypal.selion.reports.runtime.WebReporter;public class Demo {           //testNg标记     @Test     //SeLion标记 用于指示该测试是web测试    @WebTest    public void DemoTest1() throws InterruptedException {        // 打开百度首页        Grid.driver().get("http://www.baidu.com/");        // 定义搜索框        TextField field = new TextField("id=kw");        // 等待网页夹在完成并且搜索框出现        WebDriverWaitUtils.waitUntilElementIsPresent(field.getLocator());        // 搜索selion关键字        field.type("SeLion");               //点击 百度一下 按钮        Button button = new Button("id=su");        button.click();             //自动截图并输出到log中去        WebReporter.log("Baidu Demo", true, true);    }}

通过上面测试百度首页的代码可以看到SeLion为我们封装了webdriver, TextField, Button, 等待对象出现,自动截图并且输入到log等功能。对于一个这样一个简单的baidu首页测试,如果我们完全自己封装实现这些功能,会用大量的代码去实现,由此可见在SeLion中,已经替我们完成了自动化测试需要用到的功能,我们只需要简单调用就能实现,大大提高我们开发代码的效率。

五:创建testNg的xml文件,我们在{project}/src/test/resources路径下创建SampleSuite.xml的文件并加入下面代码:

六:完成上面的过程后,我们可以直接该测试查看测试过程和结果:

  1) 直接在eclipse中右键用testNg执行该xml文件

  2) 使用如下Maven命令去执行

mvn clean test -DsuiteXmlFile=src/test/resources/SampleSuite.xml

执行后,我们就会看到启动firefox浏览器,打开百度首页输入selion关键字搜索,执行完成后,会自动生成test-output的文件夹,里面会看到一份带截图的漂亮的html统计report。到此一个完成的测试过程就完成了。

 

转载于:https://www.cnblogs.com/bccs/p/4542913.html

你可能感兴趣的文章
babyClock 1.0发布(Android2.2以上)
查看>>
android与javascript相互调用
查看>>
头文件 boost/cstdint.hpp
查看>>
动态生成元素动作绑定,jquery 1.9如何实现
查看>>
设计模式之建造者模式(七)
查看>>
我开发共享软件的三次经历(上):打造一款很多人用的软件
查看>>
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
查看>>
谷歌调试工具祝你一臂之力买火车票,简单安全方便
查看>>
传输层
查看>>
优秀Python学习资源收集汇总(强烈推荐)
查看>>
解决office2007-安装程序找不到office.zh-cn\Setup.xml
查看>>
2013年最值得我们学习的网页作品示例【系列六】
查看>>
C++的那些事:容器和泛型算法
查看>>
重新想象 Windows 8 Store Apps (51) - 输入: 涂鸦板
查看>>
php 回调函数
查看>>
Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信
查看>>
Visual Studio 2012完美的拥抱GitHub
查看>>
[转]asp.net MVC 常见安全问题及解决方案
查看>>
安装elasticsearch
查看>>
__inline定义的内联函数和宏的区别
查看>>