gpt4 book ai didi

java - Selenium 网络驱动程序 : Variable for different countries

转载 作者:行者123 更新时间:2023-11-30 07:08:04 25 4
gpt4 key购买 nike

嗨,我是 Java 和 Selenium 的新手,我正在尝试弄清楚一些事情。请原谅我的英语。

假设我有 2 个或更多国家/地区,并且只有一个“测试类”用于登录。

对于 Country1,我的用户名是:“user1” 和密码 “pass1”。对于country2,它是“user2”“password2”。我不想将用户名和密码硬编码到测试类中,因此我创建了另一个包含变量的测试类,例如
public static final String iUsername = "user1";

public static final String mUsername = "user2";

在测试类中我会称之为例如

driver.findElement(By.id("用户名")).sendKeys(Constant.iUsername);

我的问题是如何在开始测试之前选择另一个用户名(mUsername)而不总是更改测试类中的代码。

就像我说的,我是新人,我不太擅长解释事情。

谢谢

最佳答案

这是一个伪代码,显示了您的测试的可能设计:

  1. 为用户创建一个类:

    public class User {
    public String username;
    public String password;

    public Users(String username, String password) {
    this.username = username;
    this.password = password;
    }
    }
  2. 创建一个类来存储其信息(类似于静态类):

    public class UserFixture {
    public static User userUSA = new User("userUSA", "passUSA");
    public static User userUK = new User("userUK", "passUK");
    public static User userChina = new User("userChina", "passChina");
    public static User userFrance = new User("userFrance", "passFrance");
    }
  3. 使用您要测试的国家/地区列表创建 HashMap:

    public class AccessTest {
    List<String> countries = Arrays.asList(
    "www.website.com",
    "www.website.co.uk",
    "www.website.ch",
    "www.website.com.fr");

    Map<Users, List<String>> userCountries = new HashMap<Users, List<String>>();
    userCountries.put(UserFixture.userUSA, countries);
    userCountries.put(UserFixture.userUK, countries);
    userCountries.put(UserFixture.userChina, countries);
    userCountries.put(UserFixture.userFrance, countries);

    public static test() {
    // u = user; c = country
    userCountries.forEach((u, c) ->
    c.forEach( country ->
    goToUrl(country);
    login(u);
    // Write the rest of the test below
    )
    )
    }
    }

关于java - Selenium 网络驱动程序 : Variable for different countries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39724442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com