selenium归根溯“源” (一)
selenium - java版本源码
客户端文件
//client/src/com/thoughtworks/selenium/Selenium.java
包:com.thoughtworks.selenium;
公共接口:Selenium
定义一个运行Selenium命令的对象。
元素定位
元素定位告诉Selenium,命令指向哪一个HTML元素。
一个定位器的格式是:
locatorType=argument
我们支持如下的战略定位元素:
id、name、dom、xpath、link、css、ui
元素属性
元素属性能被定位器使用,用于改善一组已知的元素,现在他们只被用于name元素选择器
字符串匹配
各种匹配的语法被用于字符串匹配
glob、regexp、regexpi、exact
定义公共接口 Selenium
功能:定义RC的一些方法
//client/src/com/thoughtworks/selenium/BrowserConfigurationOptions.java
包:com.thoughtworks.selenium;
导入的包:java.util.HashMaap;java.util.Map;
公共类继承至java.lang.Object
功能:设置浏览器的session(RC方法的一部分)
//client/src/com/thoughtworks/selenium/BrowserConfigurationOptions.java/CommandProcessor.java
包:com.thoughtworks.selenium;
公共接口:CommandProcessor
功能:待补完
//client/src/com/thoughtworks/selenium/BrowserConfigurationOptions.java/DefaultRemoteCommand.java
包:com.thoughtworks.selenium;
导入包:org.openqa.selenium.net.Urls;
公共类:DefaultRemoteCommand
继承接口:RemoteCommand
要学习的java语法 StringBuffer -字符串变量 定义:StringBuffer sb = new StringBuffer("xxxx"); //变量字符串xxxx 方法:sb.append("yyy");//扩充字符串变为xxxxyyy
功能:过滤远程URL命令,转化为符合要求的格式
//client/src/com/thoughtworks/selenium/BrowserConfigurationOptions.java/DefaultSelenium.java
包:com.thoughtworks.selenium;
导入包:org.openqa.selenium.Capabilities;
公用类:DefaultSelenium
继承接口:Selenium
要学习的java语法 获取当前运行函数的方法名 StackTraceElement[] e =Thread.currentThread().getStackTrace() String className = null; String methodName = null; for (int i = 0; i < e.length; i++) { if (e[i].getClassName().equals("java.lang.Thread") || e[i].getMethodName().equals("showContextualBanner")) { continue; } className = e[i].getClassName(); methodName = e[i].getMethodName(); break; }//循环查找符合规则的线程类名或者方法名 //通常获得当前运行函数的方法名使用Thread.currentThread().getStackTrace()[2].getMethodName();
功能:定义一些RC调用的方法(但未实现)
//client/src/com/thoughtworks/selenium/BrowserConfigurationOptions.java/HttpCommandProcessor.java
包:com.thoughtworks.selenium;
导入包:
com.google.common.base.Charsets;
com.google.common.collect.Lists;
org.openqa.selenium.net.Urls;
java.io.BufferedWriter;
java.io.IOException;
java.io.InputStreamReader;
java.io.OutputStreamWriter;
java.io.Reader;
java.io.Writer;
java.net.ConnectException;
java.net.HttpURLConnection;
java.net.URL;
java.text.NumberFormat;
java.text.ParseException;
java.util.Arrays;
java.util.List;
公共类:HttpCommandProcessor
继承接口:CommandProcessor
要学习的java语法 URL String uu="http://www.baidu.com" URL url = new URL(uu); //定义url URLConnection uc = url.openConnection(); //建立连接 HttpURLConnection hc =(HttpURLConnection)uc;//转换成http连接 System.out.println(hc.getResponseCode());//返回返回值
功能:打开浏览器和对应测试连接
//client/src/com/thoughtworks/selenium/BrowserConfigurationOptions.java/RemoteCommand.java
包:com.thoughtworks.selenium;
公共接口:RemoteCommand
功能:定义发送至浏览器的url查询字符串
这种方式写起来太慢,之后查询也不方便,下一篇会精简的方式继续写……to be continue……
posted on 2013-03-05 10:57 choose.wang 阅读(546) 评论(0) 编辑 收藏 举报