Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用selenium测试附加文件_C#_Selenium_Selenium Webdriver - Fatal编程技术网

C# 如何使用selenium测试附加文件

C# 如何使用selenium测试附加文件,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我有一个浏览文件按钮。当我尝试附加文件时,selenium不会与文件的对话框窗口交互 我试过这个方法,但对我的测试不起作用。 还有这个 如何与对话框页面交互或将文件路径设置为输入?有时sendkeys方法不起作用 特别是,当我们在不使用输入标签的情况下上传文件时。 您可以考虑使用AutoIT进行此操作。 Autoit将帮助您在文件浏览器中选择文件 您的代码应该如下所示:- 点击浏览按钮。 在代码中调用cmd可执行文件(它将执行autoit代码并选择一个文件)。 然后,继续正常执行 如果需要

我有一个浏览文件按钮。当我尝试附加文件时,selenium不会与文件的对话框窗口交互

  • 我试过这个方法,但对我的测试不起作用。

  • 还有这个


如何与对话框页面交互或将文件路径设置为输入?

有时sendkeys方法不起作用 特别是,当我们在不使用输入标签的情况下上传文件时。 您可以考虑使用AutoIT进行此操作。

Autoit将帮助您在文件浏览器中选择文件

您的代码应该如下所示:-

点击浏览按钮。 在代码中调用cmd可执行文件(它将执行autoit代码并选择一个文件)。 然后,继续正常执行


如果需要,我可以在这里发布我的自动it脚本,但会在2-3天后发布,因为在此期间我无法访问我的系统。

我解决了这个问题。我用引导创建输入,输入被隐藏。在运行测试之前,我执行这个代码

IJavaScriptExecutor js = Browser as IJavaScriptExecutor;
js.ExecuteScript("return $('input').show()");
此javascript代码确保输入元素删除隐藏属性。所以运行此代码并将路径发送到输入

driver.findElement(By.id("myUploadElement")).sendKeys("<PathToMyFile>");
driver.findelelement(By.id(“myUploadElement”).sendKeys(“”);