Bdd 我想为登录功能编写脚本。我已经为以下功能文件编写了5种类型的用户
查询:我想用不同的用户登录,因为我正在参数化用户类型,并将验证相应的元素w.r.t访问权限 现在在步骤文件中假设:我已经写了Bdd 我想为登录功能编写脚本。我已经为以下功能文件编写了5种类型的用户,bdd,Bdd,查询:我想用不同的用户登录,因为我正在参数化用户类型,并将验证相应的元素w.r.t访问权限 现在在步骤文件中假设:我已经写了 @Then ("^User logged in with \"([^\"]*)\"$) Public void User_logged_in_with_Usertype() { If (Usertype= Admin){ ... 所以在上面的代码中,我将如何获得admin或任何其他用户的值(我们可以从功能文件中获得相同的值吗,或者我需要为每个用户分别编写
@Then ("^User logged in with \"([^\"]*)\"$)
Public void User_logged_in_with_Usertype() {
If (Usertype= Admin){
...
所以在上面的代码中,我将如何获得admin或任何其他用户的值(我们可以从功能文件中获得相同的值吗,或者我需要为每个用户分别编写代码)
功能:作为一个用户,我想与不同的用户一起登录FMJ重新设计应用程序
故事:用户正在登录FMJ应用程序
场景概述:用户使用管理员用户凭据登录
Given Navigating BU to "<Browser>"
When User clicks on Location
And ForevermarkJewellerWebsite element should be present on login page
Then User logged in with "<Usertype>"
And User will check visibility of "<Element>"
Then User Logout Successfully
Examples:
|Browser | UserType | Element |
|Chrome | Admin | |
|Chrome | Market | |
|Chrome | Jeweller | |
|Chrome | Store | |
给定导航到“”
当用户单击位置时
并且ForevermarkJewellerWebsite元素应该出现在登录页面上
然后用户使用“”登录
并且用户将检查“”的可见性
然后用户成功注销
示例:
|浏览器|用户类型|元素|
|铬|管理||
|铬|市场||
|铬|珠宝商||
|铬|商店||
获取Usertype值的方法是将其作为方法中的参数
您的代码如下所示:
@Then ("^User logged in with \"([^\"]*)\"$)
Public void User_logged_in_with_Usertype() {
If (Usertype= Admin){
...
@Then("^User logged in with (.*)$")
public void user_logged_in_with(String userType) throws Throwable {
if (userType.equals("Admin")) {
// implement our behaviour here
}
}
我重写了你的场景提纲,最后得到了这个版本
Scenario Outline: User is logged in with Admin user credentials
Given Navigating BU to <Browser>
When User clicks on Location
And ForevermarkJewellerWebsite element should be present on login page
Then User logged in with <UserType>
And User will check visibility of <Element>
Then User Logout Successfully
Examples:
| Browser | UserType | Element |
| Chrome | Admin | |
| Chrome | Market | |
| Chrome | Jeweller | |
| Chrome | Store | |
这里有一些区别需要注意:
- 我删除了示例中参数周围的引号
- 我将UsertType的值作为参数添加到方法
user\u logged\u in\u中
@Then("^User logged in with Admin$")
public void user_logged_in_with_Admin() throws Throwable {
// implement our behaviour here
}
这进一步简化了正则表达式并消除了捕获组的需要。Hi,但现在我收到了Usertype步骤的错误消息,如下所示:算术不匹配:步骤定义'com.digital.app.fmj.mmd.LoginFMJ.Logged_in_as_Usertype_in_fmj()文件中的:/D:/AjayBackUp%20D%20Drive/Java/Cucumber_Basics/FMJ Digital App Project/bin/,模式为[^以(.*)登录到FMJ$]中,声明为0个参数。但是,小黄瓜步骤有1个参数[Admin]。步骤:并在FMJThanks中以管理员身份登录。我的查询已解决。谢谢你的帮助。