public void doCheckOut(){
//fill Credit Card Details
//credit card details will be provided in properties and that will be loaded for environment by resource manager
sendKeys(getBundle().getString("cc.number"),"input.ccnumber.loc");
...
if(getBundle().getString("env.name").equalsIgnoreCase("dev"){
//only run for dev env
click_checkOutBtn();
}
}
1条答案
按热度按时间5us2dqdw1#
在测试时,处理多个/不同的环境是一个常见的方面。为了支持不同的环境,在实现测试用例和/或步骤时需要遵循一些标准实践。
不要硬编码测试数据,并将其移动到属性中
支持在执行时加载特定于环境的资源和测试数据
关于步骤中的变化,步骤实现是不同的,因此可以将这些步骤移动到单独的包中,并且应该在运行时从适当的包中加载步骤。如果有细微差别,可以在代码中添加条件。
例如:
您可以使用qafcumber来实现资源管理功能。
如果您想跳过特定环境的整个步骤,那么在使用cucumber runner时,您不能这样做。但是,如果您已经使用qaf步骤实现(或者使用testng而不是cucumber)创建了步骤,那么在将qaf与cucumber runner一起使用时,您可以利用步骤侦听器和步骤元数据跳过特定环境的整个步骤。