如何在同一交易上运行所有测试。Selenium Webdriver+;python

如何在同一交易上运行所有测试。Selenium Webdriver+;python,python,selenium,webdriver,Python,Selenium,Webdriver,我是自动化测试的新手。 目前正在使用Pyhton进行手动测试,并尝试使用SeleniumWebDriver自动化该过程。 我正在创建一个测试套件,它将运行不同的脚本。每个脚本将在不同的功能上运行测试。 我被卡住了。 我正在开发金融网络应用程序。最初的纸条将创建金融交易,所有其他脚本将在此交易上测试不同的功能。 我不知道如何处理这种情况。我是否应该将URL从第一个脚本(新创建的交易)传递到套件中的所有其他脚本中,以便所有测试都在同一个交易上运行,而不是为每个测试创建新的交易?我该怎么做? 或者有没

我是自动化测试的新手。 目前正在使用Pyhton进行手动测试,并尝试使用SeleniumWebDriver自动化该过程。 我正在创建一个测试套件,它将运行不同的脚本。每个脚本将在不同的功能上运行测试。 我被卡住了。 我正在开发金融网络应用程序。最初的纸条将创建金融交易,所有其他脚本将在此交易上测试不同的功能。 我不知道如何处理这种情况。我是否应该将URL从第一个脚本(新创建的交易)传递到套件中的所有其他脚本中,以便所有测试都在同一个交易上运行,而不是为每个测试创建新的交易?我该怎么做? 或者有没有更好的方法?
非常感谢任何建议!!!谢谢大家!

最好让每个测试都能够独立运行。如果您有一种通过API或数据库而不是通过UI创建交易的方法,那么您可以为每个测试调用该方法。并且,如果可能的话,在测试运行后也要清理这些数据

如果这是不可能的,您还可以在数据库、
xml
json
文件中记录一些测试数据。然后,您的以下测试可以读入该数据,以获得运行测试所需的数据。在这种情况下,这将是一些参考您的金融交易


第二个选项并不理想,但在某些情况下可能是合适的。

最好让每个测试都能够独立运行。如果您有一种通过API或数据库而不是通过UI创建交易的方法,那么您可以为每个测试调用该方法。并且,如果可能的话,在测试运行后也要清理这些数据

如果这是不可能的,您还可以在数据库、
xml
json
文件中记录一些测试数据。然后,您的以下测试可以读入该数据,以获得运行测试所需的数据。在这种情况下,这将是一些参考您的金融交易


第二个选项并不理想,但在某些情况下可能是合适的。

这里有几种方法可能会有所帮助,其中一些方法取决于您是使用框架,还是使用selenium api从头开始构建

  • 在套件或测试级别使用设置和拆卸方法
  • 这可能是最简单的方法,与您在帖子中提出的要求非常接近。我使用过的每个框架都支持某种开箱即用的安装和拆卸方法,即使不支持,它们也不难编写。在您的例子中,有一个脚本可以调用每个测试用例,所以只需在套件的开头添加一个before()方法,创建您正在处理的财务交易

    如果您希望为每个单独的测试制定一个新政,只需将before()方法放在每个测试用例的父类中,以便它们继承并在每个用例中运行它

  • 使用自定义测试数据
  • 这可能是更好的方法,但前提是您拥有数据库访问权限或与dbm的良好关系。您通常不希望一个测试用例的成功依赖于另一个测试用例的成功(第一个答案所指的isolaton)。如果文档的创建以某种方式失败,那么该文档下游的每个测试也将失败,即使他们正在测试可能工作的不同功能。这导致了大量的保险损失

    因此,不要每次都创建一个新的财务文档,而是与您的DBM交谈,看看是否有可能创建一组测试数据,这些数据要么位于测试数据库中,要么插入到测试套件的开头


    通过这种方式,您有1个测试用于测试文档创建,还有X个测试用于根据测试数据验证其功能,这些测试互不依赖。

    这里有两种方法可能会有所帮助,其中一些方法取决于您是使用框架,还是使用selenium api从头开始构建

  • 在套件或测试级别使用设置和拆卸方法
  • 这可能是最简单的方法,与您在帖子中提出的要求非常接近。我使用过的每个框架都支持某种开箱即用的安装和拆卸方法,即使不支持,它们也不难编写。在您的例子中,有一个脚本可以调用每个测试用例,所以只需在套件的开头添加一个before()方法,创建您正在处理的财务交易

    如果您希望为每个单独的测试制定一个新政,只需将before()方法放在每个测试用例的父类中,以便它们继承并在每个用例中运行它

  • 使用自定义测试数据
  • 这可能是更好的方法,但前提是您拥有数据库访问权限或与dbm的良好关系。您通常不希望一个测试用例的成功依赖于另一个测试用例的成功(第一个答案所指的isolaton)。如果文档的创建以某种方式失败,那么该文档下游的每个测试也将失败,即使他们正在测试可能工作的不同功能。这导致了大量的保险损失

    因此,不要每次都创建一个新的财务文档,而是与您的DBM交谈,看看是否有可能创建一组测试数据,这些数据要么位于测试数据库中,要么插入到测试套件的开头


    这样,您就有1个测试用于测试文档创建,还有X个测试用于根据测试数据验证其功能,这些测试互不依赖。

    欢迎使用堆栈溢出!请阅读。请提供您尝试过的代码和执行结果,包括任何错误消息等。还请提供指向页面和/或相关HTML的链接。欢迎使用堆栈溢出!请阅读。请提供您尝试过的代码和执行结果,包括任何错误消息等。同时提供指向页面和/或相关HTML的链接。