【问题标题】:How to trigger the Junit/Testng tests to run by clicking from a web interface如何通过从 Web 界面单击来触发 Junit/Testng 测试运行
【发布时间】:2014-04-08 01:27:47
【问题描述】:

这是一个 JAVA 测试 webapp 项目(使用 maven、TESTNG、SELENIUM、JAVA 1.7)

我使用 TestNG 框架来开发我的 selenium 测试。 目前,我可以做“mvn test”,浏览器会弹出,我的 selenium 测试会运行。

为了在不同的实例上运行这些测试, 我可以在配置 testng.xml 中将参数 "test_website="http://www.google_instance1.com" 更改为 "test_website="http://www.google_instance2.com"

我的目标: 我想设计一个 Web 界面,它有一个文本框 [用于输入 webapp 的 ip 或主机名] 和一个提交按钮 [触发所有 selenium 测试开始]。

特点: 用户可以将他们想要测试的 webapp 的 ip 或主机名放在文本框中。 [我知道如何解决这个问题]

当用户点击提交按钮时,测试将开始运行。 [我不知道控制器应该调用什么]

并且用户应该能够在网页上看到结果不断更新[刷新][一些 javascript 技巧?]

【问题讨论】:

  • 对此进行了一些研究,我得到的唯一选择是 Jenkins 的 testng 插件。 Jenkins 相对容易设置,因此它可能是一个值得尝试的选项。
  • 您是否考虑过某种 CI,例如 jenkins

标签: maven testing selenium automation testng


【解决方案1】:

正如 Vish 所说,配置 Jenkins 以运行您的测试代码并使用 REST API 通过 POST 请求运行您的测试用例。

要以编程方式安排新构建,请发布到以下 URL:http://{jenkins_url}/job/{project_name}/build。如果构建有参数,请发布到此 URL:http://{jenkins_url}/job/{project_name}/buildWithParameters 并提供参数作为表单数据。

您可以设置一个 Jenkins 项目来接受参数。例如,您可以传递一个 JSON 对象,其中包括您的测试、类、配置(浏览器、操作系统、站点 url 等),并且您可以通过它以编程方式生成您的 testng.xml。

如何以编程方式创建 testng.xml:http://testng.org/doc/documentation-main.html#running-testng-programmatically

【讨论】:

  • 谢谢,使用 REST API 安排 Jenkins 构建是最好的方法。我将奖励您@peetya 的赏金,但如果您可以更新您的答案以展示我如何在我的 JUnit 项目中使用传递的参数,那将非常有帮助。
  • JUnit 还是 TestNG?因为你之前提到过TestNG。
  • OP提到TestNG,我对JUnit比较感兴趣。
  • 啊抱歉,我没有检查用户名 :) 我不知道你如何用 JUnit 解决它,但我认为它几乎和 TestNG 中的一样:创建一个新的 Jenkins 项目带参数,并添加一个新的字符串参数,例如“browserName”。并在您的测试中添加以下代码,其中 webdriver 被初始化: String browserName = System.getenv("browserName"); 之后,您可以根据到给定的参数。我希望它有所帮助,但如果您有任何问题,请不要犹豫再问一次 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 2014-02-13
  • 2021-12-21
相关资源
最近更新 更多