1
00:00:00,210 --> 00:00:06,120
Hi, guys, my name is Karthik and I am from Automation Dotcom and welcomed an all new course from automation

2
00:00:06,120 --> 00:00:08,550
on Internet test automation with playwrite.

3
00:00:08,850 --> 00:00:13,010
And in this new course we are going to talk exclusively about playwrite.

4
00:00:13,600 --> 00:00:19,770
I already discussed about many automation testing tools in my courses like Selenium, Cyprus, Puppeteer,

5
00:00:20,370 --> 00:00:24,810
Protractor, Zamin, Latest ABMs and many of distinct tools.

6
00:00:25,320 --> 00:00:31,170
But all these testing tool, if we look at them holistically, try to address some of the main key pain

7
00:00:31,170 --> 00:00:38,130
point with the other tool and able to provide and they try to enrich or enhance in that particular area.

8
00:00:38,640 --> 00:00:44,310
And all these automation distractor has many different language binding support, and they always try

9
00:00:44,310 --> 00:00:49,440
to come up with some of the feature which the current or the existing tool doesn't really have, which

10
00:00:49,440 --> 00:00:50,190
is really cool.

11
00:00:50,190 --> 00:00:54,420
And this is trying to improve every time I try to see these testing tools.

12
00:00:54,750 --> 00:01:02,310
And if we look at all these testing tools, what they do, especially as in principle or what are the

13
00:01:02,310 --> 00:01:08,310
things that an automation testing tool should have or possess as a principle, are in general going

14
00:01:08,310 --> 00:01:09,300
to look something like this.

15
00:01:09,510 --> 00:01:17,100
This should have support of modern Web browsers and platforms like Chrome and Chrome, Safari, Firefox,

16
00:01:17,100 --> 00:01:22,020
Opéra, things of that nature and platform like Windows, Macarius and Linux.

17
00:01:22,020 --> 00:01:23,880
So this is really, really important.

18
00:01:24,390 --> 00:01:30,720
If they also support some of the mobile operating systems, like I was an android, it is very, very

19
00:01:30,900 --> 00:01:31,550
good as well.

20
00:01:31,950 --> 00:01:34,920
So these are some of the support isn't just automation should have.

21
00:01:35,130 --> 00:01:41,190
That's an important principle, especially when it comes to choosing an automation Destrehan to similarly

22
00:01:41,340 --> 00:01:48,730
support our modern language binding like popular C, sharp Java, JavaScript, Python, Goaland and

23
00:01:48,750 --> 00:01:49,650
all these languages.

24
00:01:49,650 --> 00:01:53,810
So these are some of the most important aspect of automation as well.

25
00:01:54,210 --> 00:02:00,450
Similarly, support of modern Web application tech stocks like React Engler and more new modern web

26
00:02:00,450 --> 00:02:03,210
application tech stack, which comes in every now and then.

27
00:02:03,450 --> 00:02:09,420
Those text tags should be supported well and then support of extensibility by third parties.

28
00:02:09,420 --> 00:02:13,560
So these automation testing tools like selenium, in this case, we could have seen that.

29
00:02:13,560 --> 00:02:20,550
I mean, testing tools, providers like Test Comp. Test Project, Catalona Studio, they try to extend

30
00:02:20,550 --> 00:02:23,370
selenium a lot because selenium is highly extendable.

31
00:02:23,370 --> 00:02:29,760
And similarly, any testing tool which is highly extendible can also get benefited because these Third-Party

32
00:02:29,940 --> 00:02:35,040
companies can add some more features to the test automation tool that they are trying to extend with.

33
00:02:35,250 --> 00:02:40,920
And that brings more benefit to that particular tool, which is also one of the important aspect and

34
00:02:40,920 --> 00:02:43,350
support of continuous integration and continuous delivery.

35
00:02:43,650 --> 00:02:49,020
Docker or any modern platform integration is really, really important, and that makes the life of

36
00:02:49,020 --> 00:02:55,200
testers and developers much more easier because those are some of the intrinsic part of precent automation

37
00:02:55,200 --> 00:02:55,800
testing era.

38
00:02:55,920 --> 00:03:01,200
And finally, the testing tools should be opensource, are opensource to a certain degree, because

39
00:03:01,200 --> 00:03:07,740
that's really important, because the way it does automation tool can be enhanced or can be enhanced

40
00:03:07,740 --> 00:03:12,930
is by making that particular tool as opensource to a certain degree so that the community can start

41
00:03:13,320 --> 00:03:17,490
contributing and make that particular tool more richer and more adaptable.

42
00:03:17,490 --> 00:03:19,980
And that is the reason selenium got very, very famous.

43
00:03:20,460 --> 00:03:24,690
So these are some of the guiding principle of a good automation testing tool.

44
00:03:24,810 --> 00:03:30,060
And if you have all these things, then it is very, very easy for any person who is going to choose

45
00:03:30,300 --> 00:03:34,410
that testing tool as their next testing tool for automating their application.

46
00:03:34,740 --> 00:03:41,640
Malaz, it said Playwrite is a node library which provides a high level API to control Chrome, Firefox

47
00:03:41,640 --> 00:03:44,700
and VEP, which is nothing but Safadi with a single API.

48
00:03:45,030 --> 00:03:50,490
And that's really cool because you can see that playwrite is actually a modern testing tool and also

49
00:03:50,490 --> 00:03:53,990
supporting modern browsers like Chrome, Firefox and Flipkart.

50
00:03:54,000 --> 00:03:59,760
And Chrome includes Chrome browser Chrome browsers and any Chrome based browsers.

51
00:03:59,760 --> 00:04:02,130
It can be even brail browser for that matter.

52
00:04:02,370 --> 00:04:06,450
And similarly, Firefox, which is very popular and it is nothing but Safadi.

53
00:04:06,450 --> 00:04:12,120
So these are modern browsers, which is being supported and Playwright's browser runs hitless by default,

54
00:04:12,120 --> 00:04:15,930
but can be configured to run in headful mode along with various different modes.

55
00:04:15,930 --> 00:04:21,210
I mean, we talk about the modes and browser support later in this course and playwrite is getting popular

56
00:04:21,450 --> 00:04:26,790
and now has support of many famous language bindings and browsers, as we've discussed before.

57
00:04:27,240 --> 00:04:34,920
So some of the popular language binding the time while I'm recording this video are JavaScript and TypeScript

58
00:04:35,400 --> 00:04:40,070
Python, C, Sharp Galangal and Java.

59
00:04:40,230 --> 00:04:43,800
So these are the language bindings which playwrite support the time.

60
00:04:43,800 --> 00:04:50,640
While I'm recording this video, it can be very easily extended like other six or seven language pretty

61
00:04:50,640 --> 00:04:57,090
soon, maybe the end of twenty twenty one, because I could see that in past two months or three months

62
00:04:57,090 --> 00:04:59,280
in twenty twenty the C sharp go.

63
00:04:59,860 --> 00:05:07,020
And Java supporters were added, so you can see that playwrite is just growing drastically and the language

64
00:05:07,020 --> 00:05:09,740
binding support is also increasing pretty quickly at the moment.

65
00:05:10,470 --> 00:05:12,820
And what of the other new features which it has got?

66
00:05:13,110 --> 00:05:20,160
Well, playwright has got a call auto feature like it vapes automatically for the control to be available,

67
00:05:20,160 --> 00:05:22,440
like completely visible or displayed or something like that.

68
00:05:22,890 --> 00:05:30,540
And it can span multiple pages, frames and domains so you can do whatever scenarios that you are really

69
00:05:30,540 --> 00:05:31,380
expecting to do.

70
00:05:31,710 --> 00:05:36,570
Similarly, you can intercept the network activities and perform Stebbings, which are really, really

71
00:05:36,570 --> 00:05:42,090
important because you can do some of the cool things, like you can intercept the network to see what

72
00:05:42,240 --> 00:05:43,440
activity is being performed.

73
00:05:43,560 --> 00:05:48,540
One of the important things I really like about playwrite is you can intercept the network in such a

74
00:05:48,540 --> 00:05:55,080
way that you can get some of the most important analytics detail off your website and see if that particular

75
00:05:55,230 --> 00:05:59,900
event or Ívar is being fired while you perform certain activities.

76
00:05:59,910 --> 00:06:04,290
So because you know that most of the website comes in such a way that these websites comes along with

77
00:06:04,290 --> 00:06:09,960
some analytics information like user's behavior or pattern on a particular website, those information

78
00:06:09,960 --> 00:06:11,430
needs to be tested as well.

79
00:06:11,550 --> 00:06:17,400
And it is pretty hard to test those in selenium or any other testing tool because you need to actually

80
00:06:17,400 --> 00:06:19,390
intercept them and grab them.

81
00:06:19,410 --> 00:06:22,590
I mean, Cyprus actually has that using intercept method.

82
00:06:22,800 --> 00:06:23,760
You can do that.

83
00:06:24,060 --> 00:06:28,350
And the exact same thing is available with playwrite, and it's much more sophisticated as well.

84
00:06:28,500 --> 00:06:35,130
I mean, you will see while I talk about that in this course, similarly, you can create an UP-TO-DATE

85
00:06:35,130 --> 00:06:40,290
automated testing environment and run your test directly in the latest version of Chrome and Firefox,

86
00:06:40,290 --> 00:06:43,740
because it'll be automatically downloaded for you in the playwright.

87
00:06:44,100 --> 00:06:49,470
And similarly, you can emulate the mobile devices, geolocation and permissions when you try to run

88
00:06:49,470 --> 00:06:53,940
the test, because those are something you can do from that, from the tool which is available.

89
00:06:54,030 --> 00:06:56,120
And Playwrite has the whole control over that.

90
00:06:56,490 --> 00:07:02,910
And finally, it has the native disk recorder test runners and video captured capabilities, which makes

91
00:07:02,910 --> 00:07:07,290
the testing tool even more adaptable and available for everybody.

92
00:07:07,320 --> 00:07:11,130
So these are some of the cool things that you can do with playwrite, and you can see that these are

93
00:07:11,130 --> 00:07:17,100
some of the most important and common features that any modern testing tool should possess and all those

94
00:07:17,100 --> 00:07:20,070
modern features and tools that are already there with playwrite.

95
00:07:20,310 --> 00:07:25,530
And this question, like many people are asking, like will playwrite replace selenium?

96
00:07:26,070 --> 00:07:31,770
Well, playwrite is still maintained by Microsoft team with a huge roadmap in place and playwrite team

97
00:07:31,770 --> 00:07:37,050
is committed to bring all the rich features with an automation testing tools and ecosystem requires.

98
00:07:37,050 --> 00:07:43,680
And they are bringing CLIA with record and playback testers, various language bindings, browser supports,

99
00:07:44,020 --> 00:07:50,070
active supports, and more so that they are bringing like a whole good rich ecosystem right now to make

100
00:07:50,310 --> 00:07:52,740
it more available and accessible by everybody.

101
00:07:52,740 --> 00:07:57,240
And, you know, Microsoft team, they're trying to push much harder with their Chrome browser.

102
00:07:57,480 --> 00:08:03,330
And they wanted a testing tool which can also do the exact same thing for the community with all these

103
00:08:03,330 --> 00:08:04,290
practices in place.

104
00:08:05,280 --> 00:08:12,150
So the question about will replace Aeonium, I'm not definitely sure about that, but definitely Playwrite

105
00:08:12,150 --> 00:08:14,580
is doing really, really awesome in the testing world.

106
00:08:14,940 --> 00:08:19,320
And this clearly shows that the player, it has all the great features which mature to like selenium

107
00:08:19,500 --> 00:08:21,930
has got along with a lot of modern capabilities.

108
00:08:23,230 --> 00:08:28,060
But as did that insolation, part of it is very, very popular because it's quick installation, it's

109
00:08:28,060 --> 00:08:33,040
super fast and easy to get started under 30 seconds because all you can do is NPM.

110
00:08:33,040 --> 00:08:39,060
I find D a playwright if you're trying to install on a JavaScript based language.

111
00:08:39,070 --> 00:08:42,430
So if you're going to work with maybe Java, the installation would be different.

112
00:08:42,430 --> 00:08:46,160
If you're going to work with the C sharp language, meaning it's going to be different and for Goldwing

113
00:08:46,180 --> 00:08:46,900
it's going to be different.

114
00:08:46,900 --> 00:08:51,130
But for JavaScript and TypeScript, this is the command that you should be doing.

115
00:08:51,130 --> 00:08:54,300
That node package manager should do the installation for you.

116
00:08:54,770 --> 00:08:56,950
The same requirement is also very, very easy.

117
00:08:57,430 --> 00:09:01,080
All you need to do is you need to have a node just installed within your machine.

118
00:09:01,100 --> 00:09:04,990
So first thing to go and download the Norges for Windows are for Mac.

119
00:09:04,990 --> 00:09:10,110
If you are using it in this whole course, we've been talking everything in the Mac operating system.

120
00:09:10,180 --> 00:09:10,880
It doesn't matter.

121
00:09:10,900 --> 00:09:12,700
You can use Windows or Linux.

122
00:09:12,910 --> 00:09:14,080
Doesn't matter at all.

123
00:09:14,260 --> 00:09:19,840
But I have Mac and one, so I'm just going to be using my Apple Mac and want to do all sorts of things

124
00:09:19,840 --> 00:09:21,470
and we will see how it actually works with Apple.

125
00:09:21,620 --> 00:09:26,920
One well, like a native support and we'll be using literally a code for developing the scenarios and

126
00:09:26,920 --> 00:09:31,060
running the test like an idea for TypeScript and JavaScript.

127
00:09:31,330 --> 00:09:36,670
You can use any of your choice, but I'm going to prefer using military code, which is much, much

128
00:09:36,670 --> 00:09:38,100
easier to work with as well.

129
00:09:38,770 --> 00:09:43,510
And for Java, we're going to use intelligent idy and for Darknet, we're going to use 2019.

130
00:09:44,110 --> 00:09:50,110
And you should have a good Internet connectivity, which makes your testing journey much, much smoother

131
00:09:50,110 --> 00:09:50,650
and easier.

132
00:09:50,950 --> 00:09:56,270
Well, let's get started installing playwrite with JavaScript language and see how it actually works.

133
00:09:56,290 --> 00:10:03,580
So in this section, we are going to fully focus on installing and getting things ready with playwrite

134
00:10:03,580 --> 00:10:08,380
and see some of the great features that Peter has to offer for any testers.

135
00:10:08,380 --> 00:10:12,130
And we'll just get acquainted with the playwright itself.

136
00:10:12,130 --> 00:10:14,230
And for the next section, we'll talk about the basics.

137
00:10:14,230 --> 00:10:18,400
And followed by that, we'll talk about a bit more advanced concept and then talk about frameworks and

138
00:10:18,400 --> 00:10:19,150
things of that nature.

139
00:10:19,450 --> 00:10:20,800
All right, let's get started.
