ERP GUI Automations

163 Views Asked by At

I am trying to automate a task: I want to log in to our ERP system open a window called part tracker and insert some data and document checkboxes. I am looking into automating this for my job as most of the time this task becomes a long and tedious process.

I am familiar with Python and found a library that is often used for testing and automation of GUI interfaces called pywinauto. I was able to write a bit of code to get through the first phase of the project which is logging in but I am having a bit of trouble of then checking if the new screen is visible and clicking on the Part Track button.

This is currently what I have for my Python script:

if __name__ == '__main__':
    print_hi('PyCharm')
    app = application.Application(backend="uia")
    try:
        app.start("C:\Program Files\Epicor Software\Epicor905\Client\MfgSys.exe")
        app.window().wait('visible')
        app.Log_On.print_control_identifiers()
        app.window(best_match='Log On').child_window(auto_id="txtUserID").type_keys('username')
        app.window(best_match='Log On').child_window(auto_id="txtPassword").type_keys('xxxx')
        app.Dialog.Ok.click()
        app.window(best_match='Epicor').wait('visible')
        app.window(best_match='Epicor').print_control_identifiers()
        app.window(best_match='Epicor').ShortcutBar.Button("Part").select().click()

    except TimeoutError as e:
        print(e)
        raise e

The application currently can open and log into the ERP system by the following window. enter image description here

A window is then opened named Epicor and I attempt to print its control identifiers and select the Part Track List item (colored in yellow). enter image description here

I know that Part is a button named as Part that is under a Tree with an automation_id = shortcutbar, all under a bunch of Pane's because I am running the PyInspect application in conjunction with the code to see its Backend code since I didn't develop the ERP system. enter image description here

Any ideas or suggestions I am basically lost as I really don't have a strong background in software or Python. I am just Marketing guy who is just trying to make his life easier lol.

0

There are 0 best solutions below