1

所以我下载了一个使用电子框架的应用程序。

我设法单击所有需要的按钮来生成一些与服务器相关的数据。

此测试运行大约 2 分钟,并在此时间范围内生成带有文本框的文本。

不幸的是,我无法访问这些数据,因为它找不到它的路径。

有什么办法吗?

附上该应用程序的屏幕截图及其 HTML 代码。

同样,这是我的代码:

const Application = require('spectron').Application
const assert = require('assert')

const log = require('electron-log');


const {describe} = require('mocha')
const electronPath = require('electron')
const logger = require("electron-packager"); // Require Electron from 

the binaries included in node_modules.
describe('Application launch', async function () {
this.timeout(10000)


beforeEach(async function () {
    this.app = new Application({
        path: '/Applications/fido-conformance-tools-electron.app`/Contents/MacOS/fido-conformance-tools-electron',`


    })
    return this.app.start();
})

afterEach(async function () {
    // if (this.app && this.app.isRunning()) {
    //     return this.app.stop()
    // }
})

it('shows an initial window', async function () {
    await this.app.client.element(`//span[contains(text(),'Server Tests')]`).click();
    await this.app.client.element(`[data-key='serverURL']`).click();
    await this.app.client.element(`[data-key='serverURL']`).setValue('abcd.com');
    await this.app.client.click("//a[@data-upgraded=',MaterialButton,MaterialRipple' and contains(text(),'Run')]");
    await this.app.client.waitUntilTextExists('.passes a','passes',20000)
    // require('electron').remote.getGlobal('setTimeout')(() => { console.log('done'); }, 2000);
    // let isDisplayed = await (await this.app.client.$("[class=suite]:nth-of-type(1) li[class='test pass fast'] h2").waitForDisplayed());
    const data = await this.app.client.getText("[class=suite]:nth-of-type(1) li[class='test pass fast'] h2");
    // const data = await this.app.client.getText("[class='fido-tool-title']")

    log.info(data);

    // this.driver

// // 让数据;

})

})

我要下载的数据在这个文本框中(见图)在此处输入图像描述

4

0 回答 0