Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jenkins和x2B实现测试自动化;机器人框架_Jenkins_Selenium Webdriver_Automation_Automated Tests_Robotframework - Fatal编程技术网

使用Jenkins和x2B实现测试自动化;机器人框架

使用Jenkins和x2B实现测试自动化;机器人框架,jenkins,selenium-webdriver,automation,automated-tests,robotframework,Jenkins,Selenium Webdriver,Automation,Automated Tests,Robotframework,我们使用Jenkins进行持续集成 我还为robot框架测试用例创建了一个Jenkins作业。但是我在使用Jenkins运行robot框架测试用例时遇到了一个问题 比如说,如果我必须在Jenkins job for robot framework中包含大约300个测试用例,在运行测试用例时,如果任何测试用例失败,那么剩余的测试脚本将无法执行 例如:在运行测试用例时,如果第10个测试用例失败,那么剩余的290个测试用例将不会被执行 在Jenkins中,有没有更好的选择以并发方式运行所有测试用例因此

我们使用Jenkins进行持续集成

我还为robot框架测试用例创建了一个Jenkins作业。但是我在使用Jenkins运行robot框架测试用例时遇到了一个问题

比如说,如果我必须在Jenkins job for robot framework中包含大约300个测试用例,在运行测试用例时,如果任何测试用例失败,那么剩余的测试脚本将无法执行

例如:在运行测试用例时,如果第10个测试用例失败,那么剩余的290个测试用例将不会被执行

在Jenkins中,有没有更好的选择以并发方式运行所有测试用例因此,任何测试用例的失败都不会影响其他测试用例的执行

我唯一的要求是——Jenkins作业中列出的所有测试用例都必须得到执行,即使其间有任何测试用例失败

你能为这个问题提出一个解决方案吗

我必须包括任何其他插件吗

这是詹金斯这项特殊工作的截图- 列出了必要的配置步骤之一:

  • 使用“退出”命令强制您的Robot脚本从shell成功返回 0“以授权插件决定构建是否成功/失败 (默认情况下,当存在任何失败的测试时,Robot将退出并显示错误代码)
  • 因此,如果您的测试脚本返回0,那么jenkins构建不会失败,并且您可以决定您想要显示的状态

  • 为关键测试设置阈值并可选地禁用阈值 只计算通过百分比中的每个测试
  • 作为必要的配置步骤之一列出:

  • 使用“退出”命令强制您的Robot脚本从shell成功返回 0“以授权插件决定构建是否成功/失败 (默认情况下,当存在任何失败的测试时,Robot将退出并显示错误代码)
  • 因此,如果您的测试脚本返回0,那么jenkins构建不会失败,并且您可以决定您想要显示的状态

  • 为关键测试设置阈值并可选地禁用阈值 只计算通过百分比中的每个测试

  • 这不是批量运行测试的好方法。首先,RobotFramework日志只包含上一次测试的结果,即使它们都通过了测试

    问题是,当构建中的“执行Shell”步骤失败时,Jenkins停止构建。正如上面的评论所指出的,您可以尝试使用
    exit 0
    更改返回状态

    但是,不是每个测试都是单独的构建步骤,而是:

    pybot /home/arun/test-cases/228.txt
    pybot /home/arun/test-cases/117.txt
    ...etc
    
    您应该在一个步骤中同时执行它们:

    pybot /home/arun/test-cases/
    

    如果需要控制执行哪些测试,而不是该文件夹及其子文件夹中的所有有效测试文件,请使用。

    这不是批量运行测试的好方法。首先,RobotFramework日志只包含上一次测试的结果,即使它们都通过了测试

    问题是,当构建中的“执行Shell”步骤失败时,Jenkins停止构建。正如上面的评论所指出的,您可以尝试使用
    exit 0
    更改返回状态

    但是,不是每个测试都是单独的构建步骤,而是:

    pybot /home/arun/test-cases/228.txt
    pybot /home/arun/test-cases/117.txt
    ...etc
    
    您应该在一个步骤中同时执行它们:

    pybot /home/arun/test-cases/
    

    如果需要控制执行哪些测试,而不是该文件夹及其子文件夹中的所有有效测试文件,请使用。

    如何运行所有这些测试?你的詹金斯工作是什么样子的?这听起来不像是正常的行为。“任何一个测试用例失败”是指单个测试用例,还是只有一个测试用例但有300个关键字可以断言?您好@Bryan..谢谢您的回复。我对詹金斯比较陌生。我编辑了我的问题,并添加了詹金斯这项特殊工作的截图。你能看一下吗?我通过执行一个包含命令
    pybot/path/to/test/case
    的shell来运行每个测试用例。我刚刚创建了一个包含300个shell的作业(每个都执行一个命令
    pybot……。
    )。这是创造詹金斯工作岗位的正确方式吗“任何一个测试用例失败”意味着如果任何一个测试用例失败(
    pybot…
    ),其余的shell将不会被执行。您如何运行所有这些测试?你的詹金斯工作是什么样子的?这听起来不像是正常的行为。“任何一个测试用例失败”是指单个测试用例,还是只有一个测试用例但有300个关键字可以断言?您好@Bryan..谢谢您的回复。我对詹金斯比较陌生。我编辑了我的问题,并添加了詹金斯这项特殊工作的截图。你能看一下吗?我通过执行一个包含命令
    pybot/path/to/test/case
    的shell来运行每个测试用例。我刚刚创建了一个包含300个shell的作业(每个都执行一个命令
    pybot……。
    )。这是创造詹金斯工作岗位的正确方式吗“任何一个测试用例失败”是指如果任何测试用例失败(
    pybot…
    ),剩余的shell将不会被执行。它们还应确保不使用
    --exitonfailure
    命令行选项。它们还应确保不使用
    --exitonfailure
    命令行选项。感谢@aneroid提供解决方案。欢迎使用。通常情况下,你应该对有帮助的答案进行投票,并接受最适合你的答案。感谢@aneroid提供的解决方案。欢迎使用SO。通常,你应该投票选出对你有帮助的答案,并接受最适合你的答案。