当前位置: 首页 > 知识库问答 >
问题:

在cucumber中的其他功能中使用相同的变量值

阎建华
2023-03-14

以下是我的功能和步骤定义

@Regression
  Scenario: Validate workflow with research ticket having risk rating 3 and Complexity as No known difficulty (assign to other)
    When "Analyst" logs in to application
    Then "MISToolKit" page should appear
    Then User navigates to "ResearchTicketDashboard" page
    When A research ticket with risk rating 3 is created or selected
    #Then It should be displayed in Awaiting research tab
    Then I Assign that ticket to other analyst

  @Smoke
  Scenario: Validate if ticket having risk rating 3 and No known difficulty complexity is properly processed on other analyst login
    When "otheranalyst" logs in to application
    Then "MISToolKit" page should appear
    Then User navigates to "ResearchTicketDashboard" page
    Then Ticket assigned should be displayed in In research tab of that analyst
    When Set complexity as No known difficulty and clicked on commit
    Then It should be displayed in Awaiting Review tab
    credentials



String researchticketId;

@When("A research ticket with risk rating {int} is created or selected")
    public void a_research_ticket_with_risk_rating_is_created_or_selected(Integer int1) {
        rs.selectriskratingandresearchattribute();
        researchticketId=rs.getrefidlist().get(0).getAttribute("innerHTML");
        System.out.println(researchticketId);
        WaitActions.wait(3000);
    }

@Then("Ticket assigned should be displayed in In research tab of that analyst")
    public void ticket_assigned__should_be_displayed_in_in_research_tab_of_that_analyst() {
        rs.clickonInResearchtab();
        rs.waitforfivesec();
        rs.findresearchticketId(researchticketId);
        rs.waitforfivesec();
        Assert.assertEquals(researchticketId, rs.getrefidlist().get(0).getText());

正如你所看到的,@回归功能中的步骤有一个存储在字符串researchtickettid中的值(步骤@When(“创建或选择了风险评级为{int}的研究票证”)),我想在@Smoke功能中使用它,其步骤定义如上所述(@Then(“分配的票证应显示在该分析师的研究选项卡中”))。但在@Smoke feature step定义中,在线rs.findresearchticketId(researchticketId);researchticketId值作为null传递,因此我的测试失败。给出的错误是

java.lang.IllegalArgumentException: Keys to send should be a not null CharSequence
    at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:97)

请帮帮我。

共有1个答案

岑元徽
2023-03-14

将变量research chticketId声明为静态

参考https://www.javatpoint.com/static-keyword-in-java

 类似资料:
  • 问题内容: 我有两个3D探地雷达数据阵列。每个阵列基本上都是延时二维图像的集合,其中时间沿三维方向增加。我想创建一个3D图,该图与每个数组的2D图像相交。 我实质上是在尝试创建围栏图。在以下网站上可以找到此类绘图的一些示例: http //www.geogiga.com/images/products/seismapper_3d_seismic_color.gif http://www.usna.

  • 问题内容: 我需要在其他班上变数。我怎样才能做到这一点? 所以我尝试在Textcl.class中使用,但是得到了。 问题答案: 您将得到空值,因为inString从未按Robert Kilar在注释中正确指出的那样进行初始化。 您可以通过使用类名来引用静态变量。 示例ClassName.variablename。就你而言 运行您的主类。当您运行inString时,将在该类的构造函数中对其进行初始化

  • 我在学习java软件包。我创建了两个包,“main”和“main2”。两个包都有一个同名的类。在这两个类中,我还有一个同名的方法。目前,我正在与包“主要”。 见以下代码: “主”包 “main2”包 在这里我目前正在使用包“main”。在这里我也在导入包“main 2”。现在我想创建一个“main 2”包的“ok”类的对象。由于“main”包已经有一个名为ok的类和相同的方法名,所以它没有调用包m

  • 问题内容: 是否可以使用相同的值替换格式化字符串中的所有变量? 就像是: 会回来的 问题答案: 有可能,但是必须修改格式字符串,必须使用 显式参数索引 : 显式参数索引: 在Printf,Sprintf和Fprintf中,默认行为是为每个格式化动词格式化在调用中传递的连续参数。但是,动词前的符号[n]表示第n个单索引参数将被格式化。宽度或精度的’*’之前的相同符号选择保存该值的参数索引。在处理了带

  • 8. 其他功能 8.1. 点名 点击菜单栏,选择点名,设置签到的时长后,可发起签到,查看学员的在线听课情况。 8.2. 布局切换 点击菜单栏,选择布局切换,可切换课堂布局,包括讲课模式、主视频模式、视频平铺模式,具体可参见第四章节。 8.3. 课堂设置 点击菜单栏,选择设置,可设置全体禁言、全体下麦、连麦方式、视频清晰度等。 全体禁言 禁止所有学员参与文字聊天。 全体关麦 关闭所有学员的麦克风,学

  • 假设我有一个分组数据帧: 然后假设我要对一些现有变量求和: 但是,如果要同时添加两个摘要命令,则无法: 在dplyr链中使用group_by()之后,我如何使用SUMMARSE()添加新功能,以及使用将现有功能相加?