java—如何在cucumber框架中实现开发和登台的代码

xxb16uws  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(232)

我正在测试工作开发和暂存环境。dev和staging中的数据是不同的,而且当我测试staging时,我不必在后端验证db。如何在框架中应用具有不同条件的代码?我试着使用if条件,例如driver.getcurenturl和if url==dev-->执行此操作,else-->执行此操作。但出于某种原因,如果我的陈述不起作用。

5us2dqdw

5us2dqdw1#

在测试时,处理多个/不同的环境是一个常见的方面。为了支持不同的环境,在实现测试用例和/或步骤时需要遵循一些标准实践。
不要硬编码测试数据,并将其移动到属性中
支持在执行时加载特定于环境的资源和测试数据
关于步骤中的变化,步骤实现是不同的,因此可以将这些步骤移动到单独的包中,并且应该在运行时从适当的包中加载步骤。如果有细微差别,可以在代码中添加条件。
例如:

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();
    }
}

您可以使用qafcumber来实现资源管理功能。
如果您想跳过特定环境的整个步骤,那么在使用cucumber runner时,您不能这样做。但是,如果您已经使用qaf步骤实现(或者使用testng而不是cucumber)创建了步骤,那么在将qaf与cucumber runner一起使用时,您可以利用步骤侦听器和步骤元数据跳过特定环境的整个步骤。

相关问题