browserstack_executor 操作的列表在哪里?

Where is a list of browserstack_executor actions?

我发现了以下用途,但没有关于使用 browserstack_executor 的其他可能操作的文档:

  1. 文件存在
  2. 获取文件内容
  3. 获取文件属性
  4. 设置会话状态

我正在寻找 removeFileunlinkFiledeleteFile 来删除浏览器下载的文件,并且现在正在下一个文件下载和将 (1) 添加到文件名中。

在我的硒测试中,我正在做这样的事情:

if driver._is_remote:
    action = {"action": "fileExists", "arguments": {"fileName": os.path.basename(self.filepath)}}
    if driver.execute_script(f'browserstack_executor:{json.dumps(action)}'):
        action = {"action": "getFileContent", "arguments": {"fileName": os.path.basename(self.filepath)}}

        content = driver.execute_script(f'browserstack_executor:{json.dumps(action)}')
        with open(self.filepath, "wb") as f:
            f.write(base64.b64decode(content))

        action = {"action": "deleteFile", "arguments": {"fileName": os.path.basename(self.filepath)}}
        delete_status = driver.execute_script(f'browserstack_executor:{json.dumps(action)}')

我尝试过的所有 3 种方法都得到 invalid action,因此一定有其他方法可以删除浏览器堆栈中计算机上的文件。

我相信 'browserstack_executor' 是特定于 BrowserStack 的自定义执行器,它可以执行的操作集有限。

支持的操作可在其文档中找到: https://www.browserstack.com/docs/automate/selenium/test-file-upload https://www.browserstack.com/docs/automate/selenium/test-file-download

因此,无法执行像 removeFile 或 unlinkFile 或 deleteFile 这样的操作,因为它们目前不受支持,也没有在上面共享的链接中提及。

根据公司支持人员的说法,没有列表,也不支持取消链接。为了解决这个问题,我修改了 FileExists ExpectedCondition 我用来在从测试系统中拉出文件名后自动递增文件名并使用“下一个可用”名称,以便我的测试可以相同 运行 在本地或在浏览器堆栈上。