当前位置: 首页 > 知识库问答 >
问题:

Selenium Web驱动程序Eclipse:从json文件或xml文件传递用户名和密码

朱风史
2023-03-14

我应该如何引用selenium web驱动程序中sendkeys函数中的值

共有1个答案

章阳波
2023-03-14

下面的答案是基于JSON的以下格式的假设:

{
    "testData": [{
        "userName": "test1",
        "password": "password1"
    }, {
        "userName": "test2",
        "password": "password2"
    }]
}

我建议使用Jackson对数据进行反序列化。在类路径中需要相同版本的jackson-core、jackson-annotations、jackson-databind jar。

按以下方式创建类User:

public class User {
    private String userName;
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    private String password;
}
public class TestData {
    List<User> testData;

    public List<User> getTestData() {
        return testData;
    }

    public void setTestData(List<User> testData) {
        this.testData = testData;
    }
}
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
        WebDriver driver = new ChromeDriver();
        // You can read the json from property file/service call and store to string.
        String jsonString = "{\"testData\": [{\"userName\": \"test1\",\"password\": \"pwd1\"}, {\"userName\": \"test2\", \"password\": \"pwd2\" }]}";
        ObjectMapper mapper = new ObjectMapper();
        TestData obj = mapper.readValue(jsonString,TestData.class);
        for (User data : obj.getTestData()) {
             driver.findElement(By.id("usernameS")).sendKeys(data.getUserName());
             driver.findElement(By.id("passwordS")).sendKeys(data.getPassword());
        }
}
 类似资料:
  • 问题内容: 我们正忙于为客户开发Java Web服务。有两种可能的选择: 将加密的用户名/密码存储在Web服务客户端上。从配置读取。客户端上的文件,解密并发送。 将加密的用户名/密码存储在Web服务器上。从配置读取。Web服务器上的文件,解密并在Web服务中使用。 Web服务使用用户名/密码来访问第三方应用程序。 客户端已经具有提供此功能的类,但是此方法涉及以明文方式发送用户名/密码(尽管在内联网

  • 我正在使用Phantomjs驱动程序运行一个selenium webdriver脚本headless。我在上传文件时遇到了问题,因为在普通浏览器(firefox或chrome)上,它会弹出操作系统对话框,允许我在机器中找到文件并上传。如何使用ghostDriver(Phantomjs驱动程序)来实现这一点?谢谢

  • 我有一个问题,上传文件到网络系统使用硒驱动程序。所以在我的页面上,我没有任何输入来设置文件路径,而且我在网络上找到的大多数解决方案都不适合我。我必须点击上传文件按钮,然后在窗口对话框中设置文件的路径。我找到了winforms SendKeys类中使用的方法: 它的工作,但只有当测试有完全控制的机器(如果没有-路径已发送到某处不对话)。这就是问题所在,因为我无法完全控制运行测试的机器。你知道不使用S

  • 我正在使用TestNG执行单元测试,其中我正在使用xml文件中定义的测试用例测试我的代码。 我正在使用xml文件中定义的测试用例执行登录操作。但问题是我想在方法登录中以usersname和password的形式发送参数。 是否可以将值(用户名和密码)传递给执行测试用例的xml文件中的登录方法? 下面是我的XML文件 谢谢

  • 问题内容: 我想知道如何从json文件或xml文件创建对象类? 例如: 我从webservice获取此json文件: 我想创建一个像这样的类: NB : 我的问题不是如何在vb.net 中序列化/反序列化json objet 吗? 我的xml文件没有XSD,为什么会更困难 我的代码是用VB.Net而不是C#编写的。我发现许多网站将json转换为c#(http://json2csharp.com/)

  • 我已经从一个JAR文件在hadoop集群上运行了几个map reduce作业。JAR的Main接受XML文件作为命令行参数。XML文件包含每个作业的输入和输出路径(名称-值属性对),我使用这些来配置每个mapreduce作业。我可以像这样将路径加载到配置中 我现在正尝试使用Amazon的Elastic MapReduce运行JAR。我尝试将XML文件上载到S3,但当然,使用FileInputStr