网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1. 安装seleniumIDE,打开火狐浏览器,然后进入工具—>添加附件,搜索seleniumIDE
2. 查询出对应的IDE后,点击直接安装,安装结束后重启FireFox,看到下面的菜单说明安装成功
-
安装selenium-rc,先去http://www.openqa.org/selenium/下载selenium包。用命令行来到解压到文件夹下:d:/autoTesting/selenium-server-standalone-2.0b1.jar目录下
-
运行java -jar selenium-server-standalone-2.0b1.jar,启动selenium server。为了在运行时应用运行的浏览器与selenium服务的浏览器分开可在其后面加–multiWindow。
-
在Eclipse创建一个项目,在项目的build path里面加上elenium-server-1.0-beta-1下selenium-server.jar、selenium-java-client-driver-1.0-beta-1下selenium-java-client-driver.jar(这两个在刚解压的包里面)和eclipse/plugins/org.junit_3.8.1下junit.jar。
-
将制定的Jar包导入到工程里,然后你就可以集成并使用相应的API,编写自己的测试CASE了。
四、Coverlipse的安装
- 直接通过Eclipse即可安装,步骤如下
In Eclipse, click Help -> Software Updates -> Find and Install.
In the dialog, select Search for new features to install, then Next.
In the next step, add a New Remote Site. Name it “Coverlipse update site”, the URL is “http://coverlipse.sf.net/update/”.
Press Finish. Eclipse now searches for the Coverlipse feature to install and shows that to you.
2. 配置Coverlipse以获取代码覆盖
-
一旦单击了Run,Eclipse会运行Coverlipse并在源代码(如图7所示)中嵌入标记,该标记显示了具有相关JUnit测试的代码部分
-
Coverlipse生成的具有嵌入类标记的报告
- 正如您所见,使用Coverlipse Eclipse插件可以更快地确定代码覆盖率。例如,这种实时数据功能有助于在将代码签入CM系统前更好地进行测试。
五、ANT安装,eclipse自带,只需要配置环境变量ant_home即可。
六、创建一个案例
- 创建一个工程testSelenium安装下面目录结构
2. 录制脚本,打开Firefox浏览器,进入selenium IDE菜单
-
输入相应录制的地址,点击红色按钮,开始录制
-
将脚本转换成junit代码,然后将其拷贝到测试类中做为测试CASE编码的雏形。
六、如何查看日志,这里日志分两类:
l Junit日志,通过junit写的断言,和标准输出,这些操作产生的日志记录。
l Selenium日志,当运行junit脚本时,selenium相关的脚本就会产生回放日志,例如打开界面的url,标准输入,输出等信息。
虽然这两种日志没有交集,需要分开查看。但一般情况下我们只需要观察Selenium日志已经足够用了,与其相比Junit日志更适用于编码阶段。
- Junit日志,只需要配置脚本build-selenium.xml,如下
<project name="seleniumTest"default="junit" basedir=".">
<propertyenvironment="env" />
<conditionproperty="ia.home" value="${env.IA_HOME}">
<issetproperty="env.IA_HOME" />
</condition>
<propertyname="run.classpath" value="../class">
</property>
<propertyname="run.srcpath" value="../testSelenium">
</property>
<propertyname="test.xml" value="../xml">
</property>
<propertyname="test.report" value="../report">
</property>
<propertyname="lib.dir" value="../lib" />
<pathid="compile.path">
<filesetdir="${lib.dir}">
<includename="junit.jar" />
<includename="ant.jar" />
</fileset>
</path>
<targetname="init">
<deletedir="${run.classpath}" />
<mkdirdir="${run.classpath}" />
<deletedir="${test.report}" />
<mkdirdir="${test.report}" />
<deletedir="${test.xml}" />
<mkdirdir="${test.xml}" />
</target>
<targetname="compile" depends="init">
<javacdestdir="${run.classpath}" srcdir="${run.srcpath}" />
</target>
<targetname="junit" depends="compile">
<junitprintsummary="false">
<classpathpath="${run.classpath}">
<pathrefid="compile.path" />
</classpath>
<formattertype="xml" />
<batchtesttodir="${test.xml}">
<filesetdir="${run.classpath}">
<includename="**/Test*.class" />
<includename="**/*Test.class" />
</fileset>
</batchtest>
</junit>
<junitreporttodir="${test.xml}">
<filesetdir="${test.xml}">
<includename="TEST-*.xml" />
</fileset>
<reportformat="frames" todir="${test.report}" />
</junitreport>
</target>
</project>
2. 运行ant脚本以后,就可以生成相应的junit日志。
selenium日志
当运行junit脚本时,selenium相关的脚本就会产生回放日志,但默认记录的东西可读性太差了,所以我们使用loggingSelenium(LoggingSelenium - Usage) ,可以将每个case可以生成记录selenium命令的html格式的result了。
- plugin的下载地址:
Download logging-selenium-1.2.jar (LoggingSelenium)
- 安装方法:只需要将下载的logging-selenium-1.2.jar导入到工程里即可。
6. 编写代码如下
@Before
public void setUp() {
finalString resultPath ="absolute-path-to-where-your-result-will-be-written";
finalString resultHtmlFileName = resultPath + File.separator +"result.html";
finalString resultEncoding = "UTF-8"
loggingWriter = LoggingUtils.createWriter(resultHtmlFileName,resultEncoding);
LoggingResultsFormatter htmlFormatter =
newHtmlResultFormatter(loggingWriter, resultEncoding);
htmlFormatter.setScreenShotBaseUri(""); // this is for linkingto the screenshots
htmlFormatter.setAutomaticScreenshotPath(resultPath);
// wrapHttpCommandProcessor from remote-control
LoggingCommandProcessor myProcessor =
new LoggingCommandProcessor(newHttpCommandProcessor(your-configs), htmlFormatter);
selenium= new LoggingDefaultSelenium(myProcessor);
selenium.start();
}
@After
public void tearDown() {
selenium.stop();
try {
if(null != loggingWriter) {
loggingWriter.close();
}
} catch(IOException e) {
![img](https://img-blog.csdnimg.cn/img_convert/4183e74687be410d09b0e4e4cff66778.png)
![img](https://img-blog.csdnimg.cn/img_convert/f319823e9feb7fd72cf6f8eed031608c.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
7136)]
[外链图片转存中...(img-a2NsIM5l-1715875937136)]
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**