maven - 如何通过从 Web 界面单击来触发 Junit/Testng 测试运行

标签 maven testing selenium automation testng

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

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

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

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

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

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

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

最佳答案

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

To programmatically schedule a new build, post to this URL: http://{jenkins_url}/job/{project_name}/build. If the build has parameters, post to this URL: http://{jenkins_url}/job/{project_name}/buildWithParameters and provide the parameters as form data.

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

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

关于maven - 如何通过从 Web 界面单击来触发 Junit/Testng 测试运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22926009/

相关文章:

javascript - 使用 selenium 和 python 在文本框中快速写入

java - 如何从 Jenkinsfile 执行 Maven 发布?

java - 为什么包含 cxf-rt-rs-client 会破坏 jersey-media-json-processing

testing - Vertx 使用 Handler<AsyncResult<>> 参数模拟一个异步方法

javascript - element.all(locator).first() vs element(locator) 有警告?

unit-testing - 测试未在 Play Framework 2.0 中执行

Maven 搜索 site.xml 缺少的英语语言环境

java - 构建时 Maven MOJO 执行失败

java - 线程 "main"org.openqa.selenium.NoSuchElementException : Unable to locate element 中的异常

c# - Selenium 设置偏好目录