July 12, 2016

Why it’s Good to Automate [Repost]

Filed under: Automation,General — Marcus Tettmar @ 3:51 pm

This is a repost from 2006.

One of the best ways to learn to use a software product fully is to try to automate it. Testers and automators have to learn the software’s interface really well, possibly better than the people who wrote it. Ok, the developers know the algorithms better than anyone else, but it is the person automating it who knows the ins and outs, pitfalls and quirks of the interface.

We all know how badly designed some Windows programs are. And in these days of fancy hi-res graphics and snazzy toolbar buttons it’s easy for the designers to forget about shortcut keys and keyboard navigation. The most productive way to use a PC is to forget the mouse and learn the keyboard shortcuts. You can get things done much more quickly. Yet even the most experienced Windows users don’t know half the keyboard shortcuts that exist in Windows (tips for keyboard navigation in Windows could be a post for another day).

Knowing these shortcuts makes automation so much easier and more reliable. Automating an application by sending mouse events and mouse clicks is unreliable and depends on the screen resolution never changing. Although you can use relative mouse coordinates, sooner or later something is going to change and the button you want to click is not in the place it was when the script was created.

The automation/test engineer is the one who figures out the keyboard shortcuts and finds the simplest, most reliable way of navigating an application. People who automate applications regularly have a good understanding of the different ways to move around Windows and Windows applications. Automated Software Testing can help find issues in the interface just from the process of building the automated test, even before the test script has been run. Building an automation routine for an application will help you find those missing or duplicated shortcut keys and other objects that can’t be driven by the keyboard.
Automators spend so much time fiddling with the software’s interface that they will often become more knowledgeable than the “power-users”. Testers also have the great advantage of being allowed to try unusual scenarios that developers never think about or are too busy to try. They are allowed to break things!

So it goes both ways. Find out the windows keyboard shortcuts and the hot-keys for the application you’re scripting and you can create a better script. Build an application with good keyboard support and your application can be automated more easily. If it can be automated easily it will be easy to use!

June 21, 2016

4k UHD Monitor Support

Filed under: Announcements,General — Marcus Tettmar @ 11:05 am

I thought it was about time for an update.

We are currently working on improving Macro Scheduler’s UI appearance under 4k UHD monitors. These screens are becoming more common, especially since the launch of Windows 10 which includes improved scaling features.

Macro Scheduler needs to be DPI aware in order to perform image recognition on modern high definition screens. The problem is that when you make an app DPI aware, Windows then doesn’t automatically scale it for you. The upshot of this is that the 16×16 toolbar icons amongst other things are then almost too small to see. Some older visual components also don’t cope well.

So we are working hard creating new 32×32 icons and making tweaks to some of the forms and components to ensure Macro Scheduler looks good and is usable on this new breed of high-res monitors.

We also continue to work on script engine improvements and feature suggestions. However, right now we are prioritising the UI improvements and since more and more people are using new 4k screens we plan to release an update with only these UI changes before releasing other changes. This will allow us to get this out more quickly.

Watch this space.

May 12, 2016

Customizing Message/Input Boxes

Filed under: General,Scripting — Marcus Tettmar @ 12:30 pm

Every now and then someone asks something like “How do I change the font in a modal dialog box?” or “Can I make an Input box multi-line?”.

Well, no, you can’t do those things to the standard Message/MessageModal or Input box functions. But, don’t forget that with Macro Scheduler you have the ability to create your own dialogs and make them act and feel pretty much any way you like. So the answer to the above questions, is “Create your own versions”.

As an example, let’s say you want a modal dialog that looks and acts much like the standard modal message box created by MessageModal. Only you want the text to be green in an italicized aerial font. Here you go:

//this would go at the top - customize as you wish
Dialog>CustomMsgBox
object CustomMsgBox: TForm
  Left = 493
  Top = 208
  HelpContext = 5000
  BorderIcons = [biSystemMenu]
  BorderStyle = bsSingle
  Caption = 'My Message'
  ClientHeight = 170
  ClientWidth = 319
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = True
  ShowHint = True
  OnTaskBar = False
  PixelsPerInch = 96
  TextHeight = 13
  object MSMemo1: tMSMemo
    Left = 0
    Top = 0
    Width = 321
    Height = 137
    Font.Charset = ANSI_CHARSET
    Font.Color = clGreen
    Font.Height = -11
    Font.Name = 'Arial'
    Font.Style = [fsBold, fsItalic]
    ParentFont = False
    TabOrder = 0
  end
  object MSButton1: tMSButton
    Left = 121
    Top = 143
    Width = 75
    Height = 25
    Caption = 'OK'
    DoubleBuffered = True
    ModalResult = 2
    ParentDoubleBuffered = False
    TabOrder = 1
    DoBrowse = False
    BrowseStyle = fbOpen
  end
end
EndDialog>CustomMsgBox

SRT>ShowMsg
  SetDialogProperty>CustomMsgBox,,Position,poScreenCenter
  SetDialogProperty>CustomMsgBox,MSMemo1,Text,ShowMsg_Var_1
  Show>CustomMsgBox,r
END>ShowMsg

//do this to call your message
Let>MyMsg=Hello world, this is a lovely custom message box
GoSub>ShowMsg,MyMsg

And don’t forget that once created you can call the dialog any time you like. And if you want to use it in lots of scripts then put the dialog block and subroutine into an include file and use Include> at the top of each script you want to use it in.

Now, it’s over to you. Use your imagination and style the dialog any way you like. We have some Custom Dialog tutorials here: Part1, Part2

April 19, 2016

Newsletter Subscriptions

Filed under: Announcements,General — Marcus Tettmar @ 1:53 pm

I’ve only just discovered that our newsletter subscriptions system has been broken since last January! New customers and anyone signing up to our newsletter since 15th January 2015 were not correctly subscribed to our newsletter. Luckily we have the email addresses in our database, they just weren’t allocated to the correct list. I’ve now fixed this and moved affected email addresses to the correct list. So those affected will now start receiving our newsletters. Hopefully you won’t be too surprised when you start receiving newsletters from us.

January 13, 2016

Happy New Year!

Filed under: Announcements,General — Marcus Tettmar @ 10:22 am

A slightly belated Happy New Year to all our customers and supporters. I’m a little late getting this up as we are in the midst of an office move! So things are a little hectic.

But wanted to say thank you to you all for being with us and we look forward to working with you in 2016 and beyond!

November 13, 2015

Macro Scheduler Gearhead Spotted Again in Forza

Filed under: Announcements,General — Marcus Tettmar @ 8:49 am

Thanks again to Chris Henwood for designing another stunning livery. This time for this virtual Aussie V8 Dorian is driving in Forza Motorsport:

Aussie V8 with MJT Livery

Dorian is racing this car twice a week. Good luck Dorian!

July 31, 2015

Runs in Windows 10

Filed under: Announcements,General — Marcus Tettmar @ 1:09 pm

Yes, Macro Scheduler works great in Windows 10:

May 21, 2015

Chirp – Teaching the Machines to Sing

Filed under: Announcements,General — Marcus Tettmar @ 10:54 am

Allow me to tell you about a fun new technology called Chirp created by some good friends of ours.

Chirp is an exciting new technology that shares information between devices using sound and you can try it out for yourself.

Chirp

Chirp works by using little more than your device’s speaker and microphone. Data is encoded into a sound which is then “chirped” over the speaker. Another device or devices within earshot will “hear” that sound and decode it.

The beauty of this is that it removes all technical obstacles to sharing data (no need for infrared, or setting up bluetooth etc) and makes it possible for the most basic devices (think Arduino boards, toys, TVs, games etc) to chirp without any special hardware. And it means that one device can very easily share data with multiple listening devices.

You can share URLs, notes, images and video between devices – and now from your desktop web browser. College lecturers and presenters find it very useful for sharing links to websites, slides and presentations to their delegates, without having to collect email addresses or use any special infrastructure.

You can download the free Chirp app from the Apple Store or Google Play to see it in action. It’s great fun! There’s also a Chrome Plugin which makes it a breeze to share links from your web browser to your phone/tablet.

And if you want to make your own apps chirp there’s an SDK you can get your hands on too. I had some fun not long back making a Lego EV3 Robot chirp. Why not!? Anyone for a Macro Scheduler -> Chirp Interface?

And if you like what you see why not get in on the action – Team Chirp are currently crowd funding to raise money to take Chirp to the next level and are exploring commercial opportunities – so you can even make a little investment.

May 7, 2015

Self Documenting Macro Recorder Snapshots

Filed under: Announcements,General,Macro Recorder,Scripting — Marcus Tettmar @ 1:22 pm

Did you know that since Macro Scheduler 14.2 the Macro Recorder can store snapshots of windows and objects that you click on as you are recording?

This feature makes it easier to work out which bit of code does what as you can see the screenshots inside the script:

Note the thumbnail images in the script. To view a full sized version – as in the example above – double click on a thumbnail.

This feature is on by default but can be switched off before you record a macro by toggling the “Take Window Snapshot Images” option on the macro recorder settings dialog.

March 20, 2015

Solar Eclipse

Filed under: General — Marcus Tettmar @ 10:16 am

We managed to get a few glimpses of the solar eclipse today. In fact the light cloud here in Dorset probably made it safer and easier to see and photograph. Friends in London and the South East were less lucky as the cloud cover was too thick to see anything.

Here are a couple of photos I managed to take:

And a close up as the moon passes out the other side:

« Newer PostsOlder Posts »