我从传递 url、用户名和密码的其他功能文件中调用登录功能文件,但它对我不起作用。我在这里没有使用背景键,我也不想使用。
@CallAnotherFeature
Feature: Call Login Feature
Scenario: Calling Login Test
* def config = { endPointURL: 'https://qa1.testurl.com/login',username: 'user123', password: 'password123' }
* def result= call read('Login.feature') config
* print result.response
* print 'Sign In-'+signIn
* print 'Sign In Reponse-'+signIn.response
Feature: Login Feature
Scenario: Test Login for different users
* print 'Starting Test','#(endPointURL)'
Given url '#(endPointURL)'
* print 'user name','#(username)'
* print 'Password ','#(password)'
#And form field username = '#(username)'
#And form field password = '#(password)'
And request { username: '#(username)', password: '#(password)'}
When method post
Then status 200
* print response
* match response.loginSuccess == true
在 Login.feature 中,我也尝试将用户名和密码作为表单数据传递,即使这些不起作用。有人可以告诉我我在这里犯了什么错误吗?
我正在使用最新的空手道版本 0.9.0
我在您的脚本中发现了一些问题,
1. 通话登录功能
1.1) 我没看到signIn
变量在此功能的任何位置初始化,也不是从您的login feature
但你正在尝试打印它。
1.2) =
应放置正确;)
* def result = call read('Login.feature') config
2. 登录功能
2.1)我认为您误解了嵌入式表达式的概念。仅当将其模板化为 JSON 时,您才可以使用它。但要调用它,您可以简单地使用变量名称。
eg.
Given url endPointURL
And form field username = username
And request { username: '#(username)', password: '#(password)'}
NOT
Given url '#(endPointURL)'
And form field username = '#(username)'
如果您从这里阅读空手道文档,我会更清楚地告诉您 ->空手道博士并参考空手道演示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)