Selenium+Java——测试Web端的方法集合(四)
13、浏览器操作
//1.访问网页 driver.get("https://www.xxxxx.com/"); //2.关闭整个浏览器 driver.quit(); //3.关闭当前页面 driver.close(); //4.获取当前页面的源代码 String pageSource = driver.getPageSource(); //5.获取当前页面的 URL String currentUrl = driver.getCurrentUrl(); //6.获取当前页面的标题 String title = driver.getTitle(); //7.获取对象的内存地址的哈希码 int hashCode = driver.hashCode(); //8.获取当前活动窗口的句柄 String currentWindowHandle = driver.getWindowHandle(); /*---------------------------------------页面操作/导航方法------------------------------------------*/ //1.导航到一个网页 driver.navigate().to("https://www.xxxxx.com/"); //2.用于模拟浏览器的前进操作 driver.navigate().forward(); //3.用于模拟浏览器的后退操作 driver.navigate().back(); //4.用于模拟浏览器的刷新操作 driver.navigate().refresh(); /*-------------------------------------------窗口操作----------------------------------------------*/ //1.切换到全屏模式 driver.manage().window().fullscreen(); //2.最大化窗口 driver.manage().window().maximize(); //3.按照窗口指定大小显示 driver.manage().window().setSize(new Dimension(800, 600)); //4.设置窗口位置 driver.manage().window().setPosition(new Point(100, 100)); //5.获取窗口大小 Dimension size = driver.manage().window().getSize(); //6.获取窗口位置 Point position = driver.manage().window().getPosition(); //7.获取当前浏览器支持的输入法引擎列表 List<String> availableEngines = driver.manage().ime().getAvailableEngines(); //8.获取当前浏览器的激活输入法引擎 String activeEngine = driver.manage().ime().getActiveEngine(); //9.切换到中文输入法 driver.manage().ime().activateEngine("com.sohu.inputmethod.sogou/.SogouIME"); //10.将浏览器的输入法切换回默认状态或者禁用输入法 driver.manage().ime().deactivate(); /*-----------------------------------------Cookies管理---------------------------------------------*/ //1.获取当前页面的所有cookies driver.manage().getCookies(); //2.获取指定名称的cookie driver.manage().getCookieNamed("cookieName"); //3.添加一个cookie driver.manage().addCookie(cookie); //4.删除所有的cookies driver.manage().deleteAllCookies(); //5.删除指定名称的cookie driver.manage().deleteCookieNamed("cookieName"); //6.删除指定的cookie driver.manage().deleteCookie(cookie); /*-------------------------------------------超时设置----------------------------------------------*/ //1.设置页面加载超时时间 driver.manage().timeouts().pageLoadTimeout(30,TimeUnit.SECONDS); //2.设置隐式等待时间 driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); //3.设置异步脚本执行超时时间 driver.manage().timeouts().setScriptTimeout(30,TimeUnit.SECONDS);
14、截图操作页面
// 将 WebDriver 类型转换为 TakesScreenshot 类型 TakesScreenshot ts = (TakesScreenshot) driver; // 获取截图文件 File screenshotFile = ts.getScreenshotAs(OutputType.FILE); // 将截图文件复制到指定目录下 String timestamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); String screenshotFileName = "screenshot_" + timestamp + ".png"; File destinationFile = new File("path/to/screenshots/" + screenshotFileName); FileHandler.copy(screenshotFile, destinationFile);
15、键盘操作
//回格键(BackSpace) driver.findElement(By.id("element-id")).sendKeys(Keys.BACK_SPACE); //空格键(Space) driver.findElement(By.id("element-id")).sendKeys(Keys.SPACE); //制表键(Tab) driver.findElement(By.id("element-id")).sendKeys(Keys.TAB); //回退键(Esc) driver.findElement(By.id("element-id")).sendKeys(Keys.ESCAPE); //回车键(Enter) driver.findElement(By.id("element-id")).sendKeys(Keys.ENTER); //全选(Ctrl+A) driver.findElement(By.id("element-id")).sendKeys(Keys.CONTROL,'A'); //复制(Ctrl+C) driver.findElement(By.id("element-id")).sendKeys(Keys.CONTROL,'C'); //剪切(Ctrl+X) driver.findElement(By.id("element-id")).sendKeys(Keys.CONTROL,'X'); //粘贴(Ctrl+V) driver.findElement(By.id("element-id")).sendKeys(Keys.CONTROL,'V');
如果有写的不对或者有追加的地方欢迎补充私聊
#自动化测试##selenium##测试#自动化测试学习 文章被收录于专栏
记录工作中的自动化测试学习内容,例如:手机自动化测试学习,web端自动化测试学习等..