Electron录制基础
CukeTest的录制功能也可以用于Electron应用录制,直接在录制设置面板中选择Electron类型即可。可以适用于以下两种Electron录制:
- 使用Electron开发的应用:在
Electron应用
一栏中输入目标.exe
应用的完整路径;通常Electron应用主进程的.exe
文件的大小在100MB以上。 - 通过Electron打开的页面:在
Electron应用
一栏中输入electron.exe
的完整路径(没有的话可以通过npm -i -g electron
安装),并将要打开的页面链接作为命令行参数
的第一个值。
录制局限性
目前Electron应用录制还存在一个局限性,就是不会录制页面外的操作。因为录制只针对Web页面,在Electron中就是主界面,而主界面外的如菜单、文件选择器、对话框等,是无法在Electron录制中生成代码的。可以通过切换到Windows自动化录制的方式补录这些操作;
CukeTest本身也是Electron应用,意味着,您可以通过录制CukeTest生成自动化脚本。
例如,下面是录制CukeTest简单操作的脚本:
JavaScript
Python
const { _electron: electron } = require('leanpro.web');
(async () => {
const browser = await electron.launch({
args: [""],
executablePath: "C:\\Program Files\\LeanPro\\CukeTest\\Cuke.exe",
timeout: 20000
});
// Open new page
const window = await browser.firstWindow();
// Click text=qt-table
await page.click('text=qt-table');
// Click text=添加新场景
await page.click('text=添加新场景');
// Click #toolbar-new-file-dd-btn span
await page.click('#toolbar-new-file-dd-btn span');
// Click text=javascript
await page.click('text=javascript');
// Click #sortable0 >> text=>
await page.click('#sortable0 >> text=>');
// ---------------------
await app.close();
})();
from leanproWeb import WebAuto
def run(webauto: WebAuto) -> None:
browser = webauto.electron.launch(
args=[""],
executable_path="C:\\Program Files\\LeanPro\\CukeTest\\Cuke.exe",
timeout=20000
)
# Open new page
page = browser.firstWindow()
# Click text=qt-table
page.click("text=qt-table")
# Click text=添加新场景
page.click("text=添加新场景")
# Click #toolbar-new-file-dd-btn span
page.click("#toolbar-new-file-dd-btn span")
# Click text=python
page.click("text=python")
# Click #sortable0 >> text=>
page.click("#sortable0 >> text=>")
# ---------------------
browser.close()
with WebAuto() as webauto:
run(webauto)