我正在尝试使用Selenium WebDriver自动化应用程序。我的应用程序发送带有确认代码的短信,依次用于确认网页上的更改。您能否建议我如何自动执行此功能?在哪里可以提取短信发送的确认码?谢谢!
我想您必须测试以下情况:
我想您打算仅测试站点行为,而不测试发送和接收SMS的功能。我还假设确认代码没有过期。
为了仅测试此功能,我建议使用预定义的方案。您将从手动测试中获得确认代码,并将其用于您的网站硒自动化中。这足以验证所描述的功能。
如果确认代码有有效期,我建议使用开发人员使用的代码,以便在您的方法中构建此确认代码。
最后一个选项(如果您无权访问开发代码)-使用移动自动化(例如appium)与移动模拟器一起接收确认代码。在这种情况下,站点会将短信发送到移动模拟器(请参阅this question如何模拟移动设备号),您的appium代码将接收该短信并将其保存在本地文件中。然后,硒代码将使用它。这种方法要复杂得多,但是将涵盖端到端方案。
如果使用testRigor system,它具有测试SMS的内置方法,您的代码将如下所示:
click "Sign in"
enter "user" into "Username"
enter "password123" into "Password"
click "Verify me"
check that sms to "+12345678902" is delivered and matches regex "Code\:\d\d\d\d" and save it as "sms"
extract value by regex "(?<=Code\:)[0-9]{4}" from "sms" and save it as "confirmationCode"
enter saved value "confirmationCode" into "code"
click "Continue to Login"
check that page contains text "Welcome, Peter!"