首页 > Web开发 > 详细

JSCover与Selenium初步结合

时间:2014-02-12 03:21:22      阅读:629      评论:0      收藏:0      [点我收藏+]

在已使用Selenium作为自动化测试后需要加入JSCover以检测Javascript的使用情况,通过运行Selenium程序得到JSCover生成的报表。

因为是依靠Selenium为主线程程序而无需用到JSCover提供的Web UI,所以用到的是JSCover的File System模式。首先将需要检测的Javascript代码进行注解。

命令如:java -jar JSCover-all.jar -fs [OPTIONS] SOURCE-DIRECTORY DESTINATION-DIRECTORY

运行此命令后会生成已注解后的Javascript文件和JSCover提供的Web UI文件,结构如:

-jscover.log

-jscoverage.css

-jscoverage.html

-jscoverage.js

-jscoverage-highlight.css

-jscoverage-ie.css

-jscoverage-throbber.gif

 

上面标黑的jscoverage.js是我们需要用到的文件,打开此文件将变量jscoverage_isReport设置为true(默认为false)。接下来就可以编写selenium代码了,一个简单的示例如下:

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumTester{
     
    @Test
    public void testJsCover() {
        WebDriver driver = new FirefoxDriver();
        driver.get("http://localhost/example-fs/index.html");
        driver.findElement(By.id("radio1")).click();
        String json = (String)((JavascriptExecutor) driver).executeScript("return jscoverage_serializeCoverageToJSON();");
        driver.quit();
    }
}

String json = (String)((JavascriptExecutor) driver).executeScript("return jscoverage_serializeCoverageToJSON();"); 此行代码取到的json字符串需要保存到名为jscoverage.json文件中,位置与jscoverage.js保持在同一目录,当然你也可以通过修改jscoverage.js读取jscoverage.json的目录进行修改,缺省情况下是在同级目录。

运行完上面的unit test,打开jscoverage.html就可以看到所生成的报表了。

 

bubuko.com,布布扣

JSCover与Selenium初步结合

原文:http://www.cnblogs.com/stephensh/p/3545103.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!