web自动化

2020-03-23  本文已影响0人  黑咔

1、selenium的工作原理是什么?
通过Selenium测试脚本调用webDriver驱动相对于浏览器进行测试

2、你们web自动化是怎么做的?

  1. 先引入selenium的jar包和下载相对应的webDriver版本
  2. 然后用System.setProperty配置webdriver的路径,让系统能找到webDriver
    System.setProperty("webdriver.chrome.driver", "webDriver/chromedriver.exe");
  3. 通过webDriver对象的实例化,完成端口和浏览器的启动
    WebDriver driver=new ChromeDriver();
  4. 通过driver.get方法访问url地址
    driver.get(url);
  5. 通过driver.findElement(By.name)来查找元素名,并实例化WebEelement对象用于定位元素。
    WebElement element = driver.findElement(By.name("wd"));
  6. 通过element.sendKeys完成输入操作
    element.sendKeys("Word");
  7. 通过element.submit完成提交
    element.submit();
  8. 通过driver.getTitle获取页面Title
    System.out.println(driver.getTitle());
  9. 使用driver.quit关闭浏览器和driver的进程
    driver.quit();

3.三种等待方式,怎么使用?
1、显示等待 (设定一个预期的超时时间,等待某个事件的发生):

  1. 先实例化一个WebDriverWait填写driver和等待的时间
    WebDriverWait Wait = new WebDriverWait(driver, 10);
  2. 使用until中的ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath)完成某个元素的等待
    Wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("xpath")));

2、隐式等待 (等待driver.findelement方法定位的元素能够被定位到)
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
隐式等待的优势:只需设置一次,在driver实例化完成之后进行设置,在driver关闭之前,全局范围之内只要调用driver.findelement方法,都会生效进行等待。所以在driver实例化之后,直接加上隐式等待。
3、强制等待 Thread.sleep(1*1000)

上一篇 下一篇

猜你喜欢

热点阅读