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

标签 selenium-webdriver vue.js electron laravel-5.3 selenium-chromedriver

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

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

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

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

这是基于 Web 的应用程序的初始“SetupSelenium”方法: @BeforeMethod

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 ??
至:C:\Users\Danant\AppData\Local\slack\slack.exe

最佳答案

创建ChromeDriver时需要设置一些ChromeOptions,例如:

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

关于selenium-webdriver - 是否可以使用 Selenium WebDriver 来自动化桌面应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41656637/

相关文章:

css - 使用 v-for 指令插入时 Vue 不应用样式

python - 如何使用splinter下载知道文件的方向和名称

selenium - 如何防止 Selenium 在每次测试运行时打开一个新的 chrome 窗口?

css - 如何制作 v-tabs-items 和 v-tab-item 填充高度

selenium - 如何使用Nightwatch框架打开基于 Electron 的应用程序?

javascript - Electron: app.on ('ready' ) 永远不会被调用

electron - 从Electron 5软件包中删除 “inspector”文件夹安全吗?

java - 如何在 Selenium Web 驱动程序中与不同用户并行登录网站?

javascript - Selenium Webdriver 无法在 Electron 构建中工作

c# - Vscode 没有多个项目的智能感知/自动完成