woensdag 27 april 2016

BitBucket > Setting up a Git repository

It is still my goal to have my own AWS-powered LAMP server (or Windows tech equivalent) server up and running where I'll host a Git server, mail server, web server, etc. But what I wish for and what is realistic are generatlly two very different things, so it's time to get a bit more realistic in the short term. And that newfound realism is going to start with setting up a Git repository on BitBucket so that we'll have a lightweight method to share coding projects over multiple locations.

How to:

  • Create an account at BitBucket - this should speak for itself
  • Create an EMPTY Git repository on your BitBucket account
  • Go to the empty repsository at BitBucket and...
    • click 'Clone'
    • A popup will appear containing text starting with "git clone"
    • Copy all text MINUS "git clone" to the clipboard
  • Create a new project (optionally with initial code) in Visual Studio
  • Add the project to Source Control in Visual Studio (if necessary)
  • Commit the project
    • You'll get an error message that the project wasn't added to a remote repository and a screen with an option to provide the URL of the remote repo
    • Paste the clipboard into the URL field
    • Click the obvious button and...
  • DONE :-)

Definitely can be done neater, but this works.

dinsdag 19 april 2016

Tosca > Steering Parameter > FireEvent > Finding out which one to use

If you are trying to steer a web element with Tosca and the default 'FireEvent = change' is not working you have to find out which 'event' is 'being listened to'. These are two techniques to go about that:

Chrome:

  • Rightclick the element and choose 'Inspect'
  • In the 'underwater screen' that pops up Leftclick the tag corresponding to the element
  • In the right upper section of the underwater screen there is a section with the tabs: Styles, Computed, and Event Listeners
    • Click the tab 'Event Listeners'
  • A list of events appears.
Firefox:
  • Rightclick the element and choose 'Inspect Element'
  • In the 'underwater screen' that pops up Rightclick the tag corresponding to the element and choose 'show DOM properties'
  • In the second underwater screen that pops there is a section on the right side.
    • Scroll down this section to find all 'on-' events.
  • Firefox seems less discerning than Chrome. I've had cases where Chrome found the events being listened to and Firefox didn't.

Tosca > Steering Parameter > FireEvent

A very useful item in your Tosca toolkit is the steering parameter 'FireEvent' (the green 'cubes' in the Properties tab of ModuleAttributes). By default FireEvent has the value 'change', but sometimes other 'events' are needed to have the website respond as desired. Recently I ran into a checkbox the checking of which changed an OK-button from disabled to enabled. The default 'change' value checked the checkbox without enabling the OK-button. All it took was to set FireEvent of the checkbox ModuleAttribute to the value 'click' and the OK-button was enabled.

In the case of multiple FireEvents separate them with a semi-colon. For example: 'change;blur'.

The possible values of FireEvent are:
  • onchange
  • onclick
  • ondblclick
  • onblur
  • onfocus
  • onmousedown
  • onmouseup
  • onmouseover
  • onmouseout
  • onsubmit
  • onreset
  • onpropertychange
Pay note: in Tosca the values given to the FireEvent steering parameter should be WITHOUT the 'on'-prefix.

donderdag 14 april 2016

Tosca > Ports required by the Tosca components

Several times during the building of our TA framework I've been temporarily blocked when having to find out which ports/traffic need to be allowed between Tosca components. Turns out there is a great Tosca page for it:

Search for: PORTS REQUIRED BY TOSCA COMPONENTS

https://support.tricentis.com/community/manuals_detail.do?sysparm_document_key=u_webhelp,425d827d379dd640406642f643990eea

vrijdag 1 april 2016

Tosca DUH! moment: April

Test Automation is - in the end - software development. Everyone who has ever dabbled in software development is familiar with being stuck on things that in the end turned out to be very trivial and make you feel like: DUH!. I'll be logging my Tosca DUH! moments in this post. It'll be good as therapy in any case, and seeing all these items listed under each other might provide me with some insights.

  • Fed 'Buffername' instead of '{B[Buffername]}' to the parameter field of a ReusableTeststepBlock.
    • Circumstance: the buffername was used in a query, which - with the wrong data - produced zero results and this resulted in a confusing 'invalid column name' error.
    • Mitigation: not easy. There is no easy debug mode in Tosca to quickly see all PL or B values. Will have to be mindful of this.
  • If SteeringParameter FireEvent=change doesn't do the job check if other 'events' are being listened to and set the FireEvent parameter to them / add the FireEvent to them.
  • If you want to have {Click} position the mouse-pointer somewhere else than in the middle: write a customization where you override the 'ActionPointer' property.;
  • TypeReference.IsAssignableFrom(Type c)
    • is TRUE if the TypeReference can be assigned to an instance of Type c
  • Shorthand notation to define an IEnumerable object:
    • IEnumerable<Obj> collection = new[] {Obj1, Obj2, Obj3, etc.}