如何使用远程Selenium服务器实例,并测试从文件系统上传文件?如果我使用远程Selenium服务器,该服务器将如何能够看到本地文件系统上的内容?
例如,我需要通过Web界面测试上传文件到API服务器。因此Selenium将模拟Web界面,但由于Selenium在远程服务器上运行,Selenium如何查看文件系统上的文件?
答案 0 :(得分:2)
这取决于你如何使用selenium(框架和等)但基本的是当你调用selenium来执行文件上传时,你正在向selenium远程服务器发出HTTP POST请求并发送本地文件作为它的参数。
<强>添加强>:
如果你在这里查看Python框架 - https://github.com/SeleniumHQ/selenium/blob/fec87ea8c2a4704bd1e7bcddf9a98e400823ef4e/py/selenium/webdriver/remote/webelement.py
在“本地”代码中,您可以在send_keys函数中写入文件路径
如果此功能理解它是文件
local_file = self.parent.file_detector.is_local_file(*value)
它将在同一个文件中调用def _upload
它将压缩并编码,
并传递给下一个功能
return self._execute(Command.UPLOAD_FILE, {'file': content})['value']
在下一个文件中 - 您可以找到_upload执行的命令
def execute(self, command, params):
Command.UPLOAD_FILE: ('POST', "/session/$sessionId/file")