Lance Cleveland

Redis Object Cache 1.3.6/1.3.7 Takes Down WordPress Sites

If you are using Redis to boost your WordPress data I/O performance you are likely using one of the most popular Redis plugins available: Redis Object Cache by Till Krüss

Even season veterans such as Till cannot escape the millions of combinations of site installs that may create corner cases that break software.    Something in the latest 1.3.6/1.3.7 updates to his plugin, or possibly changes to WordPress, or changes to the underlying operating systems or PHP have broken the Redis Object Cache plugin.

This will manifest itself as a non-responsive website , usually with a basic 500 (Internal Server Error) reply.

The quick fix is to disable REDIS by adding this line to your wp-config.php file:

This will force the object-cache.php file that the plugin has you move into the WordPress root directory to not run any of the code within.

Wait for a future Redis Object Cache plugin update before turning it back on.

 

Running A Linux Server? Check etcd

If you are running your own Linux server — an AWS EC2 instance, perhaps, you may want to check that your etc daemon I’d not accessible.

Read this ARS Technica article for more info:

Thousands of servers found leaking 750MB worth of passwords and keys

WordPress Gains Market Share – Now 30%

An interesting article I found in my Google News feed today from Venture Beat:

“WordPress now powers 30% of websites”

WordPress now powers 30 percent of the web, according to data from web technology survey firm W3Techs.

 

It’s worth noting here that this figure relates to the entire Web, regardless of whether a website uses a content management system (CMS) or not. If we’re looking at market share, WordPress actually claims 60.2 percent, up from 58.7 percent in November 2015. By comparison, its nearest CMS rival, Joomla, has seen its usage jump from 2.8 percent to 3.1 percent, while Drupal is up from 2.1 percent to 2.2 percent.

google.com/newsstand/s/CBIw3paWzDY

Not surprising.
Read More

CypressIO Simplifies Web App Testing

After discussing projects over the past week, one of the guys at Automattic brought up CypressIO.   If you’ve been following the recent posts on Lance.Bio you know that the path to running automated web testing has run from Selenium IDE, the QA tool of choice for the past few years for Store Locator Plus, to recent forays into Selenium Webdriver.      Webdriver is powerful but difficult to code and soon led to the discovery of WebdriverIO, then Mocha and Chai on top of that.      The new stack makes it easier to write more advanced tests than we could in Selenium IDE — but it was like pulling teeth to get all the right pieces installed and working.

More info, less pain

That is what CypressIO promotes on their home page.   “Test your code, not your patience.” and “No more async hell.”  — if you’ve gone through the Selenium Webdriver setup you’ll understand what both of these mean.   It takes several false starts to understand all the pieces you MUST install to get Selenium Webdriver working.  CypressIO has made it easy; it is even easier than they promote on their website with the most recent builds.

The CypressIO Test Execution Window

The Cypress Test Execution Window

I’ve only started simple test writing but in less than 20 minutes I had a fully functional test running with all the extras from a completely “clean” install base.    If you have NodeJS and NPM up-to-date and a faster Internet connection than we have in tech-orphan Charleston South Carolina, you can be up and running in 5 minutes.
Read More

WebdriverIO and Mocha For Better Test Reports

In a continuing series on using WebdriverIO with Selenium we are going to focus on getting better reporting output now that our environment is setup.  The previous article on setting up WebdriverIO should have you up-and-running with basic tests.   Now it is time to use some of that “Mocha flavoring” to get useful reports out of our tests.   WebdriverIO and Mocha gives you the tools to group together tests and report the results in plain text.

Adding Mocha to a test

Mocha adds a ways to group together our test units and send meta information out to the report modules that are employed by WebdriverIO and the default test runner, conveniently named “TestRunner”.   Nothing special needs to be added if you’ve setup the project and employed the Mocha framework as shown in the prior article.

Since we are using the BDD test style with Mocha we have two primary functions we want to employ.

BDD = Behavior Driven Development,  in case you were wondering.

describe()

This is the Mocha syntax that is used to group together tests.   The first parameter in that function is the plain text that will be used to describe what tests are being run.   The second parameter is a standard JavaScript anonymous function that will include the test code.    Typically you use a series of it() functions within.

it()

This is the Mocha syntax that describes each individual thing to be tested.    The first parameter is again the plain text of what is being tested and the second is the function that contains the code.

A simple example

This test is going to open the home page for the website that was configured in the wdio.conf.js file when we setup our wdio configuration.

This does nothing more than make sure it can open the site URL.

When the test is run we now get a more detailed report of what happened.

Here is a video showing how the test run looks compared to the standard non-Mocha version.

%d bloggers like this: