日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python gui 自动化_python GUI测试自动化

發布時間:2023/12/10 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python gui 自动化_python GUI测试自动化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#! /usr/bin/env python

#coding=GB18030

'''

GUI測試自動化

語言:python

模塊:pywinauto

環境:windows7中文、python-2.6_32bit、pywinauto-0.40、SendKeys-0.3

FuncName: pywinauto_notepad.py

Desc: study pywinauto

Date: 2017-4-10 10:30

Author: 雷小莫_code

Home:http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-9487-pv1otSnSmsC29jQWT4wc-passport.csdn.net

'''

from pywinauto import application

import SendKeysCtypes

import time

class Pywin(object):

"""

pywin framwork main class

tool_name : 程序名稱,支持帶路徑

windows_name : 窗口名字

"""

SLEEP_TIME = 1

def __init__(self):

"""

初始化方法,初始化一個app

"""

self.app = application.Application()

def run(self, tool_name):

"""

啟動應用程序

"""

self.app.start_(tool_name)

time.sleep(1)

def connect(self, window_name):

"""

連接應用程序

app.connect_(path = r"c:\windows\system32\notepad.exe")

app.connect_(process = 2341)

app.connect_(handle = 0x010f0c)

"""

self.app.connect_(title = window_name)

time.sleep(1)

def close(self, window_name):

"""

關閉應用程序

"""

self.app[window_name].Close()

time.sleep(1)

def max_window(self, window_name):

"""

最大化窗口

"""

self.app[window_name].Maximize()

time.sleep(1)

def menu_click(self, window_name, menulist):

"""

菜單點擊

"""

self.app[window_name].MenuSelect(menulist)

time.sleep(1)

def input(self, window_name, controller, content):

"""

輸入內容

"""

self.app[window_name][controller].TypeKeys(content)

time.sleep(1)

def click(self, window_name, controller):

"""

鼠標左鍵點擊

example:

下面兩個功能相同,下面支持正則表達式

app[u'關于“記事本”'][u'確定'].Click()

app.window_(title_re = u'關于“記事本”').window_(title_re = u'確定').Click()

"""

self.app[window_name][controller].Click()

time.sleep(1)

def double_click(self, window_name, controller, x = 0,y = 0):

"""

鼠標左鍵點擊(雙擊)

"""

self.app[window_name][controller].DoubleClick(button = "left", pressed = "", coords = (x, y))

time.sleep(1)

def right_click(self, window_name, controller, order):

"""

鼠標右鍵點擊,下移進行菜單選擇

window_name : 窗口名

controller:區域名

order : 數字,第幾個命令

"""

self.app[window_name][controller].RightClick()

for down in range(order):

SendKeysCtypes.SendKeys('{DOWN}')

time.sleep(0.5)

SendKeysCtypes.SendKeys('{ENTER}')

time.sleep(1)

if __name__ == "__main__":

app = Pywin()

# 記事本例子

tool_name = "notepad.exe"

# 通過Spy++ 獲取window_name,即標題文本

window_name = u"無標題 - 記事本"

menulist = u"幫助->關于記事本"

# 通過Spy++ 獲取controller,即窗口類名

controller = "Edit"

content = u"編輯notepad"

#輸入文件名

FileName = u"臨時文本"

window_name_new = FileName + u"- 記事本"

# 啟動程序,記事本只能開一個

app.run(tool_name)

app.connect(window_name)

app.max_window(window_name)

app.menu_click(window_name,menulist)

app.click(u'關于記事本', u'確定')

app.input(window_name,controller,content)

# Ctrl + a 全選#ctrl = ^ ;atl = % ;

app.input(window_name,controller,"^a")

# 選擇復制

app.right_click(window_name,controller,3)#菜單移動到第三項 并單擊

#選擇粘貼

app.right_click(window_name,controller,4)

SendKeysCtypes.SendKeys('{ENTER}')#按下回車鍵

# Ctrl + v 粘貼

app.input(window_name,controller,"^v")

# Ctrl + s 保存

app.input(window_name,controller,"^s")

# 輸入文件名

app.input(u"另存為",controller,FileName)

# 保存

app.click(u"另存為","Button")

try:

app.click(u"確認另存為","Button")

except:

pass

finally:

app.close(window_name_new)

總結

以上是生活随笔為你收集整理的python gui 自动化_python GUI测试自动化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。