selenium的常用操作
阿新 • • 發佈:2019-02-13
webdrivce -開啟瀏覽器、關閉、最大化視窗 //設定chromedriver的啟動路徑 System.setProperty("webdrivce.chrome.driver",路徑); System.setProperty("webdriver.gecko.driver", pathWebdriver_geckodriver); //System.setProperty("webdriver.firefox.bin","D:\\Mozilla Firefox\\firefox.exe");//若瀏覽器安裝不是預設路徑 //建立chromedriver物件,例項化物件WebDriver driver=new ChromeDriver(); //開啟網頁 //方法一,推薦: drive.get("http://baidu.com"); //方法二: driver.navigate().to("https://www.baidu.com/"); //關閉網頁 driver.close(); driver.quit(); //會停止驅動 //視窗最大化 driver.manage().window().maximize(); webdrivce-瀏覽器視窗大小設定 //建立尺寸物件 Dimension b=new Dimension(600,500); //視窗大小設定 driver.manage().window().setSize(b); 具體操作 //輸入內容 WebElement a = driver.findElement(By.id("subject")); a.sendKeys("海德"); //時間等待 Thread.sleep(3000); //select選擇 Select aSelect=new Select(driver.findElement(By.id("state"))); aSelect.selectByVisibleText("四川省"); //點選 WebElement b = driver.findElement(By.id("submit")); b.click(); //獲取標籤內的值 WebElement a = driver.findElement(By.id("search")); String mm1=a.getText(); //獲取屬性值 WebElement m2 =driver.findElement(By.linkText("我分配的任務")); m2.getAttribute("href"); m2.getAttribute("value"); //斷言,兩個引數是否一致,錯的話會統計出failure錯誤,用例終止 assertEquals("你", m2.getAttribute("value")); //切換frame driver.switchTo().frame("ueditor_0");//切換iframe driver.switchTo().defaultContent(); //或是 //driver.switchTo().parentFrame(); //wait等待 WebDriverWait wait = new WebDriverWait(driver,10);//最長等待10s wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("kw")));//等待元素 //獲取當前網頁 driver.getCurrentUrl(); //滑鼠停留顯示 Actions action = new Actions(driver); WebElement m1=driver.findElement(By.xpath(".//ul[@id='browser']//*[contains(text(),'辦公室主任')]")); action.moveToElement(m1).build().perform(); driver.findElement(By.xpath(".//ul[@id='browser']//*[contains(text(),'辦公室主任')]/*/*[text()='修改']")).click(); 確定取消彈窗 //確定 ok driver.switchTo().alert().accept(); //取消 cancel driver.switchTo().alert().dismiss(); 滾動到元素位置 WebElement b1=driver.findElement(By.xpath(".//*[@id='dialog-authorize']//*[@id='sub_btn']")); ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", b1); 頁面切換: // 1、獲得目前所在的控制代碼 String currentWindow = driver.getWindowHandle(); // 2、獲得所有的控制代碼 Set<String> handles = driver.getWindowHandles(); // 3、切換控制代碼 Iterator<String> it = handles.iterator(); while (it.hasNext()) { if (currentWindow == it.next()) continue; driver.switchTo().window(it.next()); } //4、在切換後的控制代碼中進行操作 java自動化用例關聯excel表格的資料方式(匯入jxl的jar包) String datetime = null; //例項化檔案操作流 InputStream instream = new FileInputStream("/Users/Cedar/EDU/test06.xls"); //例項化 讀檔案的操作物件。並開啟檔案。 jxl.Workbook readwb = Workbook.getWorkbook(instream); //例項化 工作表(序號從0開始。此處設定的是第2個工作表)的操作物件 Sheet readsheet = readwb.getSheet(1); //例項化 單元格(序號從0開始。此處設定的單元格位置是第2列 第3行)的操作物件 Cell cell = readsheet.getCell(1, 2); //讀取 上面這個例項化的單元格內容。內容是字串型別,然後賦值給一個字串變數。 datetime = cell.getContents(); //關閉檔案 readwb.close(); API封裝 公共方法或函式,可以設定返回值,需要的時候匯入包就行了