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详细文档。调用方式形如:

    Python
    from leanproAuto import WinAuto
    model = WinAuto.loadModel("model1.tmodel")
    model.getWindow("Window").activate()

  • 跨平台Qt自动化模块QtAuto:用于完成跨平台Qt自动化操作的模块。点击查看跨平台Qt自动化API详细文档。

    Python
    from leanproAuto import QtAuto
    model = QtAuto.loadModel("model1.tmodel")
    QtAuto.launchQtProcessAsync()
    model.getWindow("Window").activate()

  • 鼠标自动化模块Mouse:用于完成鼠标操作的模块,如鼠标点击、移动、拖拽等操作。点击查看鼠标自动化API详细文档。

    Python
    from leanproAuto import Mouse
    Mouse.moveSmooth(1920,1080)
    Mouse.click(2)

  • 键盘自动化模块Keyboard:用于完成键盘操作的模块,如输入、按下组合键等操作。点击查看键盘自动化API详细文档。

    Python
    from leanproAuto import Keyboard
    Keyboard.keyDown("control")
    Keyboard.keyTap("a")
    Keyboard.keyUp("control")

  • 屏幕自动化模块Screen:用于完成屏幕操作的模块,如截屏、获取屏幕信息等操作。点击查看屏幕自动化API详细文档。

    Python
    from leanproAuto import Screen
    Screen = auto.screen
    Screen.capture()

  • 常用函数模块Util:保存了用于自动化测试中的常用函数的模块,比如启动应用、延时函数等。点击查看常用函数API详细文档。

    Python
    from leanproAuto import Util
    Util = auto.util
    Util.launchProcess("notepad.exe")
    Util.delay()

  • 运行设置模块RunSettings:用于设置一些运行状态的模块,比如设置API调用间隔等。点击查看运行设置详细文档。

    Python
    from leanproAuto import RunSettings
    RunSettings.set({"defaultTimeout": 10000, "slowMo": 1000})
    上述语句将自动化API的超时时间设置为10秒,API操作的最小间隔设置为1秒。

使用Python自动化API

引入Python自动化API

由于Python与JavaScript的语法差异,引入自动化API库的方式也有所不同。

Python
JavaScript
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自动化脚本,详情查看录制界面

从模型管理器生成

在桌面自动化中,还可以从模型管理器中生成和运行代码

results matching ""

    No results matching ""