Testng+java+chromedriver

chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。

查看电脑安装的谷歌浏览器版本
在浏览器中输入chrome://version/

建议关闭谷歌自动更新,防止后续版本不对应,具体参考

https://jingyan.baidu.com/article/b87fe19e8876e91318356893.html

下载对应版本chromedriver

1、http://chromedriver.storage.googleapis.com/index.html

进入文件夹后,如是win32/64系统则选择如下

解压压缩包,找到chromedriver.exe复制到chrome的安装目录(我的在默认安装路径下C:Program Files (x86)GoogleChromeApplication )

复制chromedriver.exe文件的路径并加入到电脑的环境变量中去。

操作步骤:我的电脑-右击-属性-高级系统设置-环境变量-Path-编辑-输入chromedriver所在位置 如 C:Program Files (x86)GoogleChromeApplication-点击确定按钮
1、attempted duplicate class definition for name
问题代码就出在:ctClass.toClass(); 这行代码上,从问题描述上来看,是重复加载了同一个类导致的。强烈建议参考 使用javassist运行时动态修改字节码对象。

javassist调用了 ClassLoader 的 defineClass 方法实现的类加载,调用java.lang.ClassLoader#defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain)方法要确保一个类只会被同一个ClassLoader加载一次,否则就会报错:

javassist.CannotCompileException: by java.lang.ClassFormatError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: “com/ymqx/动态增加属性和注解/Person”
at javassist.util.proxy.DefineClassHelper.toClass(DefineClassHelper.java:271)
at javassist.ClassPool.toClass(ClassPool.java:1240)
at javassist.ClassPool.toClass(ClassPool.java:1098)
at javassist.ClassPool.toClass(ClassPool.java:1056)
at javassist.CtClass.toClass(CtClass.java:1298)
2、class redefinition failed: attempted to change the schema (add/remove fields)

文章转自:Testng+java+chromedriver_Java-答学网

作者:答学网,转载请注明原文链接:http://www.dxzl8.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Selenium是一种流行的自动化测试框架,它可以用于测试Web应用程序。结合Java编程语言,可以创建一个完整的Selenium项目。 首先,您需要安装Java开发环境和Selenium框架。然后,创建一个新的Java项目,并将Selenium库添加到项目的依赖中。 在项目中,您可以创建一个Java类,用于编写测试案例。首先,您需要导入必要的Selenium库和其他所需的包。然后,您可以创建一个测试方法,使用@BeforeTest注释进行一些初始化设置。 在测试方法中,您可以创建一个WebDriver实例,用于驱动浏览器进行测试。您可以使用不同的浏览器驱动,如ChromeDriver或FirefoxDriver。 接下来,您可以使用WebDriver实例来打开所需的URL,并使用findElement方法定位页面中的元素。您可以使用不同的定位策略,如通过ID、类名或XPath来查找元素。 一旦找到元素,您可以使用不同的方法对其进行操作,如点击按钮、输入文本或获取元素的属性值。您还可以使用断言来验证测试的预期结果。 在测试方法的末尾,您可以使用@AfterTest注释来进行一些清理工作,如关闭浏览器。 除了测试方法,您还可以创建其他辅助类,用于存储一些常见的操作或测试数据。您可以使用JUnit或TestNG等测试框架来运行测试。 整个项目的代码可以按照以下结构组织: 1. src/main/java: 存放辅助类和常用操作类 2. src/test/java: 存放测试类和测试方法 3. src/test/resources: 存放测试数据或配置文件 这只是一个简单的Selenium项目的示例,更复杂的项目可能还包括如日志记录、测试报告生成等更高级的功能。 希望上述回答能对您有所帮助,如有更多问题,请随时与我联系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值