Thursday, January 31, 2019

If, elif, and else in SikuliX automated software testing to toggle volum...


In this tutorialvideo I show you how to use if condition to handle uncertain scenarios in test automation.
We're using SikuliX which lets us write scripts in Jython, a flavor of Python that runs on JVM.
Please note I publish one new automated testing video every Thursday.
These are geared towards teaching automated testing to our manual QA friends.

Monday, January 28, 2019

Drag and drop operation in SikuliX for automated testing



It is very easy to perform drag and drop operation in SIkuliX. In this video I will show you how to perform drag drop in Sikuli. Sikuli is a test automation tool. It can be used for improving your QA testing speed and accuracy.
This video is published on Test Automation TV, a Youtube channel aimed at helping all QA persons become automated testers. It is also there to improve the knowledge of existing automation testers and form a community.
New video tutorials and discussions are posted every Thursday, please subscribe.

Thursday, January 24, 2019

Host, IP Address, and Port Number In Computer Networking, Socket Programing, and Distributed Applications

Host Computer Network Socket Programming
Example of A Host In A Computer Network


Host

We must have a sound understanding of a few networking concepts before we start writing a network application’s code. We’ll start with the term Host.

More than 65% discount on network & socket programming courses:




A host is a fancy term for any computing device connected to a computer network.
This machine can be a laptop, a smartphone, your home router, Amazon Alexa, or a server running in the cloud.
A machine is called a host for a reason.
It is called a host because "it is hosting a software which can communicate over the network."

Every host on a network is accessible through a unique address within that network.
This address is called Internet Protocol Address, or IP Address for short.

 A few examples of IP addresses are given below. It is written in dotted decimal notation.
We’ll learn more about the IP address in the next video.

IP Address

In this video, I’ll explain what an IP address is. IP Stands for Internet Protocol.
V is for version.
IP Address UDP and TCP IP Socket Programming IP V4
IP V4 In Computer Networks

At present, IP V4 is the most widespread IP protocol.
Another version of IP specification is IP V6, which is catching up these days.
An IP V4 address is a group of 4 different 8-bit numbers.
The total length of the IP Address is 32 bits.
An individual number inside the IP Address can have a value between 0 and 255
When printing an IP address, the four numbers are separated by a dot to make reading easier.
This method of printing the IP address is called the dotted decimal notation.
In many cases, a hostname is used instead of an IP address.
A hostname gets translated into an IP address by a Domain Name Server, a.k.a DNS.

The Port(Number)




More than 65% discount on network & socket programming courses:
https://www.udemy.com/udpsocketprogramming/?couponCode=HALFPRICE

https://www.udemy.com/tcpip-socket-programming-for-coders-using-csharp-net/?couponCode=HALF

In order to understand port numbers, we will use an analogy.
Let’s consider that your PC is like an apartment building.
This building can be reached through a specific street address.
In the case of a PC, it will be the IP address.
This building is further divided into apartments, where every apartment is identified by a unique apartment number.

Port Computer Networking Socket Programming EndPoint System Ports
This apartment number is similar to the port number.
The computer contains a large but finite number of ports.
Each apartment in this building is occupied by only one thread or process.
Only one thread or process can send or receive data from a port number.
When we need to send data to a specific thread or process, we need to know which port number it is using.
We also need to know the PC's IP address on which the thread or the process is running.
The combination of an IP address and a port number is known as an EndPoint.
A few examples are shown on the screen.
There are total of 65536 ports on a computer.
Port numbers from 0 to 1023 are reserved for operating system usage.
These apartments are occupied by the building administration.
 These are called well-known ports or system ports.
A few examples are port 20 is used for FTP(File Transfer Protocol).
Port 23 for telnet and port 25 for emails using SMTP(Simple Mail Transfer Protocol).
And port 53 for DNS(Domain Name Server).

You don't need to learn C# to work on this course.

Socket Java, python socket udp

More than 65% discount on network & socket programming courses:

Sunday, January 20, 2019

Key characteristics of UDP and comparison to TCP/IP

Let’s talk about UDP and compare it to TCP/IP, another populer internet communication protocol..
The synonym UDP stands for User Datagram Protocol.


UDP Socket Programming in C# Discount
Learn UDP Socket Programming By Example






It is a connection-less IP data transfer protocol.

But… what is connectionless?

Lemme explain, in a connectionless protocol the sender and the receiver don’t need to establish a connection before they could start a data transfer.
For example if you want to talk to a stranger in real life, you’ll need to shake hands and introduce yourself before starting the conversation.
This is the way TCP/IP protocol works.



If you and the stranger were computers communicating through UDP, you won’t need to shake hands and have an introduction. You can just start talking.
The heart of user datagram protocol is “the datagram”
It is the basic unit of data transfer in UDP
A UDP datagram contains information about the IP address & port number of the host machine which is supposed to receive it, and a payload which has to be delivered.
Everything is in binary format and… represented by bytes.
A datagram is sent by a host computer as one unit and it is received by the target computer as one unit.
A good example will be like putting a letter in an envelope
 writing an address and port number as well on the envelope
Giving it to the postal service so that the intended receiver would pick it up.
An envelope here is the datagram.
Now let’s talk about a unique capability of UDP, that is … Datagram Broadcasting....
Since UDP is a connectionless protocol, as I explained earlier.
No hand shakes are needed
A host can send a packet to all hosts in the network on a specific port number at once in broadcast mode.
This would be akin to picking up a megaphone and talking to everybody in a hall at once.
In case of broadcast, The IP address part of the datagram is set to all 1s and a port number is also supplied
Any other host in the same local area network listening on the specific port number can receive this packet.


We can say it will be akin to putting a letter in an envelope and writing the address “everybody ” on it.
UDP broadcast is a feature used by many network protocols such as Simple Network Monitoring Protocol or SNMP.
I must tell you about some other important details of UDP protocol as well.
First, the delivery of a datagram is not guaranteed in UDP.
This means that if a packet is not received on the client, the network will not be flooded with re-transmission packets.
That’s why UDP is used for applications like video and audio conferencing, and IP TV.
A few missed packets will cause a some squeaks in the voice or maybe a few distorted pictures.
But the network won’t be congested with additional packets just to make sure you don’t miss a frame while binging on Netflix.
This is different from TCP/IP, in which case there’s an elaborate system of acknowledgements and retransmissions to make sure that all data sent is delivered successfully.
Secondly, the sequence of arrival of datagrams on the receiver can be different from the sequence of sending.
Both of these characteristics make UDP a faster protocol as compared to the TCP/IP.
Anyhow, both TCP/IP and UDP have their own areas of application.
Their own strengths and weaknesses.
And one size doesn't fit all in this case.
Since we’re already talking about TCP/IP protocol. It is worth mentioning that in case of TCP/IP protocol the sender and receiver must establish a connection before they could start a data exchange.
TCP/IP can’t do broadcasting and multicasting.

UDP Socket Programming in C# Discount
Learn UDP Socket Programming By Example


Multicasting happens when a sender can send one datagram to multiple well known hosts, this is useful in IPTV scenarios.
Now that you got the basics covered about network programming. Let’s move on to the next section where we’d crank some code.
You don't need to learn C to work on this course.

Socket Java, python socket udp

Thursday, November 16, 2017

Interesting discussion about TCP/IP Socket Programming Course Online

Couple days ago I received a message on Udemy about my course titled "TCP/IP Socket Programming for Coders and Students". The message was sent by a student of mine.
It highlighted important points about the course. I'm afraid if I'll leave it in the inbox, I will lose it. That's why I'm putting the exchange here. It will not only be more permanent, I'm sure it is going to help a lot of other people as well.

If you find the topic interesting, you may watch the full course for only $10 here:
https://www.udemy.com/tcpip-socket-programming-for-coders-using-csharp-net/?couponCode=HALF

TCP/IP Socket Programming in C# .Net for Coders and Students - Online Course at Udemy

Naeem, I haven't left a review yet, mostly because it was going to be 2.5 star review with some some pro's and con's. My suggest, add a GUI for the Client using windows forums. Showcase how to perhaps send a file to each other, and how to message one another. Client to Client (PM), Client to room full of folks ect. The course has some really nice points also, especially working with the Pub / Sub elements. While I have used YouTube to gain some great insight into this very topic, I didn't really see anything to justify paying for this, or using free YouTube videos that cover the same elements plus more. I will say you did fantastic with the pace of the videos, and your voice was easy to understand compared to other instructors. I have taken countless udemy videos and can say that you did great. I will not refund this course, because I would really love to see add the different elements, and bridge away from the console application into windows forums. I think you will find more folks paying for this because of your teaching ability, and the fact it has more then what you can get on YouTube. View some YouTube videos and see how much they show you, they even show APIs, Use of SSL, Delegates, Events, and much more. Just want you to have some honest feedback before I leave a review in a couple of days.
17 hours ago
Dear Charles, Many thanks for taking the time to write the message. I’m glad that you reached out. I used a console application on the client side for a reason. I believe we can better illustrate the benefits of asynchronous programming in a console application. Please note that we’re creating a class library project, it is very easy to reuse it in a WinForms, WPF, or Windows Service application. Building a class library was a deliberate move. Adding lectures showing how to send a file has been on my ToDo list for a while. I will be publishing videos on this topic sometime soon. The pub/sub model already covers firing and handling events, I just tried to keep it to the point because the course has already become fairly large. I think explaining delegates would be redundant. I’d love to dig deep into SSL and add that to the mix too, that’s a very good idea which didn’t cross my mind. Someone once said that I don’t teach anything about security in the course, somehow my mind couldn’t connect it with SSL. Please elaborate further on this part of your sentence “they even show APIs”. YouTube videos can be a good source for learning, but there are certain advantages of curated content which is why course markets like Udemy are flourishing. I personally take every comment, message, and rating very seriously. These things impact instructor revenues. I try my level best to improve the quality of my content. Over the past two years I’ve (luckily) learned a lot about video making and invested a significant amount of Udemy earnings into equipment & training. People generally don’t do this on YouTube. You can see that I completely revamped the course this year. The old course videos are still present as deprecated sections for reference purpose. Quality of new videos is 100% better than the old ones IMO. At the present, I am working on a new course about UDP socket programming in C#. It will come out in December, most likely. A few students talked to me about packet data analysis, maybe I’ll produce a course about that sometime next year. But since TCP/IP course is already doing well, that’s why adding new content to fortify it will be my top priority. I’ll be adding more content to this course as soon as I’m done with the UDP one. You reserve the right to take a full refund, no hard feelings. You are free to rate and review the course as you please, no hard feelings again. Although it would be nice if you could hold back a 2.5 start review until after Black Friday. That will help me with the sales. The course just recently reached a 4.5 rating which is a big deal. But, it’s your choice. Please feel free to talk back, share ideas, discuss issues, and ask questions. I’d love to interact, help, and be helped. Sincerely, Naeem Malik.
11 hours ago
Please elaborate further on this part of your sentence “they even show APIs”. This for example the client would send a token to the server to connect, and if the token is wrong then they would be refused connection. I should have said token based authentication not API sorry. I will not refund the course because you did do a great job, just left me with a lot of gaps to try and figure out. I will be taking your UDP course so get that up ASAP, i'm building a game in Unity and I want to make my own server to handle the calls. This is why I took your course, and I feel that I could make the in game chat server with what I have covered here. I viewed this course months ago with the old videos, the only reason I grabbed it this time is because the work you did revamping them all. You slowed it down to a point folks could not only follow along, but understand you. So really great work there, and always no better way to invest then into yourself. That's why I'm here taking courses learning, and trying to invest in myself as well. I would add file transfer, ssl, token system, and how to send a file two and from. I will keep this course because I feel that you will be adding more, and I want to support that. I don't like to leave negative reviews especially when I see that someone has put alot of work to make the content, and to make it clear. So no worries that's why I messaged you, and I have refunded a few courses because they were just terrible. Based on our conversation here, I will be leaving a review. One quick help question if you have time. I would like to have client / server not to share the same event args. Because smart folks exist, and can view the source code of the client to mimic the calls to the server. When you reference the event args to the client project, it compiles the server code as well for the client. Hope that you can understand what I'm trying to say lol.
a few seconds ago
Hi, I searched for SSL in C# yesterdauy, came to know that it is fairly simple. Take a look at this please: https://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v=vs.110).aspx The "Remarks" section is good and the examples are useful. I'll distil it into video form in 2018. Here's how to transfer a file: https://msdn.microsoft.com/en-us/library/sx0a40c2(v=vs.110).aspx I didn't think from a reverse engineering perspective, but it helps to have security baked right into the architecture. Thanks for the EventArgs suggestion. Many thanks for your help. Stay in touch. Regards, Naeem.
You don't need to learn C to work on this course. Socket Java, python socket udp