两个不同功能文件中的多个场景大纲和示例。如何重用从一个功能文件到另一个功能文件的Java步骤? 功能 - > ANPost.feature **
Scenario outline : Verify csv file accept
When User perform the post request with localhost <port> <endpoint> <filename>
Then Response contains 201 and response message “Created”
***Example:***
|port|endpoint|filename|
|8080|api/v1/admin|AN.csv|
功能 - &gt; BNPost.feature
***Scenario outline :*** Verify csv file accept
When User perform the post request with localhost <port> <endpoint> <filename>
Then Response contains 201 and response message “Created”
***Example:***
|port|endpoint|filename|
|8080|api/v1/admin|AN.csv|
ANPost.java (ANPost.feature的实施代码) BNPost.java (BNPost.feature的实现代码)1,ANPost和BNPost是功能文件夹中的separefiles。虽然实施相同 在2个不同的java文件中的步骤我得到了“重复实现 错误”
任何人都可以帮助我。
答案 0 :(得分:0)
不需要在两个不同的类中定义相同的步骤定义。删除其中一个类,框架将通过正则表达式匹配自动选取匹配的步骤定义方法。对于每个场景,加载来自glue变量的所有步骤定义类,以便任何单个实现都可以工作。
答案 1 :(得分:0)
使用qaf网络服务支持,您可以写如下:
Scenario Outline: Search Keyword using data from file
When user requests 'myservice.postfile' with data '${args[0]}'
Then response should have status code '<status code>'
And response should have status '<status name>'
Examples:
| port| endpoint | filename | status code| status name |
| 8080 | api/v1/admin | resources/testdata/AN.csv | 201 | Created |
| 8080 | api/v1/admin | resources/testdata/BN.csv | 400 | BAD_REQUEST |
其中myservice.postfile
是请求调用,您可以在xml中定义请求调用,如:
<requests>
<myservice>
<postfile>
<baseurl>http://myhost:${port}</baseurl>
<endPoint>http://myhost:${endpoint}</endPoint>
<method>POST</method>
<form-parameters>{
'data':'file:${filename}'
}
</form-parameters>
</postfile>
</myservice>
<requests>
注意:这只是示例,可以通过最有效的方式使用qaf功能来增强它。