2014-12-01 71 views
1

我目前正在使用Selenium Webdriver编写自动化测试。我们使用MTM来运行我们的测试套件。我需要一些想法来写出这些测试的好方法。 目前在运行这些测试之前,我们执行基本设置,设置登录到站点所需的用户名和密码,设置测试应该使用的浏览器以及其他一些内容。什么是编写好的方法依赖于需要在执行测试之前需要设置的数据的自动化测试

当前每个测试所需的数据都是手动设置的,并且已经存在于数据库中。该测试只是执行关键字搜索,找到它需要的必要数据,然后执行断言。我们想要实现的是找到已存在于数据库中的这些数据,并使用它而不是手动创建它。这样我就可以在不同的环境下运行这些测试(dev,qa,production)。

我正在测试的网站是一个电子商务网站。我主要为我的团队开发的特定功能编写测试,因此许多测试需要一些特定的数据。例如建立一个具有特定运费的产品的商店,并提供特定优惠等。我希望找到一种方法来自动化或几乎删除此手动设置数据的过程。这样我就可以灵活地跨环境运行这些测试。你能否请我直接提供一些文章/建议,以帮助我实现这一目标?

+0

请仔细阅读以下内容:http://www.soapui.org/Best-Practices/working-with-data.html进行一些讨论。不是硒特有的!另外:这个问题的答案太广泛了,这可能使它成为SO的主题。 – SiKing 2014-12-01 20:00:35

回答

0

如果我正确理解你的问题,你想自动化测试数据设置。 您可以在以下几个方面实现这一点:

  1. 如果可能的话,编写SQL脚本中插入数据库所需的数据。现在,您可以在运行测试时执行此操作。如果您正在使用TestNG框架,那么已经有一个注释可用,如@BeforeTest。你可以在这个注释中执行这个sql脚本,它会在你的测试和数据准备好之前执行一次。

  2. 在电子表格中准备数据。创建算法,在电子表格中动态填充数据,然后从中直接读取并使用@BeforeTest将其提取到您的测试中,或者如果需要,也可以将电子表格中的数据插入到数据库中。

+0

谢谢Pankaj。我已经从第一种方法开始,因为它最快,并且可以随时获得数据。在电子表格中维护所需的数据也听起来是个好主意。请试一试。再次感谢。 – 2014-12-02 20:03:36

相关问题