如何在selenium webdriver上传相关路径的文件

时间:2017-08-10 11:11:04

标签: selenium webdriver

我正在使用selenium自动化,我无法上传相对路径的文件,请参阅以下代码。

driver.findElement(By.xpath("//span[text()='Theme']")).click();

File filepath=new File("\ntwinelogin.jpg");
WebElement fileobj = driver.findElement(By.name("toplogoupload"));
fileobj.sendKeys("\ntwinelogin.jpg");
String Filepath=filepath.getAbsolutePath();
Filepath.trim();

4 个答案:

答案 0 :(得分:1)

使用System.getProperty("user.dir")+"\ntwinelogin.jpg"; 作为当前项目目录路径。

{{1}}

答案 1 :(得分:0)

步骤1:首先将文件存储在一个变量中,例如String path = "C:\\users\\home\\newhtml.html";

第2步:将变量传递给sendkeys()方法

driver.findelement(By.xapth("")).sendkeys(path);

答案 2 :(得分:0)

您可以在Python中使用以下函数作为相对路径:

导入

import sys, os

使用以下代码:

ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
screenshotpath = os.path.join(os.path.sep, ROOT_DIR,'YOURFOLDERNAME'+ os.sep)
print screenshotpath

确保您创建存在.py文件的文件夹

<强>爪哇

System.getProperty("user.dir")

答案 3 :(得分:0)

我最近需要一个与平台无关的解决方案来解决此问题。由于我们使用的是Maven,因此我实现了以下解决方案。

  

Maven目录结构

src
 |
  - main
 |    |
 |     - java
 |         |
 |          - com
 |             |
 |              - example
 |                   |
 |                    - integration
 |                            |
 |                             - Test1.java
 |                            |
 |                             - Test2.java
 |                            ...
 |
  - resources
        |
         - File1.csv
        |
         - File2.csv
        ...
  

测试

// Load a file on the classpath as a resource using the ClassLoader.
URL    url  = getClass().getClassLoader().getResource("File1.csv");

// Convert the URL into a URI.
URI    uri  = file.toURI();

// Load the file from the URI.
File   file = new File(uri);

// Get the absolute path to the file.
String path = file.getAbsolutePath();

// Use the absolute path with Selenium.
input.sendKeys(path);