Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
Selenium webdriver 如何在Windows7中处理selenium中的文件上载_Selenium Webdriver_Nunit_Automated Tests - Fatal编程技术网

Selenium webdriver 如何在Windows7中处理selenium中的文件上载

Selenium webdriver 如何在Windows7中处理selenium中的文件上载,selenium-webdriver,nunit,automated-tests,Selenium Webdriver,Nunit,Automated Tests,我正在用selenium编写一个脚本,使用webdriver和nunit自动化我的web应用程序。我必须在我的应用程序中上传文件。但是做不到 单击浏览按钮时,对话框打开,选择文件后,文件将上载 浏览 我怎样才能用硒来做呢 Answer is already available on stack, still I am repeating: 找到upload按钮,创建此的webelement,然后按照以下代码操作: //open upload window upload.click

我正在用selenium编写一个脚本,使用webdriver和nunit自动化我的web应用程序。我必须在我的应用程序中上传文件。但是做不到

单击浏览按钮时,对话框打开,选择文件后,文件将上载

浏览

我怎样才能用硒来做呢

Answer is already available on stack, still I am repeating:
找到upload按钮,创建此的webelement,然后按照以下代码操作:

   //open upload window
    upload.click();

    //put path to your image in a clipboard
    StringSelection ss = new StringSelection(<give file location>);
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);

    //imitate mouse events like ENTER, CTRL+C, CTRL+V
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);
//打开上传窗口
上传。点击();
//将图像的路径放入剪贴板
StringSelection ss=新StringSelection();
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss,null);
//模拟诸如ENTER、CTRL+C、CTRL+V等鼠标事件
机器人=新机器人();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
机器人按键(KeyEvent.VK_控制);
robot.keyPress(KeyEvent.VK_V);
robot.keyrease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_控制);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

我正在使用的C#与selenium可能重复。我试过这个驱动程序.FindElement(By.Id(“pickfiles”).SendKeys(“D:\\file1.rar”);但它不起作用。我也尝试过使用AutoIT,但无法运行AutoIT提供的exe文件。我文件中的元素是Browse,它正在使用plupload javascript API上载文件。我解决了此问题,参考此链接,我还有一个问题。在这种情况下,文件上载者使用ActiveX控件上载文件。问题是,我无法找到要单击的元素。
public void uploadFile(String locatorId, String filePath) {

WebElement fileInput = findElementExplicitWaitWithNoVisbility(By.id(locatorId), true);

fileInput.clear();
fileInput.sendKeys(filePath);}