selenium(3)----JAVA版本

selenium(3)----JAVA版本_第1张图片

selenium(3)----JAVA版本_第2张图片

动态参数的使用:

1)先对我们所修饰的方法加上@ParameterizedTest表示这个方法是多参数的一个类

2)@MethodSource("数据来源的方法名称")

@MethodSource也可以不指定方法名称,会自动去找和测试方法同名的静态方法

3)进行编写数据来源的方法

4)单参数基本类型:

返回值的类型:Stream<单参数参数的基本类型>

最终返回的数据:Stream.of("单参数基本类型1,单参数基本类型2,单参数基本类型3”);

5)多参数基本类型:

返回值类型:Stream

最终返回的类型:Stream.of(Arguments.arguments("参数类型1,参数类型2")

Arduments.arguments("参数类型1,参数类型2");

 Web收银台测试用例:

1)收银台首页:

1)检测首页能否展示正常的功能,不能以打开界面之后就是空白的啥也没有

2)点击对应的功能展示的结果是正确的

2)上架商品页面:

1)检测上架商品页面是否可以正常的展现元素

2)填写必填项,来添加商品

2.1)正确填写所有必填项项来添加商品---添加成功

.........

3)更新商品信息

3.1)校验商品更新信息页面是否可以正常的展现元素

3.2)填写必填项来进行添加商品

4)浏览商品

4.1)检验浏览商品界面是否可以成功的展示元素

4.2)校验下架按钮是否可以进行点击以及页面是否展示正确

一)验证首页元素是否展示正确

selenium(3)----JAVA版本_第3张图片

1)CommonDriver类里面的代码

selenium(3)----JAVA版本_第4张图片

 

package com.WebTest;

import org.openqa.selenium.chrome.ChromeDriver;

public class commonDriver {
    //创建驱动对象并进行返回
    private static ChromeDriver driver;
    public static ChromeDriver getDriver() {
        if (driver == null) {
            synchronized (Object.class) {
                  if(driver==null){
                      driver=new ChromeDriver();
                  }
            }
        }
        return driver;
    }
}

 2)checkFunexists里面的代码

public class CheckFuncExists {
    private static ChromeDriver driver=commonDriver.getDriver();

    @BeforeAll
    public static void GetUrl(){
        //打开web自动化界面
        driver.get("https://gitee.com/");
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
    }
    @AfterAll
    public static void CloseUrl() throws InterruptedException {
        TimeUnit.SECONDS.sleep(1);
        driver.close();
    }
    //1.检查当前页面展示的功能是否正确,标签里面,展示的信息文字是否合理
    @Test
    public void Test_Run1() throws InterruptedException {
        //1.检测页面展示是否正确
    WebElement element1= driver.findElement(By.cssSelector("#HeaderColorful_gitee-header--colorful__1Wj07 > div > nav:nth-child(1) > ul > li:nth-child(2) > a"));
    String text1=element1.getText();
    WebElement element2=driver.findElement(By.cssSelector("#HeaderColorful_gitee-header--colorful__1Wj07 > div > nav:nth-child(1) > ul > li:nth-child(3) > a"));
    String text2=element2.getText();
    WebElement element3=driver.findElement(By.cssSelector("#HeaderColorful_gitee-header--colorful__1Wj07 > div > nav:nth-child(1) > ul > li:nth-child(4) > a"));
    String text3= element3.getText();
    WebElement element4=driver.findElement(By.cssSelector("#HeaderColorful_gitee-header--colorful__1Wj07 > div > nav:nth-child(1) > ul > li:nth-child(5) > a"));
    String text4=element4.getText();
    Thread.sleep(10);
    //2.进行断言判断
        Assertions.assertEquals(text1,"开源软件");
        Assertions.assertEquals(text2,"企业版");
        Assertions.assertEquals(text3,"高校版");
        Assertions.assertEquals(text4,"私有云");
    }
}

二)验证落地页是否符合预期

selenium(3)----JAVA版本_第5张图片

//2.点击某一个链接,看看最终的一个落地页的展示结果是否符合我们的预期,也就是来进行验证点击之后所验证的功能是正确的
    //找落地页元素对应的文案是否符合预期
    @Test
    @Order(2)
    public void Test_Run2() throws InterruptedException{
        //1.点击企业版免费注册
      WebElement element1=  driver.findElement(By.cssSelector("#__next > main > section.index_section__9dbFl.index_section__TdvRc > div.index_content__sWvy7.relative.overflow-hidden.flex.flex-col > div.index_section-inner__OoAOw.flex.flex-col.items-center.text-center.pt-\\[185px\\].lg\\:pt-\\[165px\\].md\\:pt-\\[140px\\].sm\\:pt-\\[120px\\] > div:nth-child(5) > a.index_btn__BiHOB.mr-4.inline-block.transition-colors.rounded.border.text-\\[20px\\].font-semibold.leading-\\[1\\.4\\].border-none.bg-white.text-\\[\\#1B80FF\\].hover\\:bg-white\\/\\[\\.8\\].px-\\[20px\\].py-\\[10px\\].sm\\:py-\\[8px\\].sm\\:px-\\[16px\\].sm\\:text-\\[16px\\]"));
      if(element1.getText().equals("企业版免费注册")){
          element1.click();
          driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
       //2.检查落地页的元素文本是否符合预期
      String text1= driver.findElement(By.cssSelector("#enterprises-new > div.site-content > div.ui.container > div.ent-create__body > div.ent-create-form > div > div.ent-create-form__content > div.ent-create-form__title-wrap-new.data-step-1 > div")).getText();
      String text2=driver.findElement(By.xpath("//*[@id=\"new_enterprise\"]/div[1]/a[1]")).getText();
          System.out.println(text1);
          System.out.println(text2);
      //3.检测页面上的元素的属性是否符合要求
      WebElement element=driver.findElement(By.xpath("//*[@id=\"new_enterprise\"]/div[1]/a[2]"));
      String href=element.getAttribute("href");
      String className=element.getAttribute("class");
      String innerName=element.getText();
          System.out.println(href);
          System.out.println(className);
          System.out.println(innerName);
      }else{
          return;
      }

    }

三)针对当前页面进行实现注册

selenium(3)----JAVA版本_第6张图片

有时候通常我们比如说在成功删除一篇博客之后,要跳转到博客列表页,这个时候也要写自动化测试脚本来进行验证

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class TestNewWeb {
    @Test
    public void TestOne() throws InterruptedException {
 //1.打开指定页面
  EdgeDriver driver=new EdgeDriver();
  driver.get("https://x.juming.com/zt/mymswz?t=tg_bda14789&bd_vid=11265755981218363802");
  //2.选择注册按钮点击注册
    driver.findElement(By.cssSelector("body > section:nth-child(2) > div > a")).click();
    driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
  //3.进行点击注册
        //3.1进行输入邮箱地址
        WebElement element1=driver.findElement(By.cssSelector("#re_yx"));
        element1.clear();
        element1.sendKeys("[email protected]");
        //3.2进行输入密码
        WebElement element2=driver.findElement(By.xpath("//*[@id=\"reg_form\"]/div[2]/div[2]/div/input"));
        element2.sendKeys("12503487eA!");
        //3.3进行输入收假后
        WebElement element3=driver.findElement(By.xpath("//*[@id=\"reg_form\"]/div[2]/div[3]/div/input"));
        element3.sendKeys("15049631391");
        //4.实现元素拖拽
        Actions actions=new Actions(driver);
        WebElement source=driver.findElement(By.cssSelector("#nc_2_n1z"));
        Dimension dimension1=source.getSize();
        Dimension dimension2=driver.findElement(By.xpath("//*[@id=\"nc_2__scale_text\"]/span")).getSize();
        int x=dimension2.getWidth()-dimension1.getWidth();
        actions.dragAndDropBy(source, dimension2.getWidth()-dimension1.getWidth(), 0).perform();
        //5.点击确认协议按钮
        driver.findElement(By.cssSelector("#iRead")).click();
        //6.点击立即注册按钮
        driver.findElement(By.xpath("//*[@id=\"reg2\"]")).click();
        Thread.sleep(10000);

    }
}

 

你可能感兴趣的:(selenium,测试工具)