我正在尝试自动化一个方案,在该方案中,我需要输入卡的详细信息,例如卡上的姓名,卡号,有效期和CVC号码。当我尝试发送到期日时说“ 2318”,默认情况下它接受的值为“ 23/8”。理想情况下,它应该接受值为“ 23/18”。我试图逐月分配空间,但仍然无法正常工作。知道如何自动化吗?
以下是我的代码:
@Override
public void enterCardDetails() {
waitForElement(appiumDriver,enterNameOnCardEditField).sendKeys("test");
waitForElement(appiumDriver,enterCardNumberEditField).sendKeys("0000000000000000");
waitForElement(appiumDriver,enterExpiryMMYYEditField).sendKeys("2518");
waitForElement(appiumDriver,enterCVCNumberField).sendKeys("000");
waitForElement(appiumDriver,makePaymentOption).click();
}
我正在使用以下鸦片和硒版本:
很遗憾,我无法提供鸦片检查器的任何屏幕截图。
答案 0 :(得分:2)
根据您的问题,您所看到的完全是预期的,并且是由于有效日期字段上的验证错误造成的。
基本上,任何信用卡上的有效期都将由 MM/YY
格式组成,其中:
MM
字段将接受字符序列,例如01
,10
,12
等YY
字段将接受字符序列,例如18
,19
,20
等现在,每当您尝试发送 2318
的字符序列时,参与验证的js
不接受< / strong>字符,并且在没有适当的 js验证器的情况下,允许字符 23
和 8
分别是 MM 和 YY 字段。
这是一个潜在的错误,可能已通过手动验证
发送有效的字符序列,如下所示:
waitForElement(appiumDriver,enterExpiryMMYYEditField).sendKeys("0718");
答案 1 :(得分:0)
我能够通过添加以下功能来解决此问题:
capabilities.setCapability(“ maxTypingFrequency”,10);