kcvinu

Which is the best practice in GUI automation

6 posts in this topic

Hi all,

I need to automate some mouse clicks in a GUI. It is an audio editor. Name is Steinberg Nuendo. My problem is, it doesn't have any controlIDs. So i did the automation with MouseClick() function. My question is, Is there any better ways to deal these kind of GUIs ?

I can't depend mouse click function. Especially when we need to change the mouse cord mode frequently. 


My Contributions

UDF Link Viewer   --- A tool to visit the links of some most important UDFs 

 Includer_2  ----- A tool to type the #include statement automatically 

 Digits To Date  ----- date from 3 integer values

PrintList ----- prints arrays into console for testing.

 Alert  ------ An alternative for MsgBox 

 MousePosition ------- A simple tooltip display of mouse position

GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function

Access_UDF  -------- An UDF for working with access database files. (.*accdb only)

 

Share this post


Link to post
Share on other sites



You need to always know the size of the window and its position and the relative positions of the controls fro the windows position. I just maximize the window to solve this. You'll probably need to check the desktop resolution if its for other computers too. You can imgsearch and pixelgetcolor OCR and pixelchecksums to do most of the rest.

1 person likes this

Get Scite to add a popup when you use a 3rd party UDF -> http://www.autoitscript.com/autoit3/scite/docs/SciTE4AutoIt3/user-calltip-manager.html

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

@computergroove Thank you  . :) 

Edit - I did a speed search on help file about "Imgsearch". But didn't get any results

Edited by kcvinu

My Contributions

UDF Link Viewer   --- A tool to visit the links of some most important UDFs 

 Includer_2  ----- A tool to type the #include statement automatically 

 Digits To Date  ----- date from 3 integer values

PrintList ----- prints arrays into console for testing.

 Alert  ------ An alternative for MsgBox 

 MousePosition ------- A simple tooltip display of mouse position

GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function

Access_UDF  -------- An UDF for working with access database files. (.*accdb only)

 

Share this post


Link to post
Share on other sites

@computergroove Thanks a lot. Downloaded all pages for further reading.


My Contributions

UDF Link Viewer   --- A tool to visit the links of some most important UDFs 

 Includer_2  ----- A tool to type the #include statement automatically 

 Digits To Date  ----- date from 3 integer values

PrintList ----- prints arrays into console for testing.

 Alert  ------ An alternative for MsgBox 

 MousePosition ------- A simple tooltip display of mouse position

GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function

Access_UDF  -------- An UDF for working with access database files. (.*accdb only)

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • tommytx
      By tommytx
      I have been experiment for months trying to find a way to be able to like script the find button to find some text and click on that text or something nearby.
      Is this possible?  When the search hilites the text of course this is not where the cursor is so you cannot command a click at that point.   I can get the coordinates of any point and go there and click... but I cannot find the coordinates of a piece of text i have searched up and click that..
      Thanks
       
    • oHenry
      By oHenry
      Hi,
      I would like to share this simple project which aims to be a first approach in order to use AutoIt as scripting language for mobile automation (Android).
      This project is an ImperiusGeorge client for mobile test automation that support native Android apps. 
      You can find more information at https://ohtejera.github.io/ImperiusAutoIt and here's the link to the project on Github: https://github.com/ohtejera/ImperiusAutoIt
      Best regards.
      Henry
    • great77
      By great77


      System Requirements : It will run on all windows operating system : Windows server 2003, 2008, 2012 and also Windows XP, 7,8,10 and other windows platform.

      This is full package of the software  which includes
       
      Automatic webpage refreshment,  Changing date stamp of files from one to many files or any extension type,   File Management (Transfer files from data centre with network path and direct directory either by Date (from last to first modified date or from first to last modified date) and also by Name Computer Inventory- Display hardware and software information in text file and also can use to centralize all your computer information Automation to zip and unzip files and folders. Paste file to many folders Recycling Empty files and folders Searching files and folders Trim Filenames automatically (from end or beginning or combined) Note: If you are having problem using the application, do not hesitate to contact me or comment on it . I am still working on improving it and also adding some features.
       
      Computer Information Inventory program :
      The Files :
      Get Computer Detailes.exe - This application will create path C:\M-Omega containing two folders for  hardware info and one for software info.  You can use One2many tasks in Logmein to put info in that path for many computers. It can work to centralized about thousands of computers. 
      Centralized_all_Computer_Details Folder :  You will find 3 files in this folder. Right click the central.ini file and select Edit and change the path name in the file as Input1="\\network_path\pathfile\". Make sure all the computers have access to this share network path... Copy also the user_interface_combo in the same place where the \\network_path\pathfile is located.
      After this, select all the computers you will like to get their computer information. For example, if using Logmein, use one2many tasks. Double click the replicate_inifile.bat. This will copy the cenral.ini to all the required PC path into this location -- "C:\M-Omega\Config_centralize_inventory\central.ini". If your PC is not using C drive, then you can change the C drive to D or E or F which is available. Please note this is when you do not have C drive, that is when you can change the C Drive in the batch script to D or E or F
      You can now use other remote software such as LogmeIn  (One2Many tasks) to run this application "Centralize_all_Computer_details.exe" on all your target computers selected. This will look for the network path you inputed into the central.ini file located in each computer and Within 1 minutes, the hardware and software info is generated on two folders on the network path provided. This can work on thousands of computers.
      User Interface Combo... This is GUI of the application which can help you interact with the software and hardware info in these folders.  I have included files in these folders to understand how this combo GUI works. Make sure this file is located in the same place where you define your network path in the central.ini file.
       
    • sjaikumar
      By sjaikumar
      I am looking to writing an automation script for converting the following SQL procedure code into VBCode as shown below
      Example
       
      ALTER PROCEDURE [dbo].[firstprocedure] (        @var1 varchar(10),        @var2 varchar(7),        @var3 float )    CONVERSION Public Function firstprocedure(ByVal var1 As String, ByVal var2 As String, ByVal var3 As Integer) As DataSet         Dim ds As New DataSet()         '**************query  with stored procedure**********         Dim CMD As New SqlCommand("GetCountOfTempGramWtsGwByFoodCodeProgressAndNewSequence")         CMD.Connection = GetConnection()         CMD.Parameters.Add("@var1", SqlDbType.VarChar).Value = var1         CMD.Parameters.Add("@var2", SqlDbType.VarChar).Value = var2         CMD.Parameters.Add("@var3", SqlDbType.Float).Value = var3         CMD.CommandType = CommandType.StoredProcedure         Dim adapter As New SqlDataAdapter(CMD)  

       
      I will be reading the procedural code from the first file that has to be read and create the VB code by writing onto a new file.
      My approach is that I need the following information captured in Variables which I can insert later onto the new file as and where applicable.
       
      In order to do that I need to extract the following bit of information from the file to be READ
      Name of procedure : firstprocedure
      List of Variables : @var1, @var2, @var3  
      Data Types: varchar, varchar & float
       
      What I need help with is extracting the list of variables and data types in separate variables.
      I am looking to build a Regular Expression which I can use to achieve the same. 
      I tried making use of StringSplit function delimited on spaces(" ") but that did not work when reading the file from notepad. I reckon it does not detect spaces in the file.
      Please help me with the RegExp.
      Any other suggestions on how best to go about doing this conversion are also welcome.
      Thank You
       
       
    • kelvin76
      By kelvin76
      Hi Developers,
      Currently i am trying to do this. By using pushbullet, i was able to send to my android mobile phone a sms/whatapps message which was also being push to my laptop. 
      What i want to do is this, when i receive the push notification, it will look at the content of the message and execute a program (exe). Example, if i send Harddisk as content message, my laptop which also receive the push notification will see this message and run a Harddisk.exe program (display the current Harddisk space).
      If this is not the tools that i should use. I suppose autoit can do this automation, if not, can anyone suggest which tools can do it?
      Many Thanks
      A Newbies to autoit