1、selenium的工作原理是什么?
通过Selenium测试脚本调用webDriver驱动相对于浏览器进行测试
2、你们web自动化是怎么做的?
- 先引入selenium的jar包和下载相对应的webDriver版本
- 然后用System.setProperty配置webdriver的路径,让系统能找到webDriver
System.setProperty("webdriver.chrome.driver", "webDriver/chromedriver.exe");
- 通过webDriver对象的实例化,完成端口和浏览器的启动
WebDriver driver=new ChromeDriver();
- 通过driver.get方法访问url地址
driver.get(url);
- 通过driver.findElement(By.name)来查找元素名,并实例化WebEelement对象用于定位元素。
WebElement element = driver.findElement(By.name("wd"));
- 通过element.sendKeys完成输入操作
element.sendKeys("Word");
- 通过element.submit完成提交
element.submit();
- 通过driver.getTitle获取页面Title
System.out.println(driver.getTitle());
- 使用driver.quit关闭浏览器和driver的进程
driver.quit();
3.三种等待方式,怎么使用?
1、显示等待 (设定一个预期的超时时间,等待某个事件的发生):
- 先实例化一个WebDriverWait填写driver和等待的时间
WebDriverWait Wait = new WebDriverWait(driver, 10);
- 使用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)
网友评论