2015-08-20 79 views
1

我正在写一个Java代码来使用硒进行加载测试。我有一个文本文件,其中包含我用于测试的网站的网址。我希望我的应用能够读取文本文件,并在文本文件中显示每个url的加载时间。我该怎么做?使用硒加载测试

该代码可用于两个网站,但我怎么能读取文本文件,其中包括几个网站,并得到了加载时间。

package webauto; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class WebAuto { 

    public static void main(String[] args) { 
     WebDriver firefoxDriver=new FirefoxDriver(); 

     long start = System.currentTimeMillis(); 

     firefoxDriver.get("http://www.google.com"); 

     long finish = System.currentTimeMillis(); 
     long totalTime = finish - start; 
     System.out.println("Total Time for page load - "+(totalTime/1000)+"s"); 

     long start1 = System.currentTimeMillis(); 

     firefoxDriver.get("http://www.ebay.com"); 

     long finish1 = System.currentTimeMillis(); 
     long totalTime1 = finish1 - start1; 
     System.out.println("Total Time for page load - "+(totalTime1/1000)+"s"); 
    } 
} 
+0

看看这个[问题](http://stackoverflow.com/questions/4716503/best-way-to-read-a-text-file-in-java),它会告诉你如何阅读一个文本文件。 – mike

回答

1

你可以做类似下面,假设在文本文件中的每一行是指一个网站链接,传递文件路径变量文本文件的路径: -

WebDriver firefoxDriver=new FirefoxDriver(); 
try { 
    BufferedReader reader= new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "Cp1252"));   
    String websiteLink; 
    while ((websiteLink = reader.readLine()) != null) { 
     long start = System.currentTimeMillis(); 
     firefoxDriver.get(websiteLink); 
     long finish = System.currentTimeMillis(); 
     long totalTime = finish - start; 
     System.out.println("Total Time for page load - "+(totalTime/1000)+"s"); 
    } 
    reader.close(); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 
0

作为负载测试工具最好使用Jmeter,但在某些情况下,尤其是当您为AJAX丰富的应用程序编写测试或需要模拟真实用户场景时,有必要结合Jmeter的优势,这比Selenium更适合生成负载并收集性能指标和Selenium,它更适合与网页进行交互。当然,建议使用Blazemeter作为运行测试的基于云的解决方案。

这种解决方案的细节,你可以在这里找到:https://www.blazemeter.com/blog/gotta-test-em-all

-1

如果你的目标是纯粹的测试如何在页面加载在一个浏览器会话,而不是模拟用户负载模式,你可以与用户的浏览器暴民代理硒。您可以用选择的语言解析.har文件以确定页面加载时间。