使用Selenium测试电子应用程序(Python - RobotFramework)

tp5buhyn  于 2023-02-04  发布在  Python
关注(0)|答案(2)|浏览(179)

我有一个基于Electron的桌面应用程序(使用Electron,我们可以使用JavaScript、HTML和CSS构建跨平台桌面应用程序)
我可以使用Selenium库测试它吗?

ckx4rj1h

ckx4rj1h1#

1.Electron包含Chromium和ChromeDriver,因此它可以与Chromium和Selenium通信,这只是Webdriver实现。

  1. Selenium需要它才能调用电子应用程序。ChromeDriver充当Selenium和我们的应用程序之间的桥梁,它遵循Selenium线协议。默认情况下,chromium在端口9515上运行。x1c 0d1x

-演示
**1.**安装并启动Chrome驱动程序:我们需要下载ChromeDriver版本,它与我们的应用程序使用的相匹配。
使用Python语言:

参数:

  • command_executor: 运行chromedriver的本地或远程端口(本例中为9515)
  • desired_capabilities: 指定电子应用程序可执行文件(ElectronApp.exe)位置的字典
  • remote-debugging-port: 应用程序的端口(在本例中为7070)
    ==〉在此之后,您应该会看到弹出的电子应用程序的第一页!
    使用机器人框架:

options参数可用于启动利用Chromium嵌入式框架的基于Chomium的应用程序。要启动基于Chomium的应用程序,请使用options定义binary_location属性,并使用add_argument方法定义应用程序的远程调试端口端口。打开浏览器后,测试即可与应用程序交互。

b1zrtrql

b1zrtrql2#

通过机器人框架
1.下载Chrome Driver。它必须是相同的Chrome版本在电子。
1.将chromedriver.exe作为服务启动

***Keywords***
Start WebDriver Service
    ${port}             Convert To Integer      ${portNumber}
    ${service}=         Evaluate        sys.modules['selenium.webdriver'].chrome.service      sys
    ${service}          CallMethod      ${service}      Service         path/to/chromedriver.exe     port=${port}
    Call Method         ${service}      start

${portNumber}是ChromeDriver端口变量
1.启动电子应用程序

Start Electron App
    ${options}=         Evaluate        sys.modules['selenium.webdriver'].ChromeOptions()     sys
    Call Method         ${options}      add_argument                        --remote-debugging-port\=7070
    Call Method         ${options}      add_argument                        --no-sandbox
    ${options.binary_location}    Set Variable    path/to/electron/application
    Create WebDriver    Remote          command_executor=127.0.0.1:${portNumber}     options=${options}

然后你就可以像浏览器应用程序一样运行测试用例。

相关问题