Ask a Question

Checking Region images without automatically having Checkpoint ticks and crosses in test log

SOLVED
Chi
Occasional Contributor

Checking Region images without automatically having Checkpoint ticks and crosses in test log

My aim is to re-implement the following image check method into one that doesn't automatically post a Tick or Cross to the Test Log when Check passes or fails:

 

 

def original_image_check(self, icon=None):
   if icon is None:
      icon = self.frmMain.frmStatusBar.pnlPIFs.framePIF_right
   Regions.imgCoilCon.Check(icon.imgCoil)

My new method which returns True or False is as follows:

 

 

def new_image_check(self, icon=None):
   if icon is None:
      icon = self.frmMain.frmStatusBar.pnlPIFs.framePIF_right
   if not Regions.Compare(Regions.imgCoilCon, icon.imgCoil, False, False, True, 0, lmMessage):
      return False
   return True

But when I run the test, I get two "Cannot get a picture object from the input parameter." errors. I assume it's one error each for the first 2 parameters of the Regions.Compare() call.

 

What am I doing wrong?

 

Regions.imgCoilCon is an image that is stored in my Regions collection.

icon.imgCoil is a VCL Object that contains the image on the application I am testing

2 REPLIES 2
tristaanogre
Esteemed Contributor

I'm assuming there is actually a child object called "imgCoil" on icon?  You might want to double check that.  That's part of the problem.  Depending upon the timing of things, that object may not exist when you call your code.

 

As for the other half, you need to change your code to the following:

def new_image_check(self, icon=None):
   if icon is None:
      icon = self.frmMain.frmStatusBar.pnlPIFs.framePIF_right
   if not Regions.Compare("imgCoilCon", icon.imgCoil, False, False, True, 0, lmMessage):
      return False
   return True

If you're going to use an item in your Regions collection, the parameter for that is a string that is the name of the Regions object that you want to use.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available
Chi
Occasional Contributor

Hi Robert,

 

Thanks for your reply, your suggested change worked!

cancel
Showing results for 
Search instead for 
Did you mean: