When we start a discussion about Mobile browser testing, we immediately think of testing on a mobile device. I can suggest a different idea. Emulators.
Nowadays it’s very common that people view websites on mobile devices. So Mobile testing is needed in order to ensure testing.
What is an Emulator? Any Guess?
An Emulator is a device which mimics something close enough so that it can be substituted for real world device. Mobile emulators always supports functional output and will tell you visually, what isn’t working on a website. A mobile phone emulator lets you check the responsiveness and functionality of the website across different mobile platforms, such as iPhone, Android..etc..
Emulation or emulators behave exactly like the same device, in order to result in exact output and performance.
Emulator is – it will always take compile code and it will try executing it but in case of
Simulator is – it is very similar to interpreter that is it actually executes the real code in line by line to mimic original behavior of that device.
In this blog, I’ll introduce a novel ranking algorithm called XRANK as a solution to boost the dynamic rank of items based on certain term occurrences within the match expression in Sharepoint 2013.
In the law firm business, there are lots of matters, and the attorneys always try to find out matters which are similar. For example, another matter is considered similar to the current matter according to the affinity for the following matching values. Any match within a tier trumps matches on subsequent tiers, while multiple matches within a tier would serve as a tiebreaker. Read the rest of this post »
In this blog, I‘ll introduce how to use selenium page factory.
Page factory is the way selenium provided to reuse the web elements.
If you don’t use page factory or the page object model, the test scripts maintenance will take too much effort. The problem is that selenium only gives the page factory to us but does not tell us how to design our framework to use it.
Here is my design: Read the rest of this post »
In this blog, I‘ll introduce how to use selenium to create a simple script. You will find that selenium is very easy to use.
Before we start, let me introduce the basics of automated testing. It is very simple, only 3 steps:
For selenium script, there are also 3 steps:
This morning I had the privilege to stand alongside Perficient President and CEO Jeff Davis, as well as Louisiana Governor Bobby Jindal, to announce that Perficient will establish a domestic delivery center in Lafayette, Louisiana.The addition of the Lafayette-based delivery center will augment our global delivery centers in China, India and Macedonia, which for more than 10 years have provided critical offshore capabilities to our customers while complementing our technology, delivery management and industry vertical expertise and capabilities across North America.
I’m so pleased to share this exciting news with the multi-shoring community. At Perficient we not only strive to provide the best experience to our customers but pride ourselves on being a trusted advisor to our clients as well.
I believe Jeff Davis said it best this morning when he stated that being a trusted advisor to our clients depends on having the capability and the expertise to staff the right skills, in the right place, at the right time. We strongly believe our new Lafayette-based center will broaden our flexibility and capacity to serve our growing roster of clients.
It’s an ideal location with an educated workforce and proximity to several universities and technical colleges, and is well supported by local and state leaders focused on economic growth.
Additionally, the domestic delivery center will be patterned off the same proven global delivery model and Agile methodology that we’ve used in our existing development centers. We’ll meld in best practices that we employ today throughout our existing U.S. office locations, and will add capabilities and improved service levels that cover the entire spectrum of the software development lifecycle, including:
As we look to the future, Perficient remains committed to providing its clients an optimized global delivery approach. The domestic delivery center will ensure we continually deliver high-quality solutions in the most cost effective way for our customers.
If you are interested in learning more about our plans, timelines and needs, click here.
EventFiringWebDriver & Listener
In this blog, I‘ll introduce how we use EventFiringWebDriver and listener to create an auto-logging system for the test framework. Why use EventFiringWebDriver and the event listener?
If we use it, we can easily know what a web driver instance will do with a small listener, and what operation it does when an event fires.
How to use EventFiringWebDriver and the event listener:
WebDriver driver = new EventFiringWebDriver(new FirefoxDriver()).register(new LogEventListener());
DataProvider in TestNG
In this blog, I‘ll introduce how to use TestNG’s DataProvider to create a data driven test. DataProvider is a feature of TestNG which makes TestNG easier to create data driven tests than Junit. It’s pretty easy to use DataProvider. First, let’s add the DataProvider into a test annotation like this: Read the rest of this post »
In this blog, I‘ll introduce how we use Selenium and TestNG to execute the test cases in parallel. If you’re using selenium and testNG, it would help reduce the test execution time.
As we know, testNG has the feature of parallel test execution. We could run testNG test cases on parallel by adding some property in the testng.xml.
For example: Read the rest of this post »
Out of the mathematical and statistics language and tools such as SAS, SPSS, Matlab, etc. R language is a pretty good tool which provides the environment and essential packages for statistical computing and graphics. It is free and it offers an open environment and the means to allow users to develop custom package.
In addition to R, there is an IDE called RStudio, which is a powerful and web based user interface for R. It’s also free (the advanced options and support require some licenses), open source, and works great on Windows, Mac, and Linux. RStudio has a desktop and server version.
We know that if we aim to perform data mining and machine learning from big data in the Hadoop environment, Mahout can be a great option which offers core algorithms like clustering, classifying and collaborative filtering. Compared to Mahout, R has its own advantages in algorithm and computation speed. Furthermore, Mahout Community has announced that it will reject the new MapReduce algorithm implementations beginning in May of this year.
Recently GDC China’s big data lab team established the R and RStudio in the Hadoop clustered environments. We obtained some experience and learned lessons on putting these components together. The steps for doing this are as follows. Read the rest of this post »
Docker is a platform for developers and sysadmins to develop, ship, and run applications. Ship the “Dockerized” app and dependencies anywhere – to QA, teammates, or the cloud – without breaking anything. It’s one of the most important purposes to use docker.
In Vernon Stinebaker‘s earlier post “Docker, mobile, and putting things in boxes“, he introduced the background of the Library system, the corresponding mobile applications (Andriod version and iOS version) and the need of dockerization. As one of the team members working in this ‘Library in a box’ project, I mainly focus on the part of “putting things in boxes”.
In this article, I am not going to introduce the detail steps of dockerization. Instead, I am going to introduce two “shipping” ways via using docker.
The target is to dockerize the application. By given the pressure from the project schedule, another team member and I decided that firstly we just used the interaction mode to install all the necessary software, Java 7, Liferay, and mysql to get the infrastructure set up. And then deployed the library application war file into the container. All of these steps were just same as an usual environment preparation and the application deployment. The only difference was that the installation and deployment wass done upon a docker container instead of a virtual machine. As highlighted in below command, the arguments “-t” and “-i” enable you to interact with the container.
Once this was done, we committed the container as a docker image. At the first two Sprints, we delivered the docker images to the PO (Vernon Stinebaker) using the docker save command.