2

I am testing a piece of hardware which hosts an ftp server. I connect to the server in order to configure the hardware in question.

My test environment is written in Python 3.

To start the ftp server, I need to launch a special proprietary terminal application on my pc. I must use this software as far as I know and I have no help files for it. I do however know how to use it to launch the ftp server and that's all I need it for.

When I start this app, I go to the menu and open a dialog where I select the com port/speed the hardware is connected to. I then enter the command to launch the ftp server in a console like window within the application. I am then prompted for the admin code for the hardware, which I enter. When I'm finished configuring the device, I issue a command to restart the hardware's software.

In order for me to fully automate my tests, I need to remove the manual starting of this ftp server for each test.

As far as I know, I have two options:

  1. Windows GUI automation
  2. Save the stream of data sent on the com port when using this application.

I've tried to find an GUI automater but pywinauto isn't supporting Python 3. Any other options here which I should look at?

Any suggestions on how I can monitor the com port in question and save the traffic on it?

Thanks,

Barry

1

3 Answers 3

1

Have you looked at pySerial? It's been a few years since I've used it but it was quite good at handling RS-232 communications and it looks like it's compatible with Python 3.x.

Sign up to request clarification or add additional context in comments.

Comments

0

Sikuli might provide the kind of GUI automation you need.

Comments

0

I was also able to solve this using WScript, but pySerial was the preferred solution.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.