What’s great about the Cloud 9 online IDE is that your environment is running on a virtual machine in the cloud and is fully configured for you by default in under a minute! Everything is provisioned for you in Cloud 9 with proven, compatibility-tested versions of everything, across the board.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
In this course we'll discover how Cloud 9 works, how we can get access to an environment, and how to get a workspace setup for Java application development. By leveraging the Cloud 9 online development environment we're on the cutting edge of application development and deployment.
Test automation, a formalized testing process, can automate repetitive but necessary tasks that would be difficult to do manually. The next video is a practical step-by-step guide to developing UI test automation frameworks from scratch. We’ll explore Web Driver, Appium (for mobile applications), and Cucumber-JVM.
By the end of this Learning Path, you will have a vision of what a framework is, what it looks like, and what items should be covered at the beginning of test automation development.
About the Authors:
For this course, we have combined the best works of these extremely esteemed authors:
Brett Hooper is a well-seasoned software engineer, entrepreneur, teacher, and all-around techno-surfer. His decades of experience have taken him from years of IT consulting for Fortune 100 behemoths, to a number of entrepreneurial start-up efforts, to the U.S. Dept of Defense in defining their way forward in mobile and web-related technologies. Brett’s excitement in learning, implementing, and teaching new, interesting development frameworks, stacks, and services is never waning and keeps him heads-down more than not.
Mykola Kolisnyk has been involved with test automation since 2004, including creating test automation solutions from scratch, leading a test automation team, and working as a consultant for test automation processes. During his career he has worked with different test automation tools such as Mercury WinRunner, MicroFocus SilkTest, SmartBear TestComplete, Selenium-RC, WebDriver, Appium, SoapUI, BDD frameworks, and many other different engines and solutions.
Review the section description (from the outline). Iterate the section video titles and provide a bit of detail for each.
Cloud9 IDE is a development environment in the Cloud. It runs in the browser, but still provides the power and features to compare with even the best hard installed IDEs such as Eclipse or Visual Studio. How can an app in the browser possibly do what we're accustomed to on our local IDEs?
It may still seem a stretch to have an IDE running in a browser as compared to a locally installed system. You may be wondering how workspaces function and how the IDE actually works. We can look a little closer at these things and address some of the concerns that may still be outstanding.
Cloud9 requires that a user establish an account to access services. There are different options available on different account types to provide the appropriate features and performance for different types of users of the service. We should have an understanding of the different account types before setting up a new account.
What are Servlets and JSPs and why are they used? Think of them as Java classes that can extend the capabilities of an application server. Servlets and JSPs have the capability to respond to any type of request and serve dynamic web content from a container within a web server. They are primarily used with the HTTP protocol.
Servlets and JSPs provide many appealing qualities in a mature and extensible platform for application development. Let's look at how common use-cases sit within this environment in both the contexts of the client and the server-side.
Developing with Servlets and JSPs requires a few specific things—Java, the Servlet and JSP libraries, and an application server with a Servlet container. Let's take a look at these requirements individually and understand what each does individually and collectively.
We can begin fine tuning our Cloud9 workspace for Java development and then get a project scaffolded for a Java Web application. What do we have here that looks familiar?
As we continue to get our Workspace tuned and a Java Web application project scaffolded, we will start to see some differences in how things are done. Let’s setup our app server and test it out.
With our Workspace and project setup and ready to roll, let's examine our active environment and some of its parameters that we should be aware of as we code and test on Cloud9.
Because our environment is running in a VM in the cloud and our interface is the browser, we no longer have local access to anything. So, certain things, like developing database components, are handled bit differently.
Even though we’re working in the Cloud and we’re discovering it’s differences from a local environment, we’ll still find many of the development resources we depend upon readily available, like Git.
In the Cloud, there are certain things that just cannot happen as they would if we were set up on a local machine. In a case like this, there’s usually a surrogate, but it may require a totally different approach and a different way of thinking.
We’ve completed the process of readying a Workspace and project for Java Web app development and are ready to code up the world’s next best thing. Let’s review each of the steps we’ve taken and think about their significance.
In getting our project set up for code, we now can take the next step, which is getting Tomcat installed. This includes a list of things that have to happen, in order, for the installation to be successful.
Get a project off the ground first requires a workspace in Cloud 9. Using the Workspace Wizard is the way to get one going. There are options, let’s check them out.
As we progress with our workspace and project definition, we are nearly ready to begin coding. We do need to have a database installed and there is a procedure we can follow to get this done.
The final step in readying our dev environment and project for coding is to get Git configured and connected to an outside repo. We know this is easily done on Cloud9, but let’s review the steps
Get an initial servlet working in our project will prove that everything works and we can continue with development. We can create a servlet to output some html, a jndi implementation for database access, and a build script to build and deploy it all.
With a Servlet defined and running successfully in our app, including the use of a data access class and a Quote bean class, we can focus now on implementing a JSP as well. Let’s use best practices and replace our Servlet’s Quotes page creation functionality with a new JSP.
With a JSP replacing what we had working originally in a Servlet, we can now re-purpose the Servlet to provide a JSON output of our Quotes data. The servlet is already wired up and working, so changing the output code within the Servlet is where we need to modify things.
We will learn about UI test Automation framework.
There are options, let’s check them out.
We will identify items and then we will create necessary clauses for handling the configuration.
Make our tests data-driven.
Here, we enhance our solution to support concurrent runs.
This video will have a general overview of what is going to be wrapped and why.
We will create some Base control classes and then use them for the sample test.
We will create Base abstraction and then update page objects.
We will learn what Page Factory is and then implement it.
We will learn some methods which generate a screenshot on the page.
We will look at platform-specific identifiers and implement them in different platforms.
We will customize standard controls and then run on all platforms.
We will deal with sub-elements in this video.
We will add some more functionality which is useful to perform various verifications.
Describe the concept of object-driven framework.
We will implement the object-driven engine in this video.
Tackle the problem with data transferring.
Complete all steps to use the object-driven approach.
Describe the major idea behind keyword-driven approach.
Learn about Logical names and get the read of explicit calls.
Learn different types of keywords and update it in the test.
Learn compound element keyword and update it on test.
The difference between object-driven data transferring and keyword-driven data transferring.
We will learn where expression and evaluation are needed.
Run test in parallel.
We will learn how to integrate with External Systems
A gist of what was covered in the entire course.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.