简体   繁体   中英

Can Anyone Help me out: Automation Testing of an email Notification using Selenium WebDriver Java

I have test where i need to login to gmail server and check the inbox for the notification email and get the content from that email. It executes perfectly when i run in my local. Gives an error when i run it on the grid through Jenkins.The server is connected to hubs on which the tests are executed. Help me out please, i been working on this for the past 1 month.

This is the error i been getting.

[java] javax.mail.NoSuchProviderException: pop3s
     [java]     at javax.mail.Session.getService(Session.java:784)
     [java]     at javax.mail.Session.getStore(Session.java:578)
     [java]     at javax.mail.Session.getStore(Session.java:540)
     [java]     at javax.mail.Session.getStore(Session.java:519)
     [java]     at com.proquest.apps.etd.pqaf.utils.Gmail.<init>(Gmail.java:36)
     [java]     at com.proquest.apps.etd.pqaf.utils.MailUtil.extractURLFromGmail(MailUtil.java:43)
     [java]     at com.proquest.apps.etd.regression.tests.ForgotPasswordTest.FogotPasswordTest(ForgotPasswordTest.java:93)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:606)
     [java]     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
     [java]     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
     [java]     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
     [java]     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
     [java]     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
     [java]     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.RunRules.evaluate(RunRules.java:18)
     [java]     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
     [java]     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
     [java]     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
     [java]     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
     [java]     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
     [java]     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
     [java]     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
     [java]     at com.proquest.testing.TestMethodRunner.runUnitTest(TestMethodRunner.java:194)
     [java]     at com.proquest.testing.TestMethodRunner.run(TestMethodRunner.java:62)
     [java]     at com.proquest.testing.SimpleThread.run(SimpleThread.java:13)
     [java] java.lang.NullPointerException
     [java]     at com.proquest.apps.etd.pqaf.utils.Gmail.getEmailBySubject(Gmail.java:202)
     [java]     at com.proquest.apps.etd.pqaf.utils.Gmail.getEmailContentBySubject(Gmail.java:134)
     [java]     at com.proquest.apps.etd.pqaf.utils.MailUtil.extractURLFromGmail(MailUtil.java:44)
     [java]     at com.proquest.apps.etd.regression.tests.ForgotPasswordTest.FogotPasswordTest(ForgotPasswordTest.java:93)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:606)
     [java]     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
     [java]     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
     [java]     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
     [java]     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
     [java]     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
     [java]     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.RunRules.evaluate(RunRules.java:18)
     [java]     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
     [java]     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
     [java]     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
     [java]     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
     [java]     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
     [java]     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
     [java]     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
     [java]     at com.proquest.testing.TestMethodRunner.runUnitTest(TestMethodRunner.java:194)
     [java]     at com.proquest.testing.TestMethodRunner.run(TestMethodRunner.java:62)
     [java]     at com.proquest.testing.SimpleThread.run(SimpleThread.java:13)
     [java] java.lang.NullPointerException
     [java]     at com.proquest.apps.etd.pqaf.utils.Gmail.getBody(Gmail.java:228)
     [java]     at com.proquest.apps.etd.pqaf.utils.Gmail.getEmailContentBySubject(Gmail.java:134)
     [java]     at com.proquest.apps.etd.pqaf.utils.MailUtil.extractURLFromGmail(MailUtil.java:44)
     [java]     at com.proquest.apps.etd.regression.tests.ForgotPasswordTest.FogotPasswordTest(ForgotPasswordTest.java:93)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:606)
     [java]     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
     [java]     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
     [java]     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
     [java]     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
     [java]     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
     [java]     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.RunRules.evaluate(RunRules.java:18)
     [java]     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
     [java]     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
     [java]     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
     [java]     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
     [java]     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
     [java]     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
     [java]     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
     [java]     at com.proquest.testing.TestMethodRunner.runUnitTest(TestMethodRunner.java:194)
     [java]     at com.proquest.testing.TestMethodRunner.run(TestMethodRunner.java:62)
     [java]     at com.proquest.testing.SimpleThread.run(SimpleThread.java:13)
     [java] [INFO ] [10:4:2AM] Thread-2 (TestMethodRunner.java:188) - 
     [java] [INFO ] [10:4:2AM] Thread-2 (TestMethodRunner.java:189) - java.lang.NullPointerException
     [java]     at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
     [java]     at java.util.StringTokenizer.<init>(StringTokenizer.java:236)
     [java]     at com.proquest.apps.etd.pqaf.utils.MailUtil.extractURLFromGmail(MailUtil.java:45)
     [java]     at com.proquest.apps.etd.regression.tests.ForgotPasswordTest.FogotPasswordTest(ForgotPasswordTest.java:93)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:606)
     [java]     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
     [java]     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
     [java]     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
     [java]     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
     [java]     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
     [java]     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
     [java]     at org.junit.rules.RunRules.evaluate(RunRules.java:18)
     [java]     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
     [java]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
     [java]     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
     [java]     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
     [java]     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
     [java]     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
     [java]     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
     [java]     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
     [java]     at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
     [java]     at com.proquest.testing.TestMethodRunner.runUnitTest(TestMethodRunner.java:194)
     [java]     at com.proquest.testing.TestMethodRunner.run(TestMethodRunner.java:62)
     [java]     at com.proquest.testing.SimpleThread.run(SimpleThread.java:13)

It was a dependency issue , added these dependencies resolved the issue Below are the links:

http://mvnrepository.com/artifact/javax.mail/mail
https://mvnrepository.com/artifact/javax.activation/activation/1.0.2
https://mvnrepository.com/artifact/javax.activation/activation/1.0.2

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM