我正在尝试从电子邮件中提取网址。
我正在使用Selenium Webdriver,我想通过测试检查电子邮件帐户以确认电子邮件已发送。
我设法进入了电子邮件帐户,并对其进行了一些测试,但是当尝试在自动化中使用它时,出现以下异常而失败:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataHandler
at com.sun.mail.imap.IMAPFolder.newIMAPMessage(IMAPFolder.java:1395)
at com.sun.mail.imap.MessageCache.getMessage(MessageCache.java:146)
at com.sun.mail.imap.IMAPFolder.getMessages(IMAPFolder.java:1860)
at com.YakirSaadia.Tools.EmailVerification.getUrlFromEmail(EmailVerification.java:144)
at com.YakirSaadia.Tools.EmailVerification.runTest(EmailVerification.java:45)
at com.YakirSaadia.VendorTests.RegisterNewComp.registerNewCompany(RegisterNewComp.java:55)
at com.YakirSaadia.VendorTests.RegisterNewComp.runTest(RegisterNewComp.java:26)
at com.YakirSaadia.Vendor.vendorTests(Vendor.java:36)
at com.YakirSaadia.Main.main(Main.java:34)
Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 9 more
如果有人可以帮助我,那就太好了!
编辑:
找不到其他可以回答我问题的帖子。 我不需要发送url之类的东西,我需要提取它以在自动化测试中使用它。
答案 0 :(得分:1)
这意味着运行测试时activation.jar
不在类路径中。从JavaMail自述文件中:
要求
请注意,JavaMail API需要激活JavaBeans(TM) 如果您使用的是JDK 1.5,也要安装Framework软件包。 从以下位置下载最新版本的JavaBeans激活框架:
http://www.oracle.com/technetwork/java/javase/index-jsp-136939.html
并将其安装在合适的位置。