Java 如何在使用appium的移动应用程序中自动化卡支付?
我正在尝试自动化一个场景,在这个场景中,我需要输入卡上的姓名、卡号、到期日和CVC号等卡的详细信息。当我试图发送到期日(比如“2318”)时,默认情况下,它接受的值为“23/8”。理想情况下,它应接受值为“23/18”。我试着每月和每年都给空间,但仍然不起作用。你知道如何实现自动化吗 以下是我的代码:Java 如何在使用appium的移动应用程序中自动化卡支付?,java,selenium,selenium-webdriver,webdriver,appium,Java,Selenium,Selenium Webdriver,Webdriver,Appium,我正在尝试自动化一个场景,在这个场景中,我需要输入卡上的姓名、卡号、到期日和CVC号等卡的详细信息。当我试图发送到期日(比如“2318”)时,默认情况下,它接受的值为“23/8”。理想情况下,它应接受值为“23/18”。我试着每月和每年都给空间,但仍然不起作用。你知道如何实现自动化吗 以下是我的代码: @Override public void enterCardDetails() { waitForElement(appiumDriver,enterNameOnCar
@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 inspector的任何屏幕截图。根据您的问题,您看到的是非常令人期待的结果,这是过期日期字段验证错误的结果 从本质上讲,任何信用卡的到期日都由MM/YY格式组成,其中:
字段将接受字符序列,例如MM
、01
、10
等12
字段将接受字符序列,例如YY
、18
、19
等20
2318
的字符序列时,验证所涉及的js
不会接受字符,并且在没有适当的js验证器的情况下,允许在MM和YY字段
这是一个pottential bug,可能没有通过手动验证
解决方案
发送一个有效的字符序列,如下所示:
waitForElement(appiumDriver,enterExpiryMMYYEditField).sendKeys("0718");
我可以通过添加以下功能来解决此问题:
能力。设置能力(“maxTypingFrequency”,10) 谢谢你的回复,事实上,我多次检查了这个场景,然后我确定它不是逃犯。所以我联系了一位appium开发人员,他给了我解决方法。通过添加以下功能(我已发布为答案),我能够解决这个问题。谢谢你的帮助。干杯