java selenium

作者:原创时间:2022-04-19
文档

   

java selenium是什么?让我们一起来了解一下吧!

java selenium是java中的应用在web应用程序测试上的一个工具。selenium可以直接在浏览器中实行,例如ie浏览器、google chrome浏览器等。

Selenium的关键Selenium Core是基于JsUnit,它完全由JavaScript进行编写,所以可以用于任一支持JavaScript的浏览器上。
selenium可以模拟真实浏览器,自动化测试工具,兼容多种浏览器,爬虫中主要用来解决JavaScript渲染问题。

实战举例,具体步骤如下:

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
 
public class BJSocialinsurance {
    private WebDriver driver;
    
    // 初始化
    public void setUp(){
         System.out.println("setUp");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--test-type");
        Map prefs = new HashMap();
        prefs.put("lang", "zh_CN.UTF-8");
        prefs.put("prompt_for_download", true);
        //options.addArguments("--start-maximized");
        //prefs.put("download.default_directory", "/pathToDownloadFolder");
        prefs.put("download.prompt_for_download", true);
        prefs.put("download.directory_upgrade", true);
        prefs.put("safebrowsing.enabled", true);
        options.setExperimentalOption("prefs", prefs);
        driver = new ChromeDriver(options);
    }
    
    // 模拟登录
    public void login() throws InterruptedException {
        // 打开某个网站
        driver.get("https://www.***.com");
        // 放大窗口
        driver.manage().window().setSize(new Dimension(1920, 1080));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请先登录,登录完按回车执行后续任务 :)");
        try {
            br.readLine();
        } catch (IOException ex) {
        }
        Thread.sleep(2000);
        // 获取页面中的iframe 以便于定位到页面元素
        driver.switchTo().frame("center");
        driver.switchTo().frame("leftFrame");
        Thread.sleep(2000);
        // 点击页面中的某个元素
        driver.findElement(By.id("link000")).click();
    }
    
    // 执行某些动作
    private void apply(){
        // 例如点击某个输入框
        driver.findElement(By.id("dataNormalAdd.idCard")).click();
        // 清除输入框中的内容
        driver.findElement(By.id("dataNormalAdd.idCard")).clear();
        // 粘贴动作
        driver.findElement(By.id("dataNormalAdd.idCard")).sendKeys(person.getCardId());
        // 操作页面复选框
        Select personType = new Select(driver.findElement(By.id("personType")));
        // 给复选框赋值
        personType.selectByIndex(0);
    }
    
    // 关闭浏览器
    public void tearDown(){
        driver.quit();
    }
    
    // 开始执行动作
    public static void main(String[] args) throws AWTException, InterruptedException {
        // 初始化
        setUp();
        // 登录
        login();
        // 执行操作
        apply();
        // 关闭
        tearDown();
    }
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java semaphore java separator java sequence java serializable java serializable接口 java serialversionuid java setlayout java platform java settimeout java plug-in java sftp java plugin java pojo java portal java sha256加密 java shuffle java simhash java simpledateformat java sizeof java sm3加密 java selector java script java sandbox java rxjava java runtime.exec java runnable java rtp java rsa私钥加密 java rsa公钥加密 java pipeline java ping java phoenix java paypal java path java rsa加密 java rotate java reverse java reverse() java retrofit java resume