我有一个简单的问题,我环顾网站,无法找到与我想问的问题相关的其他问题。我正在尝试实施Selenium IDE并使用它agiants公司网站。我希望能够记录注册,然后进行注册回放。我遇到的问题是当回放测试时它总是失败。原因是因为帐户无法再次重新创建。在记录注册过程后,有没有办法让测试通过?
答案 0 :(得分:1)
这适用于我创建随机电子邮件ID -
<tr>
<td>storeEval</td>
<td>Math.round (Math.random() * 1357)</td>
<td>random</td>
</tr>
<tr>
<td>type</td>
<td>email</td>
<td>selenium${random}@domain.com</td>
</tr>
To create a random user
<tr>
<td>storeEval</td>
<td>Math.round (Math.random() * 1357)</td>
<td>random</td>
</tr>
<tr>
<td>type</td>
<td>user</td>
<td>selenium${random}</td>
</tr>
答案 1 :(得分:0)
问题不在于您的Selenium测试,而在于页面本身。如果您尝试再次注册同一个用户,实际上预计会失败 - 您甚至可以记录验证它的测试。
您必须选择 - 清理数据库以便测试始终在同一数据集上运行或使您的脚本更加智能。第一个选项要求您具有对测试站点的完全访问权限(通常是这种情况),但您可以安全地假设测试结果在大多数情况下是可预测的。
另一方面,通过使测试更加智能我的意思是使用随机用户名(或以其他方式生成唯一名称) - 更多编码,我不确定是否可以使用普通Selenium IDE。
答案 2 :(得分:0)
您可以在执行电子邮件/名称
的脚本时生成随机数据Username/ID:- javascript{Math.floor(Math.random()*11)}
--- increased number of digit by increasing number of 1
Email :- javascript{"abc+" + Math.floor(Math.random()*11111) + "@gmail.com";}
答案 3 :(得分:0)
Yaasir,
Selenium IDE很乐意执行JavaScript。这意味着,您不仅可以使用Math.random,还可以使用生成更多唯一标识符的内容。 我一直在使用时间戳。这很简单,结果非常独特,除非您在测试机器上重置时间,否则您不可能得到相同的数字(在这种情况下,获得相同标识符的可能性会略大于零)。 这是我使用的行
<tr>
<td>store</td>
<td>javascript{new Date().getTime()}</td>
<td>timestamp</td>
</tr>
因此,您将得到类似于此号码1375400227202