Web测试

Python 自动化 操作软件(二)

2019-10-11  本文已影响0人  Jeff_9021

需求:

1、自动读取文件数据,作为被控软件内容的输入

2、随机挑选协议

3、判断协议对应的数据类型(设备数据:01   能源数据:02   状态数据:03   控制数据:04)

实战:

# -*-coding:utf-8-*-

import os

import time

import win32gui

import win32api

import win32con

from Lib.PyUserInput.pykeyboard import PyKeyboard

from ctypes import *

import random

a1 = ["06 00 02 00 00 00 00 00 00 00 00 00 00 00 00", "180A", "CB", "01", "5A 00 00 00 00"]

a2 = ["06 00 02 00 00 00 00 00 00 00 00 00 00 00 00", "180A", "CB", "02", "5A 00 00 00 00"]

a3 = ["06 00 02 00 00 00 00 00 00 00 00 00 00 00 00", "180A", "CB", "03", "5A 00 00 00 00"]

a4 = ["06 00 02 00 00 00 00 00 00 00 00 00 00 00 00", "180A", "CB", "04", "5A 00 00 00 00"]

A = [a1, a2, a3, a4]

def mouseClick():

      win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

def inputData(data):

        k.type_string(data)

def moveMouseToPos(right,top):

        windll.user32.SetCurserPos(loginid[0] + right, loginid[1] + top)

#方法一,全部用键盘

def moveDataType(type):

        if type == 'energy'

            k.tap_key(k.up_key)

def moveDataType(type):

if type == 'state'

k.tap_key(k.down_key)

def moveDataType(type):

if type == 'control'

k.tap_key(k.down_key)

#方法二,全部用鼠标

def moveMouseToDataType(right, top):

        windll.user32.SetCursorPos(loginid[0] + right, loginid[1] + top)

if __name__ == "__main__":

#打开多少个模拟器

    for i in range(0, 1):

              #打开GDC

                os.system(r"F:\GDC.exe")

                time.sleep(0.2)

                #获取窗口句柄    #参数1是类名,参数2是软件的标题

                GDCMonique = win32gui.FindWindow(None,"GDC")

                #获得Add GDC位置,即左上角和右下角坐标; (right,top,left,bottom)

                loginid = win32gui.GetWindowRect(GDCMonique)

                print (loginid)

                #模拟多少个请求

                for i in range(0, 10):

                         a = random.randint(0, len(A)-1)

                        #鼠标定位到Add GDC图标框

                        moveMouseToPos(11,12)

                        #点击 Add GDC

                        mouseClick()

                        #定义键盘

                        k = PyKeyboard()

                        #输入IP

                        inputData("172.17.160.42")

                        #点击Tab 键,切换到端口号

                        k.tap_key(k.tab_key)

                        time.sleep(0.1)

                        #输入端口号

                        inputData("9017")

                        #按 Tab 键,到网关号

                        k.tap_key(k.tab_key, n=2)

                        #输入网关号

                        inputData(A[a][0])

                        # 按Tab 键,切换到 connect

                        #k.tap_key(k.tap_key, n=2)

                        #定位到connect

                        moveMouseToPos(12,120)

                        #点击connect

                        mouseClick()

                        #tab键 切换到设备信息

                        k.tap_key(k.tab_key)

                        #输入 协议号

                        inputData(A[a][1])

                        #Tab 切换

                        k.tap_key(k.tab_key)

                        #输入地址码

                        inputData(A[a][2])

                        #定位到 Send DevInfo

                        moveMouseToPos(13,89)

                        #点击Send DevInfo 发送设备信息

                        mouseClick()

                        #energy,  state,  control数据测试

                        k.tap_key(k.tab_key)

                        #方法一,全键盘控制

                        #跳转到DataType选择,上下键选择

                        #moveDataType(A[a][3])

                        #方法二,全鼠标控制

                        #定位到DataType选择框,默认选中 energy

                        moveMouseToPos(490, 242)

                        #点击

                        mouseClick()

                        #通过定位选择数据类型,选择 state

                        #moveMouseToPos(490, 270)

                        #mouseClick()

                        #选择 control

                        moveMouseToPos(490, 282)

                        mouseClick()

                        k.tap_key(k.tab_key)

                        inputData(A[a][4])

                        #方法一,全部按键控制

                        k.tap_key(k.tab_key)

                        k.tap_key(k.enter_key)

                        #方法二,全部鼠标控制

                        #moveMouseToPos(45,234)

                        #mouseClick()

上一篇下一篇

猜你喜欢

热点阅读