在我的功能文件中输入每个场景的实际场景之前,我正在寻找一种方法来获取每个步骤中传递的所有参数。
示例功能文件:
Feature: Login action
Background:
When "{login url}" is open
Scenario: Registered user provides valid username and password
Given user enters username "{username}" and password "test password"
And user clicks on "btnLogin"
Then user is logged in
我想得到的参数:
到目前为止我所做的尝试:
我已经尝试使用一个公共挂钩,它将自动用于我的所有场景:
public class ScenarioHook {
public ScenarioHook() {
}
@Before
public void setupScenario(Scenario scenario) throws InterruptedException {
//Here I am currently watching the {scenario} object and I can see all the steps
//but I still dont know where to get the passed parameter values.
}
@After
public void teardownScenario() throws InterruptedException {
}
}
更新1:我想这样做的原因是我想操纵字符串(如果可能的话)。e、 g.“{}”中包含的所有数据将在进入实际场景之前转换为其他数据。
CucumberSceanario类不会提供此信息,因为我认为在开始执行场景之前,并没有实际加载和解析所有步骤,而是在场景执行期间逐个解析。我可以考虑的一个选项是创建一个后台步骤,在该步骤中,您将手动包括场景中涉及的所有参数。例如:
Feature: Login action
Background:
Given these parameters are using within this scenario: "{login url}", "{username}", "password", "btnLogin"
When "{login url}" is open
您可以使用@Transform
注释将参数的值更改为步骤定义。
为此,您需要创建一个包含字符串修改逻辑的类,并返回修改后的值。
public class StringTransformer extends Transformer<String>{
public String transform(String value) {
return "transformed "+value;
}
}
接下来,您需要使用方法参数前面的@Transform注释将此类包含在您的步骤定义中。
@When("^Login with (.*?)$")
public void helloHere(@Transform(StringTransformer.class) String userName)
{
System.out.println("TEXT --- " + userName);
}
这应该会给你新的转换字符串。您可以使用它从初始字符串创建对象。(实际上这就是它的用途)
问题内容: 我不知道如何从字符串中获取Unicode字符。例如,如果字符串是“你好”,我如何获得第一个字符“你”? 从另一个地方我得到一种方法: 确实有效。但是我仍然有一些问题: 还有另一种方法吗? 为什么在Go中不能从字符串中获取Unicode字符,却可以获取字节数据? 问题答案: 首先,您可能需要阅读https://blog.golang.org/strings 。它将回答您的部分问题。 Go
本文向大家介绍从Java字符串中获取所有数字,包括了从Java字符串中获取所有数字的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的字符串。 为了仅显示上述字符串中的数字,我们使用了该方法并将所有字符替换为空。 以下是最后的示例,该示例仅显示字符串中的数字。 示例 输出结果
如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数:
问题内容: 我有一个HTML表单字段,其中包含一些URL字符串作为值。示例值是: 等等 如何仅从这些URL /值中获取参数? 请注意,我没有从浏览器地址栏中获取这些字符串。 问题答案: 您可以使用和。
我有一个HTML表单字段< code > $ _ POST[“url”],值是一些URL字符串。 示例值为: 等等。 如何仅从这些 URL/值中获取参数? 请注意,我不是从浏览器地址栏中获取这些字符串的。
我正在从我的数据框中查询一个值,它似乎是“dtype:object”。我只想按原样打印值,而不打印索引或其他信息。我该怎么做? 预期产出:b