1.使用的selenium版本是3.141.59;testNG版本是6.14.3,加入以下依赖:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
</dependency>
2.安装TestNG插件。
TestNG是测试框架,自动化测试主要用到的是其强大的注解类。POM文件里已经定义了使用的testng版本是6.14.3,接下来需要安装该插件。
在Help- install new software,添加地址:https://testng.org/testng-eclipse-update-site/7.9.0
Eclipse 安装TestNG插件地址:TestNG Documentation
添加别的会不成功!!!(原理我也不清楚,可以自行尝试。)
3,点击Next,下一步之后一直到finish,完成之后需要重启
4,检查是否安装成功。如图就是成功。
5,
安装浏览器并配置driver
在什么是自动化测试?如何做自动化测试?介绍过GUI自动化的原理,测试用例需要通过webDriver来驱动浏览器,因此需要安装并配置webDriver。
webDriver的安装比较简单,下载解压缩即可。首先查看浏览器版本,以chrome为例,点击帮助->关于Google Chrome即可。这里我的版本号是 109.0.5414.155(下载driver没必要完全一致,大版本一致即可):
其次,下载浏览器版本对应的driver,下载地址:chromedriver.storage.googleapis.com/index.html
下载解压后有chromedriver.exe,将该exe文件的路径加入PATH。通常,我们会将其放到浏览器的安装目录,不过这一步不是必需的,必需的是将路径加入PATH变量。
这里,解压路径是“D:\Java\tools\chromedriver_win32”,变量设置如下(Windows下依次点击 设置-系统-高级系统设置,环境变量):
6,安装完毕!
遇到的问题:写了一个简单的测试类 ,运行报错。如图:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/testng/remote/RemoteTestNG has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
解决方法:我发现找不到对应的编译文件后,就去workspace的target里面去找对应的class文件,发现真的没有。在这之前找过很多类似的资料,比如有人说是没配置Test NG的环境变量,又有人说配置的xml里面路径不对,但是我这里的话之间是右键点击运行的run as,所以应该跟xml没关系。最后发现是创建的时候可能没有创建成为TestNG文件,还有就是路径放错了,应该是在正确的文件目录下。如第二张图所示
最后:但是用谷歌浏览器总是会报错,说找不到驱动,换了DEG浏览器没问题,这块还是要多练习,可能是版本没对。
package com.howtodoinjava.test;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.testng.annotations.Test;
public class MyFirstTestNG {
@Test
public void test001() {
//设置EdgeDriver路径
System.setProperty("webdriver.edge.driver", "D:/Java/tools/edgedriver_win64/msedgedriver.exe");
//初始化Edge浏览器实例
WebDriver driver = new EdgeDriver();
//打开一个站点
driver.get("https://www.baidu.com");
//设置隐形等待时间
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
//窗口最大化
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
//关闭浏览器
driver.close();
}
}