Detailed Notes
Welcome, if you are a tester or developer interested in automation testing or are new to test automation tools than you defiantly need to check out TestProject. However, if you are not familiar with this tool that's OK. In Test Project A Review of Version 2.0 we cover all the new features in Test Project 2.0 as well as walk you through using the tool to setup your first test.
Test Project A Review of Version 2.0 Overview:
What is Test Project What's new in Version 2 Overview of the tool Creating your first test case What is Test Project?
TestProject is a community driven tool and has a free forever plan that is fully featured and that you can get started with in moments. In addition they have a lot of documentation that will help you with all the details you need to use TestProject to create effective test automation that your whole team can use. What Makes Test Project Unique?
First of its kind community powered test automation framework. Second its 100% free test automation development framework designed for agile teams! Advanced built-in recording capabilities AI-Powered self healing technology built in. It seamlessly supports iFrames, Popups and Dynamic Elements. With built in Adaptive-wait technology it automatically handles deviations in web application loading times. Also supports both hybrid cloud and completely offline modes Has a CLI Agent. Finally, it's free forever for anyone to use. Start with a new account:
Create a new account or connect to an existing google or microsoft account.
Install & Register
First start by downloading the TestProject tool. Then, install the TestProject tool on your machine. Finally, make sure the tool is up and running. Make sure your os security settings allow test agent to access your machine
Additional Resources
Hybrid Cloud and Offline Mode https://docs.testproject.io/getting-started/hybrid-cloud-and-offline-mode Understanding Test Files https://docs.testproject.io/getting-started/hybrid-cloud-and-offline-mode/understanding-test-files Using AI to Improve Testing https://docs.testproject.io/getting-started/using-ai-to-improve-testing Finally, this series comes from our mentoring/mastermind classes. These classes are virtual meetings that focus on how to improve our technical skills and build our businesses. After all the goals of each member vary. However, this diversity makes for great discussions and a ton of educational value every time we meet. We hope you enjoy viewing this series as much as we enjoy creating it. As always, this may not be all new to you, but we hope it helps you be a better developer.
Transcript Text
[Music] the other thing is you have this explorer tab now the explorer tab basically takes all that ugly html code source code that is behind the scenes behind the building of this web page that in order to traverse this in the past again we'd have to open up the browser developer console well here it's all cleanly visible in a nice easy to read tree structure and as you walk down and hover over each of these elements you get the full information all in one place there's the full xpath here's the text here's the technique here's the atra no more guessing yep you know no more having to go figure out how all this works you can now just click and have everything in one place you don't have to go guess you don't have to go look you don't have to go do the xpath lookup now if you don't like the full xpath you can always tweak it by using the locator here so say for instance we wanted this one here i could take this xpath oh here's the other thing that's interesting so it let me click over here for a moment if i hover over the image if i go look at the three dots again it tells me that this is an image tag it now slightly changes my actions that i can can do on the image tag to mostly what are image related actions validations same validations these really don't change these are kind of default validations that can apply to almost any web element uh your attributes so here's our attributes here as well so i can copy this i can highlight and copy it or i can click here to save the element i can copy the clipboard or i can target and if i target it takes me straight to the locator this is what i was trying to show you so if we hover over the image go to the three dots go to attributes go to xpath or id but if you click this little target it takes us to the locator so in here i can actually manipulate the xpath real time now so say i just wanted any image on the page so i could do star slash image and if i evaluate it's going to return me all the images so this is a very quick and clean way to also do all your xpath lookups for your tests again we don't have to go look at that nasty console anymore so if i actually wanted to view the console so this was the old way of doing it we would have to come in here we would have to look at the dom we would have to then hit ctrl f then we'd have to come in here and do all this inside of here and maybe get what we need we would also have to right click on the attribute or on the element we would have to come down here to copy all this goes away all this is handled within the record which is very cool very powerful all right let me click a few more things so that we have a test so if i go here go to a blog so we'll just click around a little bit go to toys risk and now let's leave the site so if i click this link it should take me over to amazon so now i'm on amazon so here's the cool part it is still recording our tests so there's our little icon so if i click my icon it actually navigated and handled the switch to the new window so if i actually stop the test right here or actually let me go back over so now if i actually click back it showed that i switched back to windows 0 yes i closed it so it even catches closing of the tabs this is very cool otherwise you'd have to loop through the windows keep track of everything all this is handled here for you and then let me pause it alright so i now have my test so i can also add steps manually so you can add an alert add a cookie base64 encoding you can do a whole basically anything you want to do with selenium or within a recorded step you can do here all right so say we want to test this so let's hit run so it's going to reset my browser to doctorhood.com and then as you can see briefly down in the window it's going a little quickly but it is showing you the steps that it's doing as it's clicking through the site now that is something that is kind of missing from the selenium id when it runs you kind of have to watch over in the test this is kind of cool here so element step 9 is missing does not match don't worry test project ai is looking for another path so if it can't find toys because remember twice was hidden it just built that ai to go click catalog to open up toys so that it could go the toys so it automatically fix the test for you and then when you're done it says hey what you did before didn't quite work the second time through so instead we reworked your test with this xpath to the actual element that you want and if this is good click confirm if not click cancel and go back and fix the test yourself so you can click confirm and we now have our test so if i close my browser i go back over here to my other browser window and here is our doctor who test so we can edit our test information here we can run it we can delete it or we could move it to a folder we could share this test with anyone we can duplicate the test we can save it to file we can get csv parameters generate code so oh i did not talk about this yet so one beautiful thing about test project is not only can you record your tests but you can also export your test type to any of these three languages it supports java c-sharp and python it also supports selenium open sdk and so you can select selenium you can select test project and you can also select the browser and then so my first project hit download so it generated the code save zip file showing here and here's our source generated test my first project so we have a generated utilities and a generated dr who's let me open up this guy and if you're familiar with selenium it looks pretty close to a typical selenium test so here we are let's see driver.manage timeout so here we're setting our timeouts driver is instantiated in the setup so we're using remote webdriver we're setting the options to chrome so typically what you would see in a normal selenium test but up until this point we haven't even had to touch the code at all all this was just done from within test project so if i want to go in and actually run the test i can run the test other thing too so we can go look at our reports we can see okay i ran doctor who's stuff sorry we ran my first test first we have not run doctor who stuff yet because i ran it from within the test it wasn't saved but now if i go look here okay here's my old test yes so this was the test that was run this morning so now if i go back over to my project and i want to say run this test so let's do chrome headless and let's do firefox headless do next that's fine let's run these in parallel run now let's go look at monitor so you see we're now running chrome or it's preparing the test but it's going to run chrome and firefox okay it's done preparing so it's kicked off chrome chrome is running firefox might fail i might not have that configured yet so if you click the little hierarchy here it will show you what's executing and i think the reason it's not running in parallel is because i only have one agent running if i install multiple agents it probably would run multiple agents yep so ideally i think the reason these did not run multi-threaded or simultaneously is because i only have the one agent running so if i install multiple agents it can probably run as many browser stacks as you have agents finish also while that's running you can see up here at the top we're currently running one test zero jobs two tests running we have one agent online and now the test is done so it's going to clean up so now we can go look at our reports there we go doctor who 100 no failures we can walk into that past i want to expand it out there we go so now more detailed view so from the high level view it just gives you the summary if you want a more detailed view you go into the report and then here's the details and here's the steps that were run if it failed you could click show me just the failed test and it will show you the lines that failed it tried to run them in parallel uh did not work because i did not have enough agents but it also tells you hey you had 100 test passage for chrome and 100 test passage for firefox so that is test project in a nutshell does anyone have any questions on the test project application or even test project as a whole can these numbers be used to determine pretty much the performance of the software or the website because i'm seeing good numbers there this is primarily for your functional tests of your system if you want to do a performance type testing you're still going to have to do some type of load ui or load testing of the application for performance i have not gotten into anything specific with them but i have not seen anything in their documentation referring to performance testing yeah because i was looking at the numbers and i was like um so if it runs slow that we need to also record that like for instance if you're getting um maybe the response back from uh hitting the server maybe opening up a web browser or something like will this tool be able to record that yes well oh and that was one little piece i did not show so if we jump back over here for a second new questions would help so if we go back into our project and we go into our test if you click the little test tab here here is your execution speed so by default it has a normal but it has what's called this adaptive weight so you can have it be very minimal so like hey we expect this to run quickly it may take a little bit longer so you can slip switch it over to patient or very patient for long delays and what this does is it starts to record that it will start thinking about okay how long is it taking to run your test and if you have to constantly run it over here there might be a performance issue with your application like i said i have not seen anything specific in test project yet that handles performance testing this is primarily for functional testing okay gotcha okay thank you yeah no it's just been looking at the numbers that's why yeah but that's the beauty of it so the reports do give you at least some high level of time it takes to run a test okay and then like as you run it it says oh okay you had 33 failure 67 failure so no failures on this one it ran once total time run so if you start seeing this time go up over time then you know you might have an issue like to thank you all for your time today if you'd like to discuss any of these topics further be it testing be a development or even you know job related questions please reach out to us you can find us on info development dot com or go to our website developernerd.com contact us you can also find our videos on youtube and vimeo vimeo we're at vimeo.com developernerd and if you go to youtube and search for developer in the search you'll find our videos our goal is making every developer better thank you have a wonderful day [Music] you
Transcript Segments
[Music]
the other thing is you have this
explorer tab now the explorer tab
basically takes
all that ugly html code source code that
is behind the scenes behind the building
of this web page that in order to
traverse this in the past again we'd
have to open up the browser developer
console well here it's all cleanly
visible in a nice easy to read tree
structure and as you walk down and hover
over each of these elements you get the
full information all in one place
there's the full xpath here's the text
here's the technique here's the atra
no more guessing
yep you know no more having to go figure
out how all this works you can now just
click and have everything in one place
you don't have to go guess you don't
have to go look you don't have to go do
the xpath lookup now if you don't like
the full xpath you can always tweak it
by using the locator here
so say for instance we wanted this one
here
i could take
this xpath
oh here's the other thing that's
interesting so it let me
click over here for a moment if i hover
over the image if i go look at the three
dots again it tells me that this is an
image tag it now slightly changes
my actions that i can
can do on the image tag to
mostly what are image related actions
validations same validations these
really don't change these are kind of
default validations that can apply to
almost any web element
uh your attributes so here's our
attributes here as well
so i can copy this i can highlight and
copy it or i can click here
to save the element i can copy the
clipboard or i can target and if i
target
it takes me straight to the locator this
is what i was trying to show you so if
we hover over the image
go to the three dots
go to attributes
go to xpath
or id
but if you click this little target it
takes us to the locator so in here i can
actually manipulate the xpath real time
now so say i just wanted any image on
the page
so i could do star
slash image and if i evaluate it's going
to return me all the images
so this is a very quick and clean way to
also do all your xpath lookups for your
tests
again we don't have to go look at that
nasty console anymore so if i actually
wanted to view the console
so this was the old way of doing it we
would have to come in here we would have
to look at the dom
we would have to then hit ctrl f then
we'd have to come in here and do all
this inside of here
and maybe get what we need we would also
have to right click on the attribute or
on the element we would have to come
down here to copy
all this goes away all this is handled
within the record which is very cool
very powerful
all right let me click a few more things
so that we have a test so if i go here
go to a blog
so we'll just click around a little bit
go to toys
risk
and now let's leave the site so if i
click this link it should take me over
to amazon
so now i'm on amazon so here's the cool
part it is still recording our tests so
there's our little icon so if i click my
icon
it actually navigated and handled the
switch to the new window
so if i actually stop the test right
here or actually let me go back over so
now if i actually click back it showed
that i switched back to windows 0
yes i closed it so it even catches
closing of the tabs
this is very cool
otherwise you'd have to loop through the
windows keep track of everything all
this is handled here for you
and then let me pause it alright so i
now have my test
so i can also add steps manually
so you can add an alert add a cookie
base64 encoding you can do a whole
basically anything you want to do with
selenium or within a recorded step you
can do here
all right so say we want to test this so
let's hit
run so it's going to reset
my browser to doctorhood.com
and then as you can see
briefly down in the window it's going a
little quickly but it is showing you the
steps that it's doing as it's clicking
through the site
now that is something that is kind of
missing from the selenium id when it
runs you kind of have to watch over in
the test
this is kind of cool here
so
element step 9 is missing does not match
don't worry test project ai is looking
for another path so
if it can't find toys because remember
twice was hidden
it just built that ai to go click
catalog to open up toys so that it could
go the toys so it automatically fix the
test for you
and then when you're done it says hey
what you did before didn't quite work
the second time through so instead we
reworked your test with this xpath to
the actual element that you want
and if this is good click confirm if not
click cancel and go back and fix the
test yourself so you can click confirm
and we now have our test so if i close
my browser
i go back over here to my other browser
window and here is our doctor who test
so we can edit our test information here
we can run it we can delete it
or
we could move it to a folder we could
share this test with anyone
we can duplicate the test
we can save it to file we can get csv
parameters
generate code
so
oh i did not talk about this yet so one
beautiful thing about test project is
not only can you record your tests but
you can also export your test type to
any of these three languages it supports
java c-sharp and python it also supports
selenium open sdk
and so you can select selenium you can
select test project
and
you can also select the browser and then
so my first project hit download
so it generated the code
save
zip file showing
here
and here's our source
generated test my first project
so we have a generated utilities and a
generated dr who's
let me open up this guy
and if you're familiar with selenium it
looks pretty close to a typical selenium
test
so here we are
let's see driver.manage timeout so here
we're setting our timeouts driver
is instantiated in the
setup so we're using remote webdriver
we're setting the options to chrome
so typically what you would see in a
normal selenium test
but up until this point we haven't even
had to touch the code at all
all this was just done from within test
project
so if i want to go in and actually run
the test i can run the test
other thing too so we can go look at our
reports we can see okay i ran doctor
who's stuff
sorry we ran my first test first we have
not run doctor who stuff yet
because i ran it from within the test it
wasn't saved but now if i go look here
okay here's my old test
yes so this was the test that was run
this morning so now
if i go back over to my project
and i want to say run this
test so let's do
chrome headless
and let's do firefox headless
do next
that's fine
let's run these in parallel
run
now let's go look at monitor
so you see we're now running chrome or
it's preparing the test but it's going
to run chrome and firefox okay it's done
preparing
so it's kicked off chrome chrome is
running
firefox might fail i might not have that
configured yet
so if you click the little hierarchy
here it will show you what's executing
and i think the reason it's not running
in parallel is because i only have one
agent running if i install multiple
agents it probably would run multiple
agents
yep so ideally i think the reason these
did not run multi-threaded
or simultaneously is because i only have
the one agent running so if i install
multiple agents
it can probably run as many browser
stacks as you have agents
finish
also while that's running you can see up
here at the top
we're currently running one test zero
jobs
two tests running we have one agent
online
and now the test is done
so it's going to clean up
so now we can go look at our reports
there we go doctor who
100
no failures
we can walk into that
past
i want to expand it out
there we go so now more detailed view so
from the high level view
it just gives you the summary
if you want a more detailed view you go
into the report
and then here's the details and here's
the steps that were run
if it failed you could click show me
just the failed test and it will show
you the lines that failed
it tried to run them in parallel uh did
not work because i did not have enough
agents but it also tells you hey
you had 100 test passage for chrome and
100 test passage for firefox
so that is test project in a nutshell
does anyone have any questions on the
test project application or even test
project as a whole
can these numbers be used to determine
pretty much the performance of
the software or the website because i'm
seeing good numbers there
this is primarily for your functional
tests of your system
if you want to do a performance type
testing you're still going to have to do
some type of load ui or load testing of
the application for performance
i have not gotten into anything specific
with them but i have not seen anything
in their documentation referring to
performance testing
yeah because i was looking at the
numbers and i was like um
so if it runs slow that we need to also
record that like for instance if you're
getting um
maybe the response back from uh hitting
the server maybe opening up a web
browser or something like will this tool
be able to record that
yes well oh and that was one little
piece i did not show
so if we jump back over here for a
second
new questions would help
so if we go back into our project
and we go into our test
if you click the little test tab here
here is your execution speed so by
default it has a normal but it has
what's called this adaptive weight so
you can have it be very minimal so like
hey we expect this to run quickly
it may take a little bit longer so you
can slip switch it over to patient or
very patient for long delays
and what this does is
it starts to record that it will start
thinking about okay how long is it
taking to run your test
and if you have to constantly run it
over here there might be a performance
issue with your application
like i said
i have not seen anything specific in
test project yet that handles
performance testing this is primarily
for functional testing
okay gotcha okay thank you yeah
no it's just been looking at the numbers
that's why
yeah but that's the beauty of it so the
reports do give you at least some high
level of time it takes to run a test
okay and then like as you run it it says
oh okay you had 33 failure 67 failure
so no failures on this one it ran once
total time run so if you start seeing
this time go up over time then you know
you might have an issue
like to thank you all for your time
today if you'd like to discuss any of
these topics further be it testing be a
development or even you know job related
questions please reach out to us you can
find us on info development dot com
or go to our website developernerd.com
contact us you can also find our videos
on youtube and vimeo
vimeo we're at vimeo.com developernerd
and if you go to youtube and search for
developer in the search you'll find our
videos
our goal is making every developer
better thank you have a wonderful day
[Music]
you