在Sauce Labs上运行测试时,有没有办法通过文件选择器对话框访问文件



我正在使用Selenium和Sauce Labs执行自动跨浏览器测试。测试中的web应用程序要求通过文件选择器对话框访问文件。我想在Sauce Labs运行测试时使用Selenium访问这些文件。在本地运行测试时(不使用Sauce Labs(,我能够成功地与文件选择器对话框交互以访问文件,但在通过Sauce Labs运行测试时却无法做到这一点,因为我不知道所显示的本地文件选择器对话框的web元素定位器。

我有以下问题:

  1. 是否可以将文件上传到Sauce Labs虚拟机,然后从运行浏览器的虚拟机上的文件系统下载
  2. 有没有一种方法(使用Selenium(可以与在Sauce Labs虚拟机上执行测试时显示的本机文件选择器对话框进行交互?目标是将键盘输入发送到文件选择器对话框,指定文件的路径

我已经查看了Sauce Labs的文档以获取有关此方面的信息。以下是我参考的文件:https://support.saucelabs.com/hc/en-us/articles/115003685593-Uploading-Files-to-a-Sauce-Labs-Virtual-Machine-during-a-Testhttps://support.saucelabs.com/hc/en-us/articles/115005860628-Testing-PDF-Downloads

是否有人成功地将文件上传到Sauce Labs,并在测试执行过程中通过提供的本地文件选择器对话框访问这些文件?

是的,这是可能的,您需要采取的步骤在这个存储库中进行了解释。这个例子是用JavaScript编写的,但希望你能把它翻译成你喜欢的语言。

基本步骤是:

  1. Sauce Labs虚拟机无法访问您的本地虚拟机,因此您需要将一个文件上载到Sauce Labs。这是一个将在硒测试开始之前执行的脚本
  2. Selenium不能与这些弹出窗口交互,所以您需要在输入字段中设置要上传的文件的路径。根据上传字段/按钮的创建方式,您可能需要使输入字段可见,以便与之交互。这可以通过在页面中注入一些JS并将元素设置为可见来实现。如何做到这一点取决于开发人员如何编写页面。没有什么灵丹妙药

最新更新