【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的依赖
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 帮助定位元素
比如 【6】selenium前端自动化_第1张图片
【6】selenium前端自动化_第2张图片

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查看

你可能感兴趣的:(前端自动化)