我试图自动化一个场景,我需要输入卡上的详细信息,如卡名,卡号,有效期和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();
} 我使用以下appium和selenium版本:
不幸的是,我无法提供appium检查员的任何截图。
发布于 2018-07-17 13:09:36
通过添加以下功能,我能够解决这个问题:
capabilities.setCapability("maxTypingFrequency",10);
发布于 2018-07-11 11:31:07
根据您的问题,您所看到的内容几乎是预期的,并且是在有效期内字段上的验证错误的结果。
基本上,任何信用卡的有效期将由MM/YY格式组成,其中:
MM字段将接受字符序列,例如01、10、12等。YY字段将接受字符序列,例如18、19、20等。现在,每当您试图发送2318的字符序列时,用于验证的js不接受字符,如果没有合适的js验证器,则允许、MM、和YY字段中的字符分别为23和8。
这是一个潜在的错误,可能已经逃脱了手动验证
解决方案
发送以下有效字符序列:
waitForElement(appiumDriver,enterExpiryMMYYEditField).sendKeys("0718");https://stackoverflow.com/questions/51283737
复制相似问题