自动化应用程序发送短信的测试

时间:2015-06-17 22:44:04

标签: java testing selenium-webdriver automation sms

我尝试使用Selenium WebDriver自动化应用程序。我的应用程序发送带有确认代码的短信,确认代码用于确认网页上的更改。您能告诉我该如何自动执行此功能?我在哪里可以提取短信发送的确认码? 谢谢!

2 个答案:

答案 0 :(得分:1)

我想你必须测试以下场景:

  1. 用户访问该网站并询问某些内容,然后网站向用户发送短信。
  2. 用户将收到的确认代码输入某个站点字段,用户可以使用某些站点服务。
  3. 我认为您打算仅测试网站行为,而不是测试发送和接收短信的功能。我还假设确认码未过期。

    为了测试这个功能,我建议使用预定义的场景。您将获取手动测试中的确认代码,并在您的网站selenium自动化中使用它。这足以验证所描述的功能。

    如果确认代码有有效期,我建议使用开发人员使用的代码,以便在您的方法中构建此确认代码。

    最后一个选项(如果您无权访问开发代码) - 使用移动自动化 (如appium)与移动模拟器一起接收确认码。在这种情况下,网站会将短信发送到移动模拟器(请参阅this question如何模拟移动设备号码),您的应用程序代码将获取并保存在本地文件中。然后selenium代码将使用它。这种方法要复杂得多,但会涵盖端到端的情况。

答案 1 :(得分:1)

如果您使用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!"