我正在尝试阻止信用卡号在播放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();
}
答案 0 :(得分:0)