Given I navigate to my setup application
And I published an article
When I open client website
Then I can see the published article
步骤1和步骤2是需要在安装网站上运行的安装步骤,并且只需要在chrome上运行一次来为场景创建安装。一旦完成,那么步骤3和步骤4需要在客户端网站上的不同浏览器/设备(即Chrome,Firefox,Safari,Mobile)上进行检查。
我的框架是用Cucumber和JavaScript编写的。我如何在cucumber中实现这一点,场景的一些步骤只在chrome上运行一次,其余的步骤应该在不同的设备和浏览器上运行?
我相信我不能使用breefore和after hooks,因为每个测试的安装步骤不同,但是breefore和after hooks可以运行于框架中的所有测试。另外,不能使用background,因为background将是每个功能文件中所有测试的background。但在我的例子中,每个测试都有不同的设置。
为什么在这个特定场景中,您需要通过浏览器执行前两个步骤。您肯定知道,一篇发表的文章只是数据存储中的一个记录。当然,您可能有一些场景显示可以使用web界面创建文章。
Scenario: Create article
Given I can create an article
When I create an article
Then I should have created an article
但是一旦你有了这些,你就不再需要在每次你需要创建一篇文章的时候通过你的web界面了。相反,您可以通过
1)直接调用创建文章的服务(首选)2)直接写入数据库以创建适当的文章记录
Scenario: View my published article
Given I have published an article # shortcuts and does not use a browser
When I view my article # uses a browser
Then ...
我试图找出是否有一个选项来找出当前正在执行的cucumber步骤,我试图根据步骤名称执行某些操作。 我可以看到StepDefinitionMatch类获得了这些步骤,但我不确定如何在运行时访问这些步骤。有人帮忙吗?如果有帮助,添加调用堆栈的快照。
我设置了以下测试用例: 我想使用Groovy脚本测试步骤获得SoapRequest测试步骤的状态。 它可以如下所示完成: 但是我不想通过脚本运行TestStep,而只是使用soapui testrunner。在datasink测试步骤中,我可以使用这个: 不幸的是,上述方法在GroovyScript TestStep中不起作用 有什么想法吗?
我目前正在尝试创建我的第一个cucumber测试。在Java Eclipse中,我创建了一个包含以下内容的“功能文件”: 我还创建了以下testrunner文件: 我还创建了我的步骤定义: 公共类LoginStepDefinitions{ } 当我将脚本作为Junit测试运行时,控制台会成功执行测试并显示结果: 但是当打开JUnit选项卡时,会发生两件事: 1)测试步骤似乎没有显示: 2)当我双击
这个问题类似于如何运行github操作步骤,即使前一步失败,但仍然无法完成作业,但接受的答案对我没有帮助,因为它会创建一个额外的作业。 下面我要做的是 当测试应用程序(步骤2)通过时;测试清理步骤应该运行,github操作工作流返回成功 当测试应用程序(步骤2)失败时;应运行测试清洁、行动松弛和失败行动步骤。github操作工作流返回失败 我如何修复下面的代码来实现它?
我已经在GitHub操作中设置了一个工作流来运行我的测试并创建测试覆盖的工件。我的YAML文件的精简版本如下所示: 问题是当测试失败时,工件不会被创建。 我从文档中找到了关于的条件,但这也会导致在我的步骤失败时运行此步骤。我不希望发生这种情况,因为在这种情况下没有什么可归档的。 如果上一步已经运行(成功或失败),我如何才能运行此步骤?