performance tuning selenium – firefox vs chrome vs headless

Main menu:


Recent Posts


RSS Feed RSS - Posts

November 2017
« Oct    

Past Posts

Java/Java EE



performance tuning selenium – firefox vs chrome vs headless

November 18th, 2017 by Jeanne Boyarsky

I’m the co-volunteer coordinator for NYC FIRST. Every year we are faced with a problem: we want to export the volunteer data including preferences for offseason events. The system provides an export feature but does not include a few fields we want. A few years ago, my friend Norm said “if only we could export those fields.” I’m a programmer; of course we can!

So I wrote him a program to do just this. It’s export-vol-data at Github. And fittingly, he “paid” me with free candy from the NYC FIRST office. Once a year we meet, Norm gives his credentials to the program and we wait. And wait. And wait. This year NYC FIRST had more events than ever before so it took a really long time. I wanted to tune it.

Getting test data

The problems with tuning have been:

  1. I have no control over when people volunteer for the event. It’s hard to performance test when the data set keeps changing.
  2. The time period when I have access to the event is not the time period that I have the most free time.

Norm solved these problems by creating a test event for me. I started over the summer, but then got accepted to speak at JavaOne and was really busy getting ready for that. Then I went back to it and someone deleted my test event. Norm solved that problem by creating a new event called “TEST EVENT FOR SOFTWARE DEVELOPMENT – DO NOT ENROLL OR DELETE, please. – FLL”. And one person did volunteer for that. But not a lot so it helped.

Performance tuning

I tried the following performance improvements based on our experience exporting in April 2017.

  1. SUCCESS: Run the program on the largest events first. (It’s feasible to manually export the data for small events. Plus those have largely people who also volunteered at a larger event.) This allows us to run for the events with the most business value first. It also allows us to abort the program at any time.
  2. SUCCESS: Skip events and roles with zero volunteers. For some reason, it takes a lot longer to load a page with no volunteers. So skipping this makes the program MUCH faster.
  3. SKIP: Add parallelization. I wound up not doing this because the program is so fast now.
  4. FAILED: Switch from Firefox driver to PhantomJS. I knew the site didn’t function with HtmlUnitDriver. I thought maybe it would work with PhantomJS – an in memory driver with better JavaScript support. Alas it didn’t.
  5. FAILED: Try to go directly to URLs with data. FIRST prevents this from working. You can’t simply simulate the REST calls externally.
  6. SUCCESS: Switch from  Firefox driver to Chrome driver. This made a huge difference in both performance and stability. The program would crash periodically in Firefox. I was never able to figure out why. I have retry/resume logic, but having to manually click “continue” makes it slower.
  7. UNKNOWN: I added support for Headless Chrome in the program. It doesn’t seem noticeably faster though. And it is fun for Norm and I to watch the program “click” through the site. So I left it as an option, but not the default.


Like any good programming exercise, some things worked and some didn’t.  The program is an order of magnitude faster now that at the start though so I declare this a success!

Toastmasters Pathways – The Icebreaker

November 17th, 2017 by Jeanne Boyarsky

See my main Presentation Mastery Pathways page for some context. To start a project, click “Activate” and then click “Launch”. At this point, your status changes to “In Progress.” It took a few minutes to load. Then I got a tutorial on the navigation. After that comes the main content.

The background information is similar to what was in the paper Toastmasters CC (Competent Communicator) manual. Many things are the same like the speech length and goals.


The first thing that is different is a project checklist PDF. It has things like scheduling your speech, rehearsing, giving your speech and submitting to get credit. Each checklist item has a box to check off and two lines where you can write comments. This whole checklist is optional.

Skills assessment

Next comes an interactive skills assessment where you rate yourself in certain areas. Not 100% intuitive is that you have to click the down arrow next to the word “directions” to actual take the assessment. The assessment is short and easy. You answers six questions by rating yourself on a scale of 1 (low) to 5 (high). [I like the new 5 point scale. We only had 3 numbers to choose from in the old printed manual world[


There’s a video where a few people talk about their icebreaker and provide tips. It lists a manageable number of points; each described by a different person.

Outline and tips

You can view/download an outline to help you prepare for your Icebreaker. You can even download it as a PDF. After that, you get some tips on timing and how to prepare. You also get information about what to expect at the meeting such as the speech evaluator along with what to review after giving the speech.


At the end of the project, you can download a few things in PDF form. Of particular note is the PDF sheet to print and hand to your evaluator. You can also download the whole project in PDF form.

After the speech

Next comes where you assess your skills again. (I didn’t do this yet; waiting until I give my speech on Tuesday)

Overview of the Presentation Mastery Learning Path

November 17th, 2017 by Jeanne Boyarsky

I enrolled in Toastmasters Pathways and got oriented. Let’s take a look at a learning path curriculum. There are five levels each with a bunch of projects. I plan to blog as I go through Pathways. I’ll update this page updating descriptions or linking to the relevant blog posts from this page as I go.

Yes, I typed all this in. My club has a full set of advanced manuals so members can see what they are getting into before they order/commit to a manual. I’m trying to do something equivalent for Pathways. Not share all the content obviously. But to give a feel for the requirements and experience.

I already have a DTM so I’m going through Pathways more rapidly to learn about the program.

Level 1 – this level has 3 required projects + the submission

  1. Icebreaker – this the first speech you give in Toastmasters. It starts with a status of “Not Activated” when you first view it. For more details, see my Icebreaker blog page.
  2. Evaluation and Feedback – this and all further projects are locked with a status of “Pending Prior Training” until you complete the pre-reqs. In this case; that is the icebreaker. [I find this frustrating as it forces you to go in order.]
  3. Researching and Presenting
  4. Level Completion – this is for submitting to your club that you completed the level.

Level 2 – this level has 3 required projects + the submission

  1. Understanding your communication style
  2. Effective Body Language
  3. Intro to Toastmasters Mentoring
  4. Level Completion. This level qualifies you to be a Pathways mentor.

Level 3 – this level has one required project, two elective projects and the submission

  1. Persuasive Speaking
  2. At least two projects from this list: – this is one of the benefits of Pathways – choices! Note that you can take as many as you want.
    1. Deliver Social Speeches (a special occasion speech)
    2. Using Presentation Software
    3. Connect with Storytelling
    4. Creating Effective Visual Aids
    5. Using Descriptive Language
    6. Connect with your Audience
    7. Make Connections through Networking
    8. Focus on the Positive
    9. Inspire your Audience
    10. Prepare for an Interview
    11. Understanding Vocal Variety
    12. Active Listening
  3. Level completion – remember that you must serve as Toastmaster, Evaluator and Table Topics Master at least once before you can advance to level 4. You enter this in your profile as you go. This level qualifies you to get a letter to your manager.

Level 4 – this level has one required project, one elective project and the submission

  1. Managing a Difficult Audience
  2. At least one project from this list: – this is another benefit of Pathways; modern skills
    1. Create a Podcast
    2. Building a Social Media Presence
    3. Write a Compelling Blog
    4. Manage Online Meetings
    5. Q&A Session
    6. Public Relations Strategies
    7. Manage Projects Successfully
  3. Level Completion. This level qualifies you to get a letter to your manager.

Level 5 – this level has two required projects, one elective project and the submission

  1. Prepare to Speak Effectively
  2. At least one project from this list:
    1. Lessons Learned
    2. Moderate a Panel Discussion
    3. Ethical Leadership
    4. High Performance Leadership
    5. Leading in your Volunteer Organization
  3. Reflect on your Path
  4. Level Completion. This level qualifies you to get a letter to your manager and a certificate of proficiency.