繁体   English   中英

使用 selenium 网格时是否有与节点操作系统交互的跨平台解决方案?

[英]Is there a cross-platform solution to interacting with node OS when using selenium grid?

我编写了一些在本地运行并通过的 selenium 测试。 我为 Windows/Chrome 编写了它们。 有一次,我的应用程序打开了一个本地文件资源管理器来上传文件。 为了与之交互,我使用了 AutoIt,它解决了我的问题。 但是,现在我正在将我的测试移动到网格(通过 lambdatest),并且我正在 Windows 和 Mac 上进行测试。 AutoIt 仅适用于 Windows,并且开箱即用它仅适用于本地。 我知道已经提供了一些远程使用 AutoIt 的解决方案,但这对我使用 Mac OS 没有帮助。

在 selenium 测试期间,是否有关于如何与远程机器交互的通用解决方案?

任何帮助表示赞赏。 我不知道如何解决这个问题。

编辑:在查看了很多解决方案之后,以下是我一直在尝试的,但测试超时,因为它找不到文件输入。 我知道一定有办法做到这一点。 在 MacOS 上测试应用程序的人无法使用 AutoIT,那么解决方案是什么?

        # upload photo
        photo_upload_element = wait1.until(
            EC.visibility_of_element_located((By.CLASS_NAME, 'reply-field__button--cam'))).click()
        time.sleep(2)
        file_input = self.driver1.find_element_by_css_selector("input[type='file']")
        time.sleep(2)
        file_input.send_keys(DIR_PATH + r"\path\to\local\photo.jpg")
        time.sleep(2)
        file_input.send_keys(Keys.RETURN)
        time.sleep(2)
        wait1.until(
            EC.visibility_of_element_located((By.CLASS_NAME, 'buttons-grid__button'))).click()
        time.sleep(2)

这是输入页面上的 html:

<template>
  <input
    class="fileselect"
    v-on:change="handleFileSelect"
    ref="fileinput"
    id="cam"
    type="file"
    accept="image/*"
    :capture="camera"
    data-testid="fileselect"
  />
</template>

任何人都可以提出解决方案吗? 在此处输入图像描述

请确保在应该解决此类问题的网格上运行测试时使用file detector

您可以参考以下链接以获取有关文件检测器的更多信息。 远程驱动程序实现中的文件检测器

我认为在这种情况下我们不必使用 AutoIT,因为输入类型是file ,理想情况下send_keys方法应该负责浏览文件。

我认为您正在尝试管理浏览文件问题。 如果是这样,您可以使用pyautogui

from pyautogui import typewrite

typewrite('file.txt')

typewrite(['enter'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM