我的项目已经使用其他工具存在端到端场景。我们正在使用NoraUI重现我们的场景。该方案已经复制并正常运行,但具有硬编码的测试数据。
我们希望将我们项目中的动态测试数据生成重现为这一项,但是生成它们是一种非常复杂的方法 我们的数据库有多个查询,可以根据先例和其他条件的结果进行更改。
目前似乎只有三种方法可以将数据注入到场景中:
这是通过在运行开始时启动的ScenarioInitiator实现的。
有没有办法添加自定义方式将数据注入场景,或者例如在注入数据之前在XLSX文件中生成数据而不需要其他项目?
答案 0 :(得分:1)
在您的XxxxxRobot.properties文件中:
# type of dataProvider (EXCEL, CSV, DB, REST, noraui.data.xxx.YourCustomDataProvider)
dataProvider.in.type=noraui.data.json.CustomJsonDataProvider
dataProvider.out.type=noraui.data.json.CustomJsonDataProvider
CustomJsonDataProvider类的示例:
package noraui.data.json;
import noraui.data.CommonDataProvider;
import noraui.data.DataInputProvider;
import noraui.data.DataOutputProvider;
import noraui.exception.TechnicalException;
public class CustomJsonDataProvider extends CommonDataProvider implements DataInputProvider, DataOutputProvider {
public CustomJsonDataProvider() {
super();
logger.info("data provider used is ...");
}
@Override
public void prepare(String scenario) throws TechnicalException {
// TODO Auto-generated method stub
}
@Override
public void writeFailedResult(int line, String value) throws TechnicalException {
// TODO Auto-generated method stub
}
@Override
public void writeWarningResult(int line, String value) throws TechnicalException {
// TODO Auto-generated method stub
}
@Override
public void writeSuccessResult(int line) throws TechnicalException {
// TODO Auto-generated method stub
}
@Override
public void writeDataResult(String column, int line, String value) throws TechnicalException {
// TODO Auto-generated method stub
}
@Override
public int getNbLines() throws TechnicalException {
// TODO Auto-generated method stub
return 0;
}
@Override
public String readValue(String column, int line) throws TechnicalException {
// TODO Auto-generated method stub
return null;
}
@Override
public String[] readLine(int line, boolean readResult) throws TechnicalException {
// TODO Auto-generated method stub
return null;
}
}