HJ3-11.1 參數(shù)化用例

  • 為每個功能創(chuàng)建一個獨立的模塊,將不同的功能獨立開,盡量與其它的 case 隔離開,這樣其它的 case 就不會被不同的 setup,teardown 方法影響,例如:創(chuàng)建 SearchPage.java。通過 Junit5 的參數(shù)化注解來幫我們實現(xiàn)數(shù)據(jù)的構(gòu)造。

  • 依賴導(dǎo)入

<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter-params</artifactId>
  <version>5.4.2</version>
  <scope>test</scope>
</dependency>
   @ParameterizedTest
    @MethodSource("byNameGetPrice")
    public void priceTest(String name, String code, double price){
        driver.findElement(By.id("com.xueqiu.android:id/home_search")).click();
        driver.findElement(By.id("com.xueqiu.android:id/search_input_text")).sendKeys(name);
        driver.findElement(By.xpath("http://*[@text='" + code + "'")).click();
        System.out.println(driver.findElement(By.xpath("http://*[@text='" + code + "']/../../..//*[@resource-id='com.xueqiu.android:id/current_price']")).getText());
        String realPrice = driver.findElement(By.xpath("http://*[@text='\" + code + \"']/../../..//*[@resource-id='com.xueqiu.android:id/current_price']")).getText();
        driver.findElement(By.id("com.xueqiu.android:id/aciton_close")).click();
        assertThat(parseDouble(realPrice), greaterThan(price));


    }

    private static Stream<Arguments> byNameGetPrice(){
        return Stream.of(Arguments.of("alibaba", "", 210d),
                Arguments.of("wangyi", "NTES", 250d),
                Arguments.of("baidu", "BAIDU", 180d),
                Arguments.of("google", "GOOGL", 200d)
                );
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容