背景:在网站测试中,我们常常会需要对页面元素进行校验。例如超链接、文本等。这些工作都可以通过利用java对源文件的处理,将校验过程用自动化脚本代替。
下面是一个简单的例子,其中包括了通过url得到源文件、通过源文件获取超链接的办法。
同理也可以引申出很多元素的处理。
例子:从已知页面获取所有指定域名的超链接(这里用到了淘宝安全中心的首页举例。后面输出说明首页现在有23个链接到本应用的超链接哦~)
public void main(String args[]){
2 String url = "http://110.taobao.com/home/index.htm";
3 String hostname = "http://110.taobao.com";
4 try {
5 print(url,hostname);
6 } catch (IOException e) {
7 // TODO Auto-generated catch block
8 e.printStackTrace();
9 }
10 }
11
12 //从指定url中输出所有指定域名开头的超链接
13 void print(String url ,String hostname) throws IOException{
14 long count = pickOut(getSource(url),hostname);
15 System.out.println("在\"" + url + "\"中共有" + count + "个url的域名是:" + hostname);
16
17 }
18
19 //从指定源文件(String格式)中输出指定域名开头的所有超链接地址
20 long pickOut(String source,String hostname){
21 long count = 0;
22 String [] all = source.split("\"");
23 for(int i = 0;i < all.length;i++){
24 String temp = all[i];
25 if (temp.startsWith(hostname)){
26 System.out.println(temp);
27 count++;
28 }
29 }
30 return count;
31 }
32
33
34
35 //由指定url,返回String格式的源文件
36 String getSource(String url) throws IOException{
37 String source ="";
38 String line = "";
39 URL _url = new java.net.URL(url);
40 java.io.InputStream stream = _url.openStream();
41 BufferedReader reader = new BufferedReader(new InputStreamReader(stream,"gb2312"));
42 while((line = reader.readLine() ) != null)
43 source += line;
44 return source;
45 }
|
评论加载中...
|
Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明