如何屏蔽信用卡号码以在不改变实际卡号的情况下发送selenium中的密钥?

时间:2014-10-14 21:46:09

标签: java selenium selenium-webdriver credit-card masking

我正在尝试阻止信用卡号在播放selenium webdriver测试时显示在屏幕上。我从中央数据库中提取信用卡号,但在测试中找不到。为了使其安全,我想屏蔽卡号,而selenium尝试sendKeys信用卡号输入字段中的数字。我尝试了不同的选项,但他们倾向于更改卡的实际值,这会在页面中引发卡号错误。是否有任何想法如何在不影响硒的真实价值的情况下屏蔽实际卡片。

这是我做的:

String creditCardNumber = "1234567891234567";
driver.findElement(By.id("label")).sendKeys(
    maskCardNumber(creditCardNumber, "xxxxxxxxxxxxxxx"));

public static String maskCardNumber(String cardNumber, String maskedCard) {
    // format the number
    int index = 0;
    StringBuilder maskedCardNumber = new StringBuilder();
    for (int i = 0; i < maskedCard.length(); i++) {
        char c = maskedCard.charAt(i);
        if (c == '#') {
            maskedCardNumber.append(cardNumber.charAt(index));
            index++;
        } else if (c == 'x') {
            maskedCardNumber.append(c);
            index++;
        } else {
            maskedCardNumber.append(c);
        }
    }

    // return the masked number
    return maskedCardNumber.toString();
}

1 个答案:

答案 0 :(得分:0)

  • 最佳解决方案是使用测试号或一次性卡
  • 如果您可以访问网页DOM,只需更改输入类型表单&#34; text&#34;到&#34;密码&#34;