是否可以使用 Selenium WebDriver 来自动化桌面应用程序?

2024-03-31

我正准备为目前处于开发初始阶段的 Web/桌面应用程序编写自动化测试。将使用的技术是 Laravel、VueJS 和最重要的 Electron Framework。 Electron 是一个使用 JavaScript、HTML 和 CSS 等 Web 技术创建本机应用程序的框架。

所以我很好奇是否可以使用 Selenium WebDriver 来自动化使用 Web 技术(例如 Electron)创建的桌面应用程序?

我已经成功为“Slack Web应用程序”编写了一些Selenium/Java测试(Slack是使用Electron框架开发的)

现在我想尝试使用相同的测试来测试“Slack Desktop App”。如果可能的话,也许我可以更改“Setup Selenium”@Before 方法?

这是我针对基于 Web 的应用程序的初始“SetupSelenium”方法: @方法之前

public void setupSelenium() {
    baseUrl = "https://slack.com/";

    System.setProperty("webdriver.chrome.driver", "C:\\UOOP\\WorkspaceJava\\chromedriver.exe");

    driver = new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
    driver.manage().window().maximize();
    driver.navigate().to(baseUrl);

    homePage = new HomePage(driver);
    signInPage = new SignInPage(driver);
    signInToYourTeamPage = new SignInToYourTeamPage(driver);
}

如果有人有任何想法,我很感激帮助...也许将二进制路径设置为 slack.exe ?
To: C:\Users\Danant\AppData\Local\slack\slack.exe


你需要设置一些ChromeOptions创建时ChromeDriver, like:

ChromeOptions options = new ChromeOptions();
options.setBinary(new File("C:\\path\\to\\slack.exe"));

ChromeDriver driver = new ChromeDriver(options);

Electron 文档中也有关于此主题的教程:https://xwartz.gitbooks.io/electron-gitbook/content/en//tutorial/using-selenium-and-webdriver.html https://xwartz.gitbooks.io/electron-gitbook/content/en//tutorial/using-selenium-and-webdriver.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用 Selenium WebDriver 来自动化桌面应用程序? 的相关文章

随机推荐

  • 在目录和子目录中搜索文件中的模式

    在Linux中 我想搜索给定目录及其子文件夹 文件以查找某些包含和排除模式 find apps exec grep performance v warn dev null 这与搜索所经过的大量行相呼应 我不想这样 我想找到包含性能但不包含警
  • 为什么这个 Jinja nl2br 过滤器会转义
    而不是

    我正在尝试实施this http flask pocoo org snippets 28 Jinja nl2br筛选 它工作正常 除了 br 是不是广告被转义了 这对我来说很奇怪 因为 p 没有被转义并且它们都在同一个字符串中 我正在使用烧
  • 可以将 std::numeric_limits 专门用于用户定义的类似数字的类吗?

    的文档std numeric limits
  • PHP 忽略 php.ini 中的curl.cainfo 设置(显然)

    我正在尝试修复 Windows 服务器 运行 IIS 上的 php curl 调用 该调用返回熟悉的错误 SSL 证书问题 请验证 CA 证书是否正常 详细信息 错误 14090086 SSL 例程 SSL3 GET SERVER CERT
  • 如何在 Apps 脚本中设置表格的水平对齐方式

    我无法找到使用 Google Apps 脚本水平对齐 Google 文档中表格的方法 我彻底检查了所有文档 也盲目地尝试了几种方法 尝试一 var cells Company rowData 3 Title rowData 4 var ta
  • 循环展开优化,它是如何工作的

    考虑这个 C 代码 int sum 0 for int i 0 i lt 5 i sum i 这可以用 伪 汇编方式翻译 无需循环展开 pseudo code assembly ADDI R10 0 sum ADDI R11 0 i LOO
  • 自动提供数据库中的唯一ID

    在我的项目中 我需要注册一位捐赠者 我需要用户输入他的信息 系统会注册他并为捐赠者生成一个唯一的 ID 制作一个带有字段ID的表 该表具有索引并且具有自动递增功能 CREATE TABLE Persons ID int NOT NULL A
  • 如何尾部除第一行之外的所有行[重复]

    这个问题在这里已经有答案了 例如 我有一个文件 1 2 3 然后我想从第二行输出到尾部 我怎样才能在linux下做到这一点 tail n 2 my file 将输出所有行myfile从第 2 行开始 n2会显示最后两行 tail有很多更多的
  • 算法时间复杂度分析

    您好 我正在尝试分析该算法的时间复杂度 但我很难解开并计算最终循环将执行的次数 我意识到第一个循环是 log n 但之后我似乎无法得到一个评估良好的总和 这是算法 for int i 1 i lt n i 2 i for int j 1 j
  • Ramda 循环数组

    循环可能是错误的术语 但它描述了我正在尝试的事情 我想为平面数据提供结构 但我还需要跟踪它来自的数组 基本上我的规则是 每个数组 如果级别 1 存在 给它name该项目的 以及typechild大批 每次出现级别 1 时 即使在同一个数组中
  • 寻找单调序列并考虑达到最大值时重新启动序列

    我有一个 data table 说 dt name lt letters 1 22 score lt c 42 82 43 32 47 48 49 50 54 59 76 9 13 88 91 99 4 6 8 12 14 15 class
  • Vim 中可以显示缩进指南吗?

    我是 Vim 的长期用户 三四年 最近开始处理一些深度嵌套的代码 此代码使用空格缩进 而不是制表符 我想要一些干净且不分散注意力的缩进指示 以帮助在我查看多个层次的深度内容时跟踪我所在的代码块 set list 只显示制表符和结束行字符 我
  • ASP.Net Core 1.0 RC2:web.config 中提到的 LAUNCHER_PATH 和 LAUNCHER_ARGS 是什么?

    有在 ASP NET 5 RC2 版本中 它更名为 ASP NET Core 1 0 ASP NET 5 已死 http www hanselman com blog ASPNET5IsDeadIntroducingASPNETCore10
  • 在 React 中将组件数组作为 Props 传递

    我正在寻找一种将组件数组传递给选项卡组件的道具的方法 只是想知道这是否可能 因此 我需要创建一个组件来缩短材质 ui 的选项卡方法 但我找不到一种方法来将组件数组作为 prop 传递 以便将其渲染在该组件上 这是我的代码的示例
  • 文件被隐藏了吗?

    如何确定某个路径是否指向隐藏文件 文件夹 NSString file my file some where BOOL fileIsHidden lt what do I do here 我知道隐藏文件以句点为前缀 这不是隐藏文件的唯一标准
  • 将现有 java 项目转换为 osgi 包的最佳方法

    我们有很多组件 我们只想模块化其中的几个 想知道 在我的构建环境的上下文中 从所有这些组件创建捆绑包的最佳方法是什么 我的环境 Java 6 Maven 2 2 1 Hudson 技术 Spring 3 0 5 WebSphere 7 Hi
  • 故障安全集成测试期间的错误不会导致 Maven 构建失败

    我有 Failsafe 运行 Selenium 集成测试 如果我在测试中的断言之一未通过并且测试失败 那么 Maven 构建将按预期失败 但是 如果测试错误 构建会意外成功 输出如下 Tests run 1 Failures 0 Error
  • 使用 OleDbConnection 连接

    我正在尝试连接到具有两个表的数据库 但是 当我尝试登录后 出现错误 该错误表明零点处没有行 我认为这是因为我的联系 using System using System Collections Generic using System Lin
  • sscanf 读取数据不准确

    在 Matlab 中 可以将元胞数组中数字的字符串表示形式转换为双精度数组中的数字表示形式str2double或组合str2num and cellfun A 最近贴文 https stackoverflow com a 21794549
  • 是否可以使用 Selenium WebDriver 来自动化桌面应用程序?

    我正准备为目前处于开发初始阶段的 Web 桌面应用程序编写自动化测试 将使用的技术是 Laravel VueJS 和最重要的 Electron Framework Electron 是一个使用 JavaScript HTML 和 CSS 等