多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

webUI自动化测试框架简介和Demo入门

更新时间:2022-06-24 09:33:58 作者:多测师 浏览:86

  selenium和webdriver是目前主流的ui自动化测试框架之一,selenium又称为selenium RC,基本原理为js注入,而webdriver是直接利用了浏览器的native support(厂商支持)来操作浏览器,所以,对于不同浏览器,必须依赖一个特定的浏览器native component来实现把webdriver API转化为浏览器的native invoke。在我们新出一个webdriver时,selenium首先会确认浏览器的native component是否存在且版本匹配(所以在使用浏览器驱动时,需要检查该驱动版本与selenium的版本是否匹配,不匹配则不可用),接着在目标浏览器中启动一整套的Web service,这套web service使用了selenium自己设计定义的协议,可以模拟用户操作浏览器做出一系列动作。

webUI自动化测试框架简介和Demo入门

  webUI自动化的环境搭建相比于app简单的多,有jdk,有selenium jar包,有浏览器驱动就够了。

  1.前往官网下载selenium相关jar包:http://www.seleniumhq.org/download/

  2.新建java project,将selenium jar包及lib目录下的jar包add to build path即可。

  3.webdriver常用的方法

  元素定位方法:By.id(id)、By.xpath(xpath)、By.linkText(linkText)、By.className(className)、By.cssSelector(selector);

  点击操作:driver.findElement(By.id(id)).click();

  输入:driver.findElement(By.id(id)).sendKeys("selenium");

  获取文本:driver.findElement(By.id(id)).getText();

  获取对象属性值:driver.findElement(By.id(id)).getAttribute("属性");

  4.接下来我们写个demo

  package com.etyero.testcase;

  import java.util.concurrent.TimeUnit;

  import org.openqa.selenium.By;

  import org.openqa.selenium.WebDriver;

  import org.openqa.selenium.chrome.ChromeDriver;

  import org.testng.Assert;

  import org.testng.annotations.AfterMethod;

  import org.testng.annotations.BeforeMethod;

  import org.testng.annotations.Test;

  public class WebDriverDemo {

  private WebDriver driver;

  private String baseUrl = "http://www.baidu.com";

  private StringBuffer verificationErrors = new StringBuffer();

  @BeforeMethod

  public void setUp() throws Exception {

  String browserDriverUrl = "D:/work/workplace/webUITest/browserDriver/chromedriver.exe";// 浏览器驱动路径

  //启动chrome浏览器

  System.setProperty("webdriver.chrome.driver", browserDriverUrl);

  driver = new ChromeDriver();

  driver.manage().window().maximize();// 最大化浏览器

  driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);//设置操作超时时长,该设置是全局性的,即所有操作都最长等待30s

  }

  @Test

  /**

  * 搜索selenium

  *

  * */

  public void testLogin() throws Exception {

  driver.get(baseUrl);

  driver.findElement(By.id("kw")).clear();// 按id找到元素后,清空该元素

  driver.findElement(By.id("kw")).sendKeys("selenium");// 输入selenium

  driver.findElement(By.id("su")).click(); //点击搜索按钮

  }

  @AfterMethod

  public void tearDown() throws Exception {

  driver.quit();

  String verificationErrorString = verificationErrors.toString();

  if (!"".equals(verificationErrorString)) {

  Assert.fail(verificationErrorString);

  }

  }

  }

  以上内容为大家介绍了webUI自动化测试框架简介和Demo入门,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部