TestNG Listeners - Code Refactoring

6 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.68
List Price:  €93.84
You save:  €28.15
£56.66
List Price:  £80.95
You save:  £24.28
CA$95.92
List Price:  CA$137.04
You save:  CA$41.11
A$108.49
List Price:  A$154.99
You save:  A$46.50
S$95.39
List Price:  S$136.27
You save:  S$40.88
HK$548.43
List Price:  HK$783.50
You save:  HK$235.07
CHF 63.83
List Price:  CHF 91.19
You save:  CHF 27.36
NOK kr770.92
List Price:  NOK kr1,101.37
You save:  NOK kr330.44
DKK kr490.07
List Price:  DKK kr700.13
You save:  DKK kr210.06
NZ$118.44
List Price:  NZ$169.21
You save:  NZ$50.76
د.إ257.05
List Price:  د.إ367.23
You save:  د.إ110.18
৳7,675.43
List Price:  ৳10,965.37
You save:  ৳3,289.94
₹5,833.71
List Price:  ₹8,334.23
You save:  ₹2,500.52
RM334.55
List Price:  RM477.95
You save:  RM143.40
₦87,974.63
List Price:  ₦125,683.43
You save:  ₦37,708.80
₨19,463.37
List Price:  ₨27,806
You save:  ₨8,342.63
฿2,592.21
List Price:  ฿3,703.32
You save:  ฿1,111.11
₺2,281.84
List Price:  ₺3,259.92
You save:  ₺978.07
B$361.60
List Price:  B$516.59
You save:  B$154.99
R1,346.51
List Price:  R1,923.67
You save:  R577.16
Лв128.31
List Price:  Лв183.31
You save:  Лв54.99
₩96,439.05
List Price:  ₩137,775.97
You save:  ₩41,336.92
₪264.71
List Price:  ₪378.18
You save:  ₪113.46
₱4,028.06
List Price:  ₱5,754.62
You save:  ₱1,726.55
¥10,834.45
List Price:  ¥15,478.45
You save:  ¥4,644
MX$1,198.27
List Price:  MX$1,711.89
You save:  MX$513.62
QR255.04
List Price:  QR364.36
You save:  QR109.32
P968.68
List Price:  P1,383.88
You save:  P415.20
KSh9,413.65
List Price:  KSh13,448.65
You save:  KSh4,035
E£3,365.09
List Price:  E£4,807.48
You save:  E£1,442.38
ብር3,981.35
List Price:  ብር5,687.89
You save:  ብር1,706.54
Kz58,437.56
List Price:  Kz83,485.81
You save:  Kz25,048.25
CLP$66,674.57
List Price:  CLP$95,253.47
You save:  CLP$28,578.90
CN¥507.20
List Price:  CN¥724.60
You save:  CN¥217.40
RD$4,125.63
List Price:  RD$5,894.01
You save:  RD$1,768.38
DA9,411.41
List Price:  DA13,445.45
You save:  DA4,034.04
FJ$159.39
List Price:  FJ$227.71
You save:  FJ$68.32
Q544.08
List Price:  Q777.29
You save:  Q233.21
GY$14,631.85
List Price:  GY$20,903.54
You save:  GY$6,271.69
ISK kr9,872.78
List Price:  ISK kr14,104.58
You save:  ISK kr4,231.80
DH709.20
List Price:  DH1,013.18
You save:  DH303.98
L1,247.93
List Price:  L1,782.83
You save:  L534.90
ден4,043.10
List Price:  ден5,776.11
You save:  ден1,733
MOP$564.45
List Price:  MOP$806.39
You save:  MOP$241.94
N$1,335.12
List Price:  N$1,907.39
You save:  N$572.27
C$2,574.01
List Price:  C$3,677.32
You save:  C$1,103.30
रु9,327.88
List Price:  रु13,326.11
You save:  रु3,998.23
S/257.70
List Price:  S/368.16
You save:  S/110.46
K265.79
List Price:  K379.71
You save:  K113.92
SAR262.52
List Price:  SAR375.04
You save:  SAR112.52
ZK1,806.09
List Price:  ZK2,580.25
You save:  ZK774.15
L326.86
List Price:  L466.96
You save:  L140.10
Kč1,659.60
List Price:  Kč2,370.96
You save:  Kč711.36
Ft25,883.91
List Price:  Ft36,978.60
You save:  Ft11,094.68
SEK kr762.07
List Price:  SEK kr1,088.71
You save:  SEK kr326.64
ARS$61,049.92
List Price:  ARS$87,217.91
You save:  ARS$26,167.99
Bs484.99
List Price:  Bs692.87
You save:  Bs207.88
COP$273,464.60
List Price:  COP$390,680.46
You save:  COP$117,215.86
₡35,005.20
List Price:  ₡50,009.58
You save:  ₡15,004.37
L1,726.48
List Price:  L2,466.51
You save:  L740.02
₲518,221.78
List Price:  ₲740,348.57
You save:  ₲222,126.78
$U2,696.53
List Price:  $U3,852.35
You save:  $U1,155.82
zł283.79
List Price:  zł405.43
You save:  zł121.64
Already have an account? Log In

Transcript

Hello all welcome back to the next one. We have learned all the kinds of listeners. But one thing is very important. Let's do a little bit of refactoring or maybe code cleanup kind of thing. We created three different listener classes custom listener, one, two, and three. But do we really want three different listeners in our test suite?

We probably do not want that. What we can do here is we can simply refactor it and put everything under one custom listener, and then use that custom listener in our test classes. That's very easy and simple to do, right. So what we're gonna do here is we are going to just create a new class and name it as custom listener, listeners, custom listeners, and click finish and more We're going to do here is we want to put everything under this. So I'm gonna open all the custom listener one, two, and three. And I'm gonna start from maybe one and start copying the code that we created.

So Command C, or Ctrl. C. And let's go to custom listeners. And then just paste it. Save it. Then let's go to custom listener to and copy the complete code. So up to here, copy, and let's go to custom listeners.

And paste it there. And then let's go to custom listener three and copy the code from here and paste it on custom listeners. And we are seeing a bunch of errors right now. In coppy properly. So we are seeing a bunch of errors in our custom listener class, right, the one that we created here, we are seeing a bunch of errors here. So how do we get rid of them?

The reason is because we have not added the implements here, right, so implement. And we can implement all of them in the same class. I'm just going to copy this. From here, copy and go to custom listeners and implements this thing here. Then, comma, and then from custom listener, to scroll up. Select, copy, implement this one and then comma.

Go to customers. Now three, select isolate listener and copy it here and then save the file. Now let's see what's happening. So it says import because we need to import these things right. Since we are copying it we are not typing and we are not importing, we are not letting Eclipse to do the magic, we have to go here and hover the mouse and select Import. So when every package is imported successfully, we can minimize this and we can see all the errors are gone.

Simple. This is our one stop file for the custom listeners. Everything is inside here. You can implement all the logic here. Everything will be done here. And then what we can do here is we can simply I'm just going to close all of the remaining files.

And in our test listeners, also we don't need to do anything just in our XML. While this one listener plays, we just need to replace with our new filename. So it says now custom listeners. And that's the name we gave here. So in our XML file, we just change the name of the listener. And I'm just gonna minimize these ones.

And I'm just gonna right click the XML file and run it. So basically, it's gonna run all the test methods, setup methods, everything from listener, test one and listeners to, and there's gonna be a lot of print statements. So let's run it as test in G Suite. And here we go. So it ran the complete suite listeners test suite. There were two test x application test one application test two.

Under that we had listener test one class listener test to class and test method one and test method right That's, that's all we had. Now let's go to console. And let's see on start before sweet starts, and this onstart is from test tag name. So this is for the test tag, it is the same name, but it's from different interfaces. Then this is coming from onstart we executed the logic for finding the method names all the method names inside the test ad. And before invocation, then code inside every method set up test method, one test method to clean up and then on finish, and then again on start.

So this on finish is from test tag. And this on OnStar is again from test tag, right. So basically the test tag ended here. Then again, the OnStar has started and it figured out the names of all the test methods. And finally we'll see there are two on finish one from the test tag and others From the test suite, because test suite, test suite, basically the complete suite, on start and on finish method for the suite will only execute once, right? So everything went fine, pretty good.

And we saw that how we can club all the listeners into one class and then just use that class. We don't have to wander around and type the functionalities in different classes, no need to do that. So that's about it. That's kind of small refactoring, and making the use of one class in our test engine listeners. Please let me know if you have any questions, and I'll see in the next lecture. Thanks for attending this one.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.