我有一个场景,我想用多个用户登录,黄瓜提供了带有示例的场景大纲来执行此操作,但这需要在功能文件中输入用户详细信息。有没有办法将用户详细信息保存在属性文件中并在 Step 定义类中从那里调用它?
如果有,有人可以为我提供带有 gmail 登录场景的示例代码吗?我将 Junit 与我的黄瓜框架一起使用,对 Junit 的任何建议将不胜感激。
谢谢福拉
我有一个场景,我想用多个用户登录,黄瓜提供了带有示例的场景大纲来执行此操作,但这需要在功能文件中输入用户详细信息。有没有办法将用户详细信息保存在属性文件中并在 Step 定义类中从那里调用它?
如果有,有人可以为我提供带有 gmail 登录场景的示例代码吗?我将 Junit 与我的黄瓜框架一起使用,对 Junit 的任何建议将不胜感激。
谢谢福拉
我一直在寻找同样的东西,我发现了很多荒谬的“答案”。过于复杂,实际上超级简单。
我的目标是从 .txt 文件中读取这是我在 ruby 中的解决方案。
#inject environment properties
Given /^I enter the environment url into a field$/ do
File.open("/PATH/TO/YOUR/env.txt") do |envFile|
envFile.each_line do |environment|
puts environment
keyboard_enter_text environment
end
end
end
现在,您可以从 Jenkins 创建一个写入属性文件的参数化构建。中提琴你的测试是动态的,享受吧!
Below is the way you can call the users from property file, still you need to pass the key in your feature file, but you will be able to get the users from property file.
file.Properties
$password = Test@1
$TestUser_1= TestUser1
Scenario Outline: Verify that Retail
And "User" performs login in SignIn page with "<Test_User>" & "Password"
| Fields | Input_Value |
| input_email | <User_Type> |
| input_password | <password> |
| btn_Sign | |
| img_Tick | |
Examples:
| password | User_Type |
| $password | $TestUser_1 | //User these key in a same way in you property file
Create your step def in a way below
to read DataTable from Ghekin
elements = locatorType.raw();
String userName = elements.get(1).get(1); //here you will get $TestUser_1
String password = elements.get(2).get(1); // Here you will get $password
if (userName.contains("$"))
{
userName = webPropHelper.getTestDataProperty(elements.get(1).get(1));
// here you will get the userName defined in you property file against the key TestUser_1
}
if (password.contains("$")) {
password = webPropHelper.getTestDataProperty(elements.get(2).get(1));
// here you will get the Password defined in you property file against the key $password
}
WebElement emailinputbox = getBDDElement(pageName, userName);
WebElement pwdbox = getBDDElement(pageName, password);
是的。
在步骤定义中,您可以做任何您想做的事情。在您的情况下,只需使用一些常规 Java 代码来读取属性文件。
但请注意,就 BDD 而言,这不是“最佳实践”,因为无法访问属性文件的读取器无法再读取您的场景。