天天看點

【6】selenium前端自動化

1)下載下傳開發工具idea并安裝

2)引用webdriver,下載下傳webdirver驅動,可以放在resources下面

3)pom添加selenium的依賴

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.4.0</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.21</version>
    </dependency>
    </dependencies>
           

4)通過導入功能,導入selenium的依賴

【6】selenium前端自動化

import org.openqa.selenium.chrome.ChromeDriver;

import org.testng.annotations.Test;

5)通過@test方法,可以将每個方法分開寫

@Test
    public void test() throws Exception {
        System.setProperty("webdriver.chrome.driver", "./src/main/resources/chromedriver");
   //src/main/resources/chromedriver是webdriver的位置
        ChromeDriver driver = new ChromeDriver();
        //初始化webdriver
        driver.get("https://xxx.com");
        //打開想要打開的位址
           

6)定位元素

driver.findElementByCssSelector("a.signup-btn").click();
 //通過css選擇器選擇并點選
 driver.findElementById("password").sendKeys("llww1314");
 //通過id選擇器選擇并輸入
 Select sel1 = new Select(driver.findElementByXPath("//select[@id='input-provider']"));
        sel1.selectByValue("數字");
//通過xpath選擇下拉框并選中其中一個選項
((JavascriptExecutor)driver).executeScript("scrollTo(0,10000)");
//滑動到頁面底部
 Thread.sleep(2000);
 //頁面停留
           

ps:chrome可以安裝插件CSS and XPath checker 幫助定位元素

比如<a 裡面的元素,直接輸入a,然後a.xxxxx就可以定位到相應的元素

【6】selenium前端自動化
【6】selenium前端自動化

7)函數應用

public Integer radium(int length) {
        return new Random().nextInt(length);
    }
     //生成随機數
           
if(!isElementExistByXpath(driver, "#allpay input[name='bank_name']")){
            System.out.println("某一步的操作失敗");
        }
      //  如果通過xpath方法沒有找到對應的元素,将會列印出“某一步的操作失敗”
  public boolean isElementExistByXpath(ChromeDriver driver, String xpath){
        try{
            driver.findElementByXPath(xpath);
            return true;
        }catch(NoSuchElementException var){
            return false;
        }
    }
    //上述用到的判斷需要先聲明對應的方法用來調用
           

8)過程中遇到的問題

8.1)報錯提示:chromedriver not fund

原因:位址路徑不存在

解決辦法:cd 路徑,找到路徑

ls 找到路徑下所有的應用,找到chromedriver的路徑

8.2)driver is not executable

原因:不可執行,沒有權限

解決辦法:ls -al檢視權限 顯示-rw-r–r--表示沒有權限

然後執行chmod 777chrome driver 權重限即可 然後通過ls -al檢視

繼續閱讀