@H Y R Tutorials : Really nice explanation. I would like to provide couple of suggestions 1. Driver should be private in BaseTest and as an instance variable in order to avoid synchronisation issue. 2. If we use private then we need to modify the Listener class to take screenshots
so again its an extra method creation. Thats why we can't follow one single mode as every framework is different. But if we learn the subject then we can apply that in any framework.
Hi @HYRTutorials, I have a base testclass file in which the testcase using dataProvider which is used by a sequence of testcases, So I cannot implement nested testcases right, so I implemented each testcase in a different class file and all the testcases will be called under the basetest. But after running the testcases in report it's showing the correct screenshot incase if there is a failure but showing base testclass file as failure instead of it's respective testcase. What to do?
Hi Sir, What is the need of checking screenshotSubFolderName == null? I understand it is for creating unique filenames. Anyway the string screenshotSubFolderName will be null all the time as we haven't declared it. What is the need here? Can you pls explain the logic!?
Hello sir you called captureScreenshot method in onTestFailure method of listner class then how you called it directly because it is not a static method
Hi Sir, FileUtils.copyFile(f,new File("./Screenshots/fileName")); when I am giving like this screenshots are not getting saved, but when I changed to FileUtils.copyFile(f,new File("./Screenshots/"+fileName)); it is working why please explain
Here filename is the variable. If u mention that inside the double quotes then it is considered as a text. It considers the text as "fileName". But you need the data present in fileName variable so for that you need to use in the second way.
Hi Sir, nenu 2 and half years development project lo work chesanu. ippudu nenu automation testing side vellalani ankntnna endhukante naku mundhu nunchi testing medha intesrest udhi, but na career starting lo developer ga vesaru, so nenu change avvadniki kudharledhu. me videos follow ayyanu. nenu tvaraga testing lo job techukovalante am cheyyali? plz give any suggestions/tips also to become effective tester?
That's good to know and welcome to testing buddy. The first thing is you need to change your perspective as you have been a developer till now. As a tester your main job is to break the code that is written by dev. Learn the testing concepts and then continue with automation tools
Hi bro how you call screenshot method in listeners class without creating a object. we are extending that class but it is not a static method right if it is static means no problem we can directly call if it is not static means how we can call directly pls explain bro
How to attach the screenshot to testng report (i..e, to e-mailable report). This because explains only taking screenshot and store in local drive.......
We don't mostly use the TestNG default reports buddy but we use extent reports or allure reports. So check-out my extent reports playlist for learning more on reporting
It is same in any of those framworks buddy. They all use the testng and selenium only internally. so if you understand those frameworks and this concept then it is very easy to implement this in any framework
@@HYRTutorials sir one small last and final doubt in any framework if we want to take screenshot we must add TestNg dependancy or TestNg library sir. Remaining procedure will be same sir
No no you got confused here buddy. TestNG doesn't take any screenshot. Selenium takes the screenshot but TestNG lets you decide when to take that screenshot using its listeners and annotations concepts
Hi , I'm getting this exception "Cannot invoke "org.openqa.selenium.TakesScreenshot.getScreenshotAs(org.openqa.selenium.OutputType)" because "takesScreenshot" is null" , when I'm trying to take a screenshots for failed cases and using ITest Listener. Hope you drop the solution here.
If you want to create new folder everytime how are you going to do that? For doing it we need a unique folder name right? So for generating that we are using timestamp here. Time stamp is going to be unique everytime. Instead of this you can use some randome number logic also but time stamp is more understandable way
↔️ TestNG Playlist Link: bit.ly/3wXyuXB
✴ Checkout my other playlists: bit.ly/3gLIAVL
☕ Buy me a coffee: bit.ly/33ljBWc
Every class is so detailed explanation sir . Thank you very much .God bless you .
Thanks buddy
You are truely Gem.. Shared cent % knowledge on TestNG,,
@H Y R Tutorials : Really nice explanation. I would like to provide couple of suggestions
1. Driver should be private in BaseTest and as an instance variable in order to avoid synchronisation issue.
2. If we use private then we need to modify the Listener class to take screenshots
Thankyou buddy 😊
If you mention the driver variable as private then we can't use the same in test classes buddy
@@HYRTutorials we have to create a public getter method for driver instance.
so again its an extra method creation.
Thats why we can't follow one single mode as every framework is different.
But if we learn the subject then we can apply that in any framework.
Great Explanation, Thanks.
every class has detailed explanation thank you
Glad you liked it buddy
Thanks for ur efforts ❤
Super sir meru
Thankyou buddy 😊
This is amazing video.Your videos are amazing beacause you tell realtime .please make video on reporting like extent report
Thankyou bro.
yeah sure, next week definitely
Hi @HYRTutorials, I have a base testclass file in which the testcase using dataProvider which is used by a sequence of testcases, So I cannot implement nested testcases right, so I implemented each testcase in a different class file and all the testcases will be called under the basetest. But after running the testcases in report it's showing the correct screenshot incase if there is a failure but showing base testclass file as failure instead of it's respective testcase. What to do?
Reminding again next week you promised that you will make video for an extent report.
Will try my best buddy
Thank you for such videos
Thankyou buddy 😊
There is a problem with the code. the webdriver should never be static. If you make it static then you wont be able to do parallel testing.
Yes I agree. For that we need to handle this differently.
screenshotting Chrome's _built-in error screens_, (like SSL errors, broken routing, etc) would have been excellent to cover here.
We can't screenshots of those as they are on chrome tool and the screenshots work on the application
Nice Bro
Hi Sir, What is the need of checking screenshotSubFolderName == null? I understand it is for creating unique filenames. Anyway the string screenshotSubFolderName will be null all the time as we haven't declared it. What is the need here? Can you pls explain the logic!?
Hello sir you called captureScreenshot method in onTestFailure method of listner class then how you called it directly because it is not a static method
But we are extending the basetest class in the listener class ryt
Hi Sir,
FileUtils.copyFile(f,new File("./Screenshots/fileName")); when I am giving like this screenshots are not getting saved, but when I changed to FileUtils.copyFile(f,new File("./Screenshots/"+fileName)); it is working why please explain
Here filename is the variable.
If u mention that inside the double quotes then it is considered as a text. It considers the text as "fileName". But you need the data present in fileName variable so for that you need to use in the second way.
Thank you so much
welcome buddy
can you plz tell what is log files?
Log files are used for storing any information from your application buddy
can we use dataprovider for passing multiple data?
Yes buddy. That's the sole purpose of data provider
In testNg also can we capture the screenshots I was not aware this.. thanks for making this video
In testng we cant capture screenshots but we can decide when to capture the screenshots
Cypress is better when there is need for screenshot it automatically take the screenshots
@@Bell4Fun thanks. I was not aware of this before.. Cypress is programming knowledge?
Hi, I am getting error message - java.lang.NullPointerException (How listeners class knowns about the driver)
You can either inject it or get it in the way that I have shown in this video buddy
In OnTestFailure method can we take screenshot of element that failed and not the screenshot of entire page?
With latest version of selenium you can take it buddy. But you need to pass that element information into this ontestfaioure method
Hi Sir, nenu 2 and half years development project lo work chesanu. ippudu nenu automation testing side vellalani ankntnna endhukante naku mundhu nunchi testing medha intesrest udhi, but na career starting lo developer ga vesaru, so nenu change avvadniki kudharledhu. me videos follow ayyanu. nenu tvaraga testing lo job techukovalante am cheyyali? plz give any suggestions/tips also to become effective tester?
That's good to know and welcome to testing buddy.
The first thing is you need to change your perspective as you have been a developer till now.
As a tester your main job is to break the code that is written by dev.
Learn the testing concepts and then continue with automation tools
Hi bro how you call screenshot method in listeners class without creating a object. we are extending that class but it is not a static method right if it is static means no problem we can directly call if it is not static means how we can call directly pls explain bro
When you introduce the inheritance concept, it is possible buddy
How to attach the screenshot to testng report (i..e, to e-mailable report). This because explains only taking screenshot and store in local drive.......
We don't mostly use the TestNG default reports buddy but we use extent reports or allure reports.
So check-out my extent reports playlist for learning more on reporting
Please brother while your writing program you can remove the console we can't see total program completely.. ❤
Sure buddy
anna, you used there xml for listener ok,
I tried with @Listener annotation but browsers are not closing, they are continueing in the same browser
That's strange. Send me the screenshots on hyadagirireddytutorials@gmail.com
Nice
Thankyou buddy
hello sir i have gate null pointer exception how to resolve it
Nullpointer exception is a very common exception occurs when u r performing any operations on variables with null value
What is mean by teardown in video
Usually the driver closing or quitting part is called as tear down in automation industry
Sir please make capturing screen shot on data-driven framework, cucumber framework and pom framework also sir requesting you sir
It is same in any of those framworks buddy.
They all use the testng and selenium only internally. so if you understand those frameworks and this concept then it is very easy to implement this in any framework
@@HYRTutorials ohh is it sir
@@HYRTutorials sir one small last and final doubt in any framework if we want to take screenshot we must add TestNg dependancy or TestNg library sir. Remaining procedure will be same sir
No no you got confused here buddy.
TestNG doesn't take any screenshot.
Selenium takes the screenshot but TestNG lets you decide when to take that screenshot using its listeners and annotations concepts
I follow all the steps but Unable to capture screen shot.. pls help me
HYR pls make video of extent report5 🙏
It is not going to be a single video and the first video is scheduled for tomorrow morning 11AM.
How to alignment in testing file what is key sir
Ctrl+A
Ctrl+I
So we should called it by using object isn't it
When we use the inheritance concept, we don't require the object creation buddy
How many classes are remaining in testing?
Im not exactly counting the classes buddy.
But approximately 15+ videos are pending still.
So on overall around 40+ videos in TestNG.
Knowledge is not limited it is ocean bro
@@HYRTutorials please upload it as faster u can anna please 🙂
Sure buddy
Hi ,
I'm getting this exception "Cannot invoke "org.openqa.selenium.TakesScreenshot.getScreenshotAs(org.openqa.selenium.OutputType)" because "takesScreenshot" is null" , when I'm trying to take a screenshots for failed cases and using ITest Listener. Hope you drop the solution here.
Ikkada somehow takescreenshot value bull ga undi.
Identify the cause for that buddy.
Or send me the project on hyadagirireddytutorials@gmail.com
Bro how to set maven path in windows system
Try one video bro
Please check this video buddy.
ruclips.net/video/-6Gq_lQbR_c/видео.html
when i tried with this code for me its showing Filenotfoundexception
Send me screenshot and script on hyadagirireddytutorials@gmail.com
Same bro
Pls use try catch instead of thread.sleep()
The reason I have used try catch is just to show the demo only buddy
Using Listeners To capture both pass and fail test cases? Give suggestion.
I have already explained in the video right buddy
i want to learn cucumber perfectly can you suggest please ?
At the moment I don't have any videos on cucumber buddy
I tried the same but I'm getting driver as null ..please help
I think you dint mention "public static" before calling webdriver
Get time stamp method is not understandable creation of unique folders every time please explain it once
If you want to create new folder everytime how are you going to do that?
For doing it we need a unique folder name right?
So for generating that we are using timestamp here.
Time stamp is going to be unique everytime.
Instead of this you can use some randome number logic also but time stamp is more understandable way
क्या आप के पास हिंदी भाषी क्षेत्र के लिए कुछ नहीं है।
Nope buddy.
I know Hindi but not to the level of teaching
? p͎r͎o͎m͎o͎s͎m͎
What is that?
Hi @HYRTutorials i tried this code, but screenshot is not captured. pls help me out