Python语言支持
CukeTest支持使用Python脚本开发自动化脚本。CukeTest中提供了一套供Python语言调用的自动化库,并且支持录制,如果你相比JavaScript更希望使用Python语言进行开发,可以按照下面的步骤开始Python开发自动化。
基本信息
CukeTest内置了Python 3.8(64位)的解释器,用于运行CukeTest中Python项目和Python脚本。
Python的支持范围
Python支持的功能几乎与JavaScript一致,包括如下能力:
- 自动化API:支持Qt和Windows自动化,以及键盘鼠标操作自动化的API。
- 录制功能:支持Qt和Windows自动化的录制生成、
- 项目管理:基于PyTest测试框架进行自动化测试的开发;同时兼容已有的PyTest项目。
- 运行报告:提供项目运行的简单HTML报告。
启用Python
如果需要切换到Python语言进行开发,切换到Python语言即可:
- 如果你是第一次打开CukeTest,那么在初始设置中,将脚本语言切换为python即可。
- 如果你过去使用过CukeTest,那么选择菜单“文件” -> “设置” -> “通用”中,将脚本语言切换为python即可。
- 如果你已经打开了CukeTest项目,那么可以点击状态栏右下角的“JavaScript”字样进行切换。
创建第一个Python自动化项目
创建一个空项目
启用Python以后,点击“新建项目”就可以按照模版新建一个空的Python项目。
从样例开始
启用Python以后,在欢迎页面的教学样例中,或者菜单“帮助” -> “样例”打开所有Python样例,根据介绍的选择适合自己需求的样例创建即可。
Python API
Python目前提供以下自动化库:
Windows自动化模块
WinAuto
:用于完成Windows自动化操作的模块。点击查看Windows自动化API详细文档。调用方式形如:Pythonfrom leanproAuto import WinAuto model = WinAuto.loadModel("model1.tmodel") model.getWindow("Window").activate()
跨平台Qt自动化模块
QtAuto
:用于完成跨平台Qt自动化操作的模块。点击查看跨平台Qt自动化API详细文档。Pythonfrom leanproAuto import QtAuto model = QtAuto.loadModel("model1.tmodel") QtAuto.launchQtProcessAsync() model.getWindow("Window").activate()
鼠标自动化模块
Mouse
:用于完成鼠标操作的模块,如鼠标点击、移动、拖拽等操作。点击查看鼠标自动化API详细文档。Pythonfrom leanproAuto import Mouse Mouse.moveSmooth(1920,1080) Mouse.click(2)
键盘自动化模块
Keyboard
:用于完成键盘操作的模块,如输入、按下组合键等操作。点击查看键盘自动化API详细文档。Pythonfrom leanproAuto import Keyboard Keyboard.keyDown("control") Keyboard.keyTap("a") Keyboard.keyUp("control")
屏幕自动化模块
Screen
:用于完成屏幕操作的模块,如截屏、获取屏幕信息等操作。点击查看屏幕自动化API详细文档。Pythonfrom leanproAuto import Screen Screen = auto.screen Screen.capture()
常用函数模块
Util
:保存了用于自动化测试中的常用函数的模块,比如启动应用、延时函数等。点击查看常用函数API详细文档。Pythonfrom leanproAuto import Util Util = auto.util Util.launchProcess("notepad.exe") Util.delay()
运行设置模块
RunSettings
:用于设置一些运行状态的模块,比如设置API调用间隔等。点击查看运行设置详细文档。上述语句将自动化API的超时时间设置为10秒,API操作的最小间隔设置为1秒。Pythonfrom leanproAuto import RunSettings RunSettings.set({"defaultTimeout": 10000, "slowMo": 1000})
使用Python自动化API
引入Python自动化API
由于Python与JavaScript的语法差异,引入自动化API库的方式也有所不同。
from leanproAuto import WinAuto, QtAuto, Mouse, Keyboard, Screen, Util, RunSettings
model = WinAuto.loadModel("model1.tmodel")
modelQt = QtAuto.loadModel("model1.tmodel")
####################
### 你的自动代码 ###
####################
const { WinAuto } = require("leanpro.win")
let model = WinAuto.loadModel("model1.tmodel")
const { QtAuto } = require("leanpro.qt")
let modelQt = QtAuto.loadModel("model1.tmodel")
const {Mouse, Keyboard, Screen, Util, RunSettings}
(async () => {
/*
* 你的自动化代码
*/
})()
可以切换顶上的语言标签来查看等效的JavaScript语言如何引入自动化API库。
生成Python自动化脚本
与生成JavaScript脚本类似,CukeTest也支持同样方式生成Python的自动化脚本。在启用Python以后,下面几种方式生成的就是Python自动化脚本。
从录制生成
在主界面点击“录制按钮”的下拉按钮,配置录制选项或者直接选定技术类型开始录制,就可以开始录制并生成Python自动化脚本,详情查看录制界面。
从模型管理器生成
在桌面自动化中,还可以从模型管理器中生成和运行代码。