先说明下,本人不是专业的测试工程师,此文只是学习selenium 的一个笔记。供大家参考,有不足的地方还望指出,谢谢。
Selenium 官网:https://www.seleniumhq.org/
开发工具:IDEA
浏览器:Google Chrome 版本 77.0.3865.90(正式版本)
版本:Selenium - 3.141.59 TestNG - 6.14.3 ReportNG - 1.1.4 Guice - 3.0
使用说明:
(1)准备工作:
前往Selenium 官网下载对应浏览器的驱动
(2)。创建一个Maven /Spring Boot 工程(示例工程为Spring Boot工程)
File -> New -> Project -> Maven
(3). 添加Selenium 依赖
<!-- selenium -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<!-- testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<!-- ReportNG -->
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
</dependency>
(4). 添加Plugin 插件
<!-- TestNG 插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
<arg>-Xlint:deprecation </arg>
<!--<arg>endorseddirs=${endorsed.dir}</arg>-->
</compilerArgs>
</configuration>
</plugin>
<!--添加插件 关联testNg.xml-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<!--这里设置关联的testNG.xml路径,项目根目录下的res文件夹里面-->
<suiteXmlFiles>
<file>res/testng.xml</file>
</suiteXmlFiles>
</configuration>
</plugin>
(5)。创建testng.xml 文件
IDEA 有TestNG文件生成插件,通过安装插件进行文件生成。
File -> Setting -> Plugins ,搜索TestNG , 安装Create TestNG XML
启IDEA 后,选中项目,右键,选择”Create TestNG XML”
若是出现以下结果,说明工程目录中已经添加成功testng.xml 文件,刷新下工程目录即可。
创建目录“res” 将testng.xml 文件放入res目录中,一个工程是可以存在多个testng.xml
编辑testng.xml 文件,添加以下两行配置信息,用于ReportNG 生成测试报告。
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"></listener>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"></listener>
</listeners>
(6)。编写测试代码
在test包下编写相应的测试代码。
通过Selenium WebDriver的注解来编写。具体写法可以参照工程示例
(7)。将测试用例注册到testng.xml 中
将编写的测试用例,注册到testng.xml中,testng.xml中可以通过指定执行分组来自定义执行哪些测试用例。
(8)。创建TestNG 运行Configurations
在IDEA 右上角,选择”Edit Configurations。。。“
选择”+“ -> “TestNG”
打开窗口后,修改Test King 为 Suite 并选择Suite 为testng.xml .选择”Listeners”,添加ReportNG需要用到的类。”HTMLReporter“,”JUnitXMLReporter“
(9)。通过Maven 指令编译执行
在Terminal 窗口中输入已下指令:
mvn -f pom.xml clean test -DxmlFileName=testng.xml
如果没有开启自动测试,则在Maven 窗口中使用Test启动。
(10)。查看测试报告
TestNG 执行完成后会生成本次测试的测试报告,存放在”target -> surefire-reports -> index.html“
TestNG生成的测试报告不便查看,所以引入了ReportNG 针对TestNG 的测试报告进行了优化,生成更加直观的测试报告。存放在”test-output -> html -> index.html“
以上为JAVA 代码中集成Selenium 、TestNG和ReportNG 的过程。下面介绍浏览器上Selenium 插件的使用:
原Selenium IDE 在火狐55版本后不在支持,所以由Katalon Reconrder 替代。
此插件是一个浏览器脚本录制的插件,我们可以通过该插件录制一遍需要进行的操作,在通过该插件生成相应的代码,在此基础上在做逻辑上的修改即可。
安装插件:
前往Google网上商城下载
Google网上商城:
https://chrome.google.com/webstore/category/extensions?hl=zh-CN
无法上Google 网上商城的,可以通过下载此谷歌上网助手进行翻墙。
谷歌上网助手GitHub地址:
https://github.com/haotian-wang/google-access-helper
在Google网上商城搜索”Katalon Reconrder“,安装即可。
使用说明:
点击浏览器右上角的Katalon Reconrder
打开窗口后,选择”New” 创建一个Suite 和Case,创建完成后点击“Record” 开始录制。结束录制则点击”Stop”, 回放录制,则选择录制好的Case 点击”Play” 。选择“Export” 生成录制脚本的代码。根据自己使用的语言选择即可,点击“Save As File” 生成对应的代码文件,JAVA 语言则生成”.java”文件。
以下为示例工程的GitHub 地址:
https://github.com/Linyoufeng593/Selenium-Demo