linux - 在多个浏览器中在 selenium 中运行测试,同时在每个测试用例之后清理数据库

标签 linux selenium automation selenium-rc qa

我想在多个浏览器(FF 和 IE)上在 selenium 中运行我的测试用例。由于相同的测试用例运行两次,我想在运行每个测试用例后清理我的数据库。(否则第二个测试用例将失败,因为数据已经输入)

运行每个测试用例后有什么方法可以清理数据库吗? (运行一个shell脚本或任何方法)

我必须处理 mysql 和 mongo db。
以前,当我使用单个浏览器运行时,我使用了一个 shell 脚本来清理初始数据并将其重新安装到数据库中。

最佳答案

您不能在每次测试运行之前简单地运行这些脚本吗?在测试之前运行数据库清理比在测试之后运行更好。因为当某事同时发生变化时,您仍然可以确定当您运行构建时,数据库必须处于默认状态,因为它刚刚被您的脚本清理。从 maven 你可以执行 bat/shell 文件 http://maven.40175.n5.nabble.com/How-to-execute-a-script-in-maven2-td106785.html

只需使用预集成测试等阶段之一:
Maven and Exec: forking a process?

我个人会选择一个包含构建自动化的更复杂的解决方案。
考虑使用 CI 服务器(持续集成)。它负责在每次代码更改后构建您的应用程序。您可以查看 Jenkins - 它是免费的。使用此类工具可以让您运行多个作业。然后,您可以在那里配置一项作业来构建您的应用程序和另一项作业以在您的应用程序上运行测试。在测试之前,您可以简单地以 pre-steps 甚至 post-steps 的形式运行 bat/shell 脚本。
这个过程当然被简化了,只是为了让你对它有一个整体的看法。如果您想了解更多信息,请询问:)

关于linux - 在多个浏览器中在 selenium 中运行测试,同时在每个测试用例之后清理数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713954/

相关文章:

php - 性能:Web 服务器中的大量图像与大量目录

python - 类型错误 : required field "posonlyargs" missing from arguments error running a Pytest Script on Python 3. 8.1

internet-explorer - 使用 Powershell 自动化 IE 确认提示

c - char 指针的段错误

php - Doctrine 1.2 : Memcache network timeout(0)

linux - 刷新 Linux 系统中的消息队列

python - Selenium 和新标签

java - selenium webdriver 模式对话框 java

c# - 自动化任务的所有可能选项(在我的例子中,是搜索索引更新)

python - 如何使用 python 自动化处理弹出窗口